[Enhanced EMF Generation] Migration of EMF Generation Patterns to Mars

Bug: 468275

Change-Id: Iba63f8bc9699ba748a50e73983d09a61df3604be
Signed-off-by: Thomas Guiu <thomas.guiu@soyatec.com>
diff --git a/portfolio/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF b/portfolio/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
index 5948a0a..b628d2f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
+++ b/portfolio/org.eclipse.egf.emf.pattern/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2

 Bundle-Name: %pluginName

 Bundle-SymbolicName: org.eclipse.egf.emf.pattern;singleton:=true

-Bundle-Version: 1.1.0.2_11_0_qualifier

+Bundle-Version: 1.1.0.2_11_0_v20150518-0831_qualifier

 Bundle-ClassPath: .

 Bundle-Vendor: %providerName

 Bundle-Localization: plugin

diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/BuildProperties.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/BuildProperties.java
index 4c74a1c..867e885 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/BuildProperties.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/BuildProperties.java
@@ -1,225 +1,224 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class BuildProperties extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized BuildProperties create(String lineSeparator) {

-		nl = lineSeparator;

-		BuildProperties result = new BuildProperties();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + NL + "bin.includes = ";

-	protected final String TEXT_3 = ",\\";

-	protected final String TEXT_4 = NL + "               icons/,\\";

-	protected final String TEXT_5 = NL + "               META-INF/,\\";

-	protected final String TEXT_6 = NL + "               plugin.xml,\\";

-	protected final String TEXT_7 = NL + "               plugin.properties" + NL + "jars.compile.order = ";

-	protected final String TEXT_8 = NL + "source.";

-	protected final String TEXT_9 = " = ";

-	protected final String TEXT_10 = NL + "output.";

-	protected final String TEXT_11 = " = bin/" + NL;

-	protected final String TEXT_12 = NL;

-	protected final String TEXT_13 = NL;

-

-	public BuildProperties() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(TEXT_13);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditProjectDirectory() + "/build.properties";

-		overwrite = genModel.isUpdateClasspath()

-				&& !new CodegenGeneratorAdapter(parameter).exists(new CodegenGeneratorAdapter(parameter).toURI(

-						genModel.getEditProjectDirectory()).appendSegment("plugin.xml"));

-		encoding = "ISO-8859-1";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2010 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getEditPluginID() + ".jar" : ".";

-		List<String> sourceFolders = genModel.getEditSourceFolders();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(pluginClassesLocation);

-		stringBuffer.append(TEXT_3);

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_4);

-		}

-		if (genModel.isBundleManifest()) {

-			stringBuffer.append(TEXT_5);

-		}

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_6);

-		}

-		stringBuffer.append(TEXT_7);

-		stringBuffer.append(pluginClassesLocation);

-		boolean first = true;

-		for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) {

-			String sourceFolder = i.next();

-			if (i.hasNext()) {

-				sourceFolder += ",\\";

-			}

-			if (first) {

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(pluginClassesLocation);

-				stringBuffer.append(TEXT_9);

-				stringBuffer.append(sourceFolder);

-				first = false;

-			} else {

-				stringBuffer.append(sourceFolder);

-			}

-		}

-		stringBuffer.append(TEXT_10);

-		stringBuffer.append(pluginClassesLocation);

-		stringBuffer.append(TEXT_11);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		canGenerate = canGenerate && true;

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class BuildProperties extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized BuildProperties create(String lineSeparator) {
+		nl = lineSeparator;
+		BuildProperties result = new BuildProperties();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + NL + "bin.includes = ";
+	protected final String TEXT_3 = ",\\";
+	protected final String TEXT_4 = NL + "               icons/,\\";
+	protected final String TEXT_5 = NL + "               META-INF/,\\";
+	protected final String TEXT_6 = NL + "               plugin.xml,\\";
+	protected final String TEXT_7 = NL + "               plugin.properties" + NL + "jars.compile.order = ";
+	protected final String TEXT_8 = NL + "source.";
+	protected final String TEXT_9 = " = ";
+	protected final String TEXT_10 = NL + "output.";
+	protected final String TEXT_11 = " = bin/" + NL;
+	protected final String TEXT_12 = NL;
+	protected final String TEXT_13 = NL;
+
+	public BuildProperties() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(TEXT_13);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditProjectDirectory() + "/build.properties";
+		overwrite = genModel.isUpdateClasspath()
+				&& !new CodegenGeneratorAdapter(parameter).exists(new CodegenGeneratorAdapter(parameter)
+						.toURI(genModel.getEditProjectDirectory()).appendSegment("plugin.xml"));
+		encoding = "ISO-8859-1";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2010 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getEditPluginID() + ".jar" : ".";
+		List<String> sourceFolders = genModel.getEditSourceFolders();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(pluginClassesLocation);
+		stringBuffer.append(TEXT_3);
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_4);
+		}
+		if (genModel.isBundleManifest()) {
+			stringBuffer.append(TEXT_5);
+		}
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_6);
+		}
+		stringBuffer.append(TEXT_7);
+		stringBuffer.append(pluginClassesLocation);
+		boolean first = true;
+		for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) {
+			String sourceFolder = i.next();
+			if (i.hasNext()) {
+				sourceFolder += ",\\";
+			}
+			if (first) {
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(pluginClassesLocation);
+				stringBuffer.append(TEXT_9);
+				stringBuffer.append(sourceFolder);
+				first = false;
+			} else {
+				stringBuffer.append(sourceFolder);
+			}
+		}
+		stringBuffer.append(TEXT_10);
+		stringBuffer.append(pluginClassesLocation);
+		stringBuffer.append(TEXT_11);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		canGenerate = canGenerate && true;
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenClass.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenClass.java
index f03d12c..561c07c 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenClass.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenClass.java
@@ -1,138 +1,138 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class CreateChildIconsForGenClass extends org.eclipse.egf.emf.pattern.base.GenClassGIF {

-	protected static String nl;

-

-	public static synchronized CreateChildIconsForGenClass create(String lineSeparator) {

-		nl = lineSeparator;

-		CreateChildIconsForGenClass result = new CreateChildIconsForGenClass();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public CreateChildIconsForGenClass() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenClass genClass = parameter;

-		GenModel genModel = genClass.getGenModel();

-		if (genModel.isCreationCommands() && genModel.isCreationIcons()) {

-			for (GenFeature feature : genClass.getCreateChildFeaturesIncludingDelegation()) {

-				for (GenClass childClass : genClass.getChildrenClasses(feature)) {

-					new CodegenGeneratorAdapter(parameter).generateGIF("edit/CreateChild.gif",

-							genClass.getCreateChildIconFileName(feature, childClass), genClass.getName(),

-							childClass.getName(), false);

-				}

-			}

-		}

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenClass genClass = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class CreateChildIconsForGenClass extends org.eclipse.egf.emf.pattern.base.GenClassGIF {
+	protected static String nl;
+
+	public static synchronized CreateChildIconsForGenClass create(String lineSeparator) {
+		nl = lineSeparator;
+		CreateChildIconsForGenClass result = new CreateChildIconsForGenClass();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public CreateChildIconsForGenClass() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenClass genClass = parameter;
+		GenModel genModel = genClass.getGenModel();
+		if (genModel.isCreationCommands() && genModel.isCreationIcons()) {
+			for (GenFeature feature : genClass.getCreateChildFeaturesIncludingDelegation()) {
+				for (GenClass childClass : genClass.getChildrenClasses(feature)) {
+					new CodegenGeneratorAdapter(parameter).generateGIF("edit/CreateChild.gif",
+							genClass.getCreateChildIconFileName(feature, childClass), genClass.getName(),
+							childClass.getName(), false);
+				}
+			}
+		}
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenClass genClass = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenPackage.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenPackage.java
index 1b3227d..a6e7e91 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenPackage.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/CreateChildIconsForGenPackage.java
@@ -1,149 +1,149 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class CreateChildIconsForGenPackage extends org.eclipse.egf.emf.pattern.base.GenPackageGIF {

-	protected static String nl;

-

-	public static synchronized CreateChildIconsForGenPackage create(String lineSeparator) {

-		nl = lineSeparator;

-		CreateChildIconsForGenPackage result = new CreateChildIconsForGenPackage();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public CreateChildIconsForGenPackage() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		GenModel genModel = genPackage.getGenModel();

-		if (genModel.isCreationCommands() && genModel.isCreationIcons() && genPackage.isChildCreationExtenders()) {

-			for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> packageEntry : genPackage

-					.getExtendedChildCreationData().entrySet()) {

-				for (Map.Entry<GenClass, List<GenClass.ChildCreationData>> classEntry : packageEntry.getValue()

-						.entrySet()) {

-					GenClass genClass = classEntry.getKey();

-					for (GenClass.ChildCreationData childCreationData : classEntry.getValue()) {

-						if (childCreationData.createClassifier instanceof GenClass

-								&& (childCreationData.delegatedFeature == null || classEntry.getKey()

-										.getAllGenFeatures().contains(childCreationData.delegatedFeature))) {

-							GenClass childClass = (GenClass) childCreationData.createClassifier;

-							GenFeature feature = childCreationData.createFeature;

-							new CodegenGeneratorAdapter(parameter).generateGIF("edit/CreateChild.gif",

-									genClass.getCreateChildIconFileName(genModel, feature, childClass),

-									genClass.getName(), childClass.getName(), false);

-						}

-					}

-				}

-			}

-		}

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class CreateChildIconsForGenPackage extends org.eclipse.egf.emf.pattern.base.GenPackageGIF {
+	protected static String nl;
+
+	public static synchronized CreateChildIconsForGenPackage create(String lineSeparator) {
+		nl = lineSeparator;
+		CreateChildIconsForGenPackage result = new CreateChildIconsForGenPackage();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public CreateChildIconsForGenPackage() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		GenModel genModel = genPackage.getGenModel();
+		if (genModel.isCreationCommands() && genModel.isCreationIcons() && genPackage.isChildCreationExtenders()) {
+			for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> packageEntry : genPackage
+					.getExtendedChildCreationData().entrySet()) {
+				for (Map.Entry<GenClass, List<GenClass.ChildCreationData>> classEntry : packageEntry.getValue()
+						.entrySet()) {
+					GenClass genClass = classEntry.getKey();
+					for (GenClass.ChildCreationData childCreationData : classEntry.getValue()) {
+						if (childCreationData.createClassifier instanceof GenClass
+								&& (childCreationData.delegatedFeature == null || classEntry.getKey()
+										.getAllGenFeatures().contains(childCreationData.delegatedFeature))) {
+							GenClass childClass = (GenClass) childCreationData.createClassifier;
+							GenFeature feature = childCreationData.createFeature;
+							new CodegenGeneratorAdapter(parameter).generateGIF("edit/CreateChild.gif",
+									genClass.getCreateChildIconFileName(genModel, feature, childClass),
+									genClass.getName(), childClass.getName(), false);
+						}
+					}
+				}
+			}
+		}
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Images.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Images.java
index 668166c..748e0fc 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Images.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Images.java
@@ -1,220 +1,219 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Images extends org.eclipse.egf.emf.pattern.base.GenModelJava {

-	protected static String nl;

-

-	public static synchronized Images create(String lineSeparator) {

-		nl = lineSeparator;

-		Images result = new Images();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public interface ";

-	protected final String TEXT_5 = "Images extends ";

-	protected final String TEXT_6 = NL + "{";

-	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Source(\"";

-	protected final String TEXT_8 = "\")" + NL + "\t";

-	protected final String TEXT_9 = " ";

-	protected final String TEXT_10 = "();" + NL;

-	protected final String TEXT_11 = NL + "}";

-	protected final String TEXT_12 = NL;

-	protected final String TEXT_13 = NL;

-	protected final String TEXT_14 = NL;

-

-	public Images() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_13);

-		stringBuffer.append(TEXT_14);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPath = genModel.getEditPluginDirectory();

-		packageName = genModel.getEditPluginPackageName();

-		className = genModel.getEditPluginClassName() + "Images";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2010 Ed Merks 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:

-		 *   Ed Merks - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getEditPluginPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genModel.getEditPluginClassName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genModel.getImportedName("com.google.gwt.resources.client.ClientBundle"));

-		stringBuffer.append(TEXT_6);

-		for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {

-			for (GenClass genClass : genPackage.getGenClasses()) {

-				if (genClass.isImage()) {

-					String image = genClass.getItemIconFileName();

-					image = image.substring(image.lastIndexOf("/icons/") + 1);

-					stringBuffer.append(TEXT_7);

-					stringBuffer.append(image);

-					stringBuffer.append(TEXT_8);

-					stringBuffer.append(genModel.getImportedName("com.google.gwt.resources.client.ImageResource"));

-					stringBuffer.append(TEXT_9);

-					stringBuffer.append(genClass.getItemIconAccessorName());

-					stringBuffer.append(TEXT_10);

-				}

-			}

-		}

-		stringBuffer.append(TEXT_11);

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_12);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT)

-				&& (!genModel.sameEditEditorProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Images extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+	protected static String nl;
+
+	public static synchronized Images create(String lineSeparator) {
+		nl = lineSeparator;
+		Images result = new Images();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public interface ";
+	protected final String TEXT_5 = "Images extends ";
+	protected final String TEXT_6 = NL + "{";
+	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Source(\"";
+	protected final String TEXT_8 = "\")" + NL + "\t";
+	protected final String TEXT_9 = " ";
+	protected final String TEXT_10 = "();" + NL;
+	protected final String TEXT_11 = NL + "}";
+	protected final String TEXT_12 = NL;
+	protected final String TEXT_13 = NL;
+	protected final String TEXT_14 = NL;
+
+	public Images() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_13);
+		stringBuffer.append(TEXT_14);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPath = genModel.getEditPluginDirectory();
+		packageName = genModel.getEditPluginPackageName();
+		className = genModel.getEditPluginClassName() + "Images";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2010 Ed Merks 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:
+		 *   Ed Merks - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getEditPluginPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genModel.getEditPluginClassName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genModel.getImportedName("com.google.gwt.resources.client.ClientBundle"));
+		stringBuffer.append(TEXT_6);
+		for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+			for (GenClass genClass : genPackage.getGenClasses()) {
+				if (genClass.isImage()) {
+					String image = genClass.getItemIconFileName();
+					image = image.substring(image.lastIndexOf("/icons/") + 1);
+					stringBuffer.append(TEXT_7);
+					stringBuffer.append(image);
+					stringBuffer.append(TEXT_8);
+					stringBuffer.append(genModel.getImportedName("com.google.gwt.resources.client.ImageResource"));
+					stringBuffer.append(TEXT_9);
+					stringBuffer.append(genClass.getItemIconAccessorName());
+					stringBuffer.append(TEXT_10);
+				}
+			}
+		}
+		stringBuffer.append(TEXT_11);
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_12);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT)
+				&& (!genModel.sameEditEditorProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemIcon.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemIcon.java
index d421c77..586c55f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemIcon.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemIcon.java
@@ -1,133 +1,133 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemIcon extends org.eclipse.egf.emf.pattern.base.GenClassGIF {

-	protected static String nl;

-

-	public static synchronized ItemIcon create(String lineSeparator) {

-		nl = lineSeparator;

-		ItemIcon result = new ItemIcon();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ItemIcon() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenClass genClass = parameter;

-		if (genClass.isImage()) {

-			new CodegenGeneratorAdapter(parameter).generateGIF("edit/Item.gif", genClass.getItemIconFileName(),

-					genClass.getName(), null, false);

-		} else {

-		}

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenClass genClass = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemIcon extends org.eclipse.egf.emf.pattern.base.GenClassGIF {
+	protected static String nl;
+
+	public static synchronized ItemIcon create(String lineSeparator) {
+		nl = lineSeparator;
+		ItemIcon result = new ItemIcon();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ItemIcon() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenClass genClass = parameter;
+		if (genClass.isImage()) {
+			new CodegenGeneratorAdapter(parameter).generateGIF("edit/Item.gif", genClass.getItemIconFileName(),
+					genClass.getName(), null, false);
+		} else {
+		}
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenClass genClass = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProvider.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProvider.java
index 9b36975..53b22f8 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProvider.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProvider.java
@@ -1,792 +1,783 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProvider extends org.eclipse.egf.emf.pattern.base.GenClassJava {

-	protected static String nl;

-

-	public static synchronized ItemProvider create(String lineSeparator) {

-		nl = lineSeparator;

-		ItemProvider result = new ItemProvider();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the item provider adapter for a {@link ";

-	protected final String TEXT_5 = "} object." + NL + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->"

-			+ NL + " * @generated" + NL + " */" + NL + "public class ";

-	protected final String TEXT_6 = " ";

-	protected final String TEXT_7 = "extends ";

-	protected final String TEXT_8 = NL + "\textends ";

-	protected final String TEXT_9 = NL + "\timplements";

-	protected final String TEXT_10 = NL + "\t\t";

-	protected final String TEXT_11 = ",";

-	protected final String TEXT_12 = NL + "{";

-	protected final String TEXT_13 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_14 = " copyright = ";

-	protected final String TEXT_15 = ";";

-	protected final String TEXT_16 = NL;

-	protected final String TEXT_17 = NL + "\t/**" + NL

-			+ "\t * This constructs an instance from a factory and a notifier." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_18 = "(AdapterFactory adapterFactory)" + NL + "\t{" + NL + "\t\tsuper(adapterFactory);"

-			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This returns the property descriptors for the adapted class." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_19 = NL + "\t@Override";

-	protected final String TEXT_20 = NL + "\tpublic ";

-	protected final String TEXT_21 = " getPropertyDescriptors(Object object)" + NL + "\t{" + NL

-			+ "\t\tif (itemPropertyDescriptors == null)" + NL + "\t\t{" + NL

-			+ "\t\t\tsuper.getPropertyDescriptors(object);" + NL;

-	protected final String TEXT_22 = NL + "\t\t\tadd";

-	protected final String TEXT_23 = "PropertyDescriptor(object);";

-	protected final String TEXT_24 = NL + "\t\t}" + NL + "\t\treturn itemPropertyDescriptors;" + NL + "\t}" + NL;

-	protected final String TEXT_25 = NL + "\t/**" + NL + "\t * This adds a property descriptor for the ";

-	protected final String TEXT_26 = " feature." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void add";

-	protected final String TEXT_27 = "PropertyDescriptor(Object object)" + NL + "\t{";

-	protected final String TEXT_28 = NL;

-	protected final String TEXT_29 = NL + "\t}" + NL;

-	protected final String TEXT_30 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an"

-			+ NL

-			+ "\t * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or"

-			+ NL + "\t * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_31 = NL + "\t@Override";

-	protected final String TEXT_32 = NL + "\tpublic ";

-	protected final String TEXT_33 = " getChildrenFeatures(Object object)" + NL + "\t{" + NL

-			+ "\t\tif (childrenFeatures == null)" + NL + "\t\t{" + NL + "\t\t\tsuper.getChildrenFeatures(object);";

-	protected final String TEXT_34 = NL + "\t\t\tchildrenFeatures.add(";

-	protected final String TEXT_35 = ");";

-	protected final String TEXT_36 = NL + "\t\t}" + NL + "\t\treturn childrenFeatures;" + NL + "\t}" + NL;

-	protected final String TEXT_37 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_38 = NL + "\t@Override";

-	protected final String TEXT_39 = NL + "\tprotected ";

-	protected final String TEXT_40 = " getChildFeature(Object object, Object child)" + NL + "\t{" + NL

-			+ "\t\t// Check the type of the specified child object and return the proper feature to use for" + NL

-			+ "\t\t// adding (see {@link AddCommand}) it as a child." + NL + "" + NL

-			+ "\t\treturn super.getChildFeature(object, child);" + NL + "\t}" + NL;

-	protected final String TEXT_41 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_42 = NL + "\t@Override";

-	protected final String TEXT_43 = NL + "\tpublic boolean hasChildren(Object object)" + NL + "\t{" + NL

-			+ "\t\treturn hasChildren(object, ";

-	protected final String TEXT_44 = ");" + NL + "\t}" + NL;

-	protected final String TEXT_45 = NL + "\t/**" + NL + "\t * This returns ";

-	protected final String TEXT_46 = ".gif." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_47 = NL + "\t@Override";

-	protected final String TEXT_48 = NL + "\tpublic Object getImage(Object object)" + NL + "\t{" + NL

-			+ "\t\treturn overlayImage(object, getResourceLocator().getImage(\"full/obj16/";

-	protected final String TEXT_49 = "\"));";

-	protected final String TEXT_50 = NL + "\t}" + NL;

-	protected final String TEXT_51 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_52 = NL + "\t@Override";

-	protected final String TEXT_53 = NL + "\tprotected boolean shouldComposeCreationImage() " + NL + "\t{" + NL

-			+ "\t\treturn true;" + NL + "\t}" + NL;

-	protected final String TEXT_54 = NL + "\t/**" + NL + "\t * This returns the label text for the adapted class." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_55 = NL + "\t@Override";

-	protected final String TEXT_56 = NL + "\tpublic String getText(Object object)" + NL + "\t{";

-	protected final String TEXT_57 = NL;

-	protected final String TEXT_58 = NL + "\t}" + NL + "\t";

-	protected final String TEXT_59 = NL + "\t/**" + NL

-			+ "\t * This returns the label styled text for the adapted class." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_60 = NL + "\t@Override";

-	protected final String TEXT_61 = NL + "\tpublic Object getStyledText(Object object)" + NL + "\t{";

-	protected final String TEXT_62 = NL;

-	protected final String TEXT_63 = NL + "\t}\t";

-	protected final String TEXT_64 = NL + NL + "\t/**" + NL

-			+ "\t * This handles model notifications by calling {@link #updateChildren} to update any cached" + NL

-			+ "\t * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_65 = NL + "\t@Override";

-	protected final String TEXT_66 = NL + "\tpublic void notifyChanged(Notification notification)" + NL + "\t{" + NL

-			+ "\t\tupdateChildren(notification);";

-	protected final String TEXT_67 = NL + NL + "\t\tswitch (notification.getFeatureID(";

-	protected final String TEXT_68 = ".class))" + NL + "\t\t{";

-	protected final String TEXT_69 = NL + "\t\t\tcase ";

-	protected final String TEXT_70 = ":";

-	protected final String TEXT_71 = NL + "\t\t\t\tfireNotifyChanged(new ";

-	protected final String TEXT_72 = "(notification, notification.getNotifier(), false, true));" + NL

-			+ "\t\t\t\treturn;";

-	protected final String TEXT_73 = NL + "\t\t\tcase ";

-	protected final String TEXT_74 = ":";

-	protected final String TEXT_75 = NL + "\t\t\t\tfireNotifyChanged(new ";

-	protected final String TEXT_76 = "(notification, notification.getNotifier(), true, false));" + NL

-			+ "\t\t\t\treturn;";

-	protected final String TEXT_77 = NL + "\t\t\tcase ";

-	protected final String TEXT_78 = ":";

-	protected final String TEXT_79 = NL + "\t\t\t\tfireNotifyChanged(new ";

-	protected final String TEXT_80 = "(notification, notification.getNotifier(), true, true));" + NL

-			+ "\t\t\t\treturn;";

-	protected final String TEXT_81 = NL + "\t\t}";

-	protected final String TEXT_82 = NL + "\t\tsuper.notifyChanged(notification);" + NL + "\t}" + NL;

-	protected final String TEXT_83 = NL + "\t/**" + NL

-			+ "\t * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children" + NL

-			+ "\t * that can be created under this object." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_84 = NL + "\t@Override";

-	protected final String TEXT_85 = NL + "\tprotected void collectNewChildDescriptors(";

-	protected final String TEXT_86 = " newChildDescriptors, Object object)" + NL + "\t{" + NL

-			+ "\t\tsuper.collectNewChildDescriptors(newChildDescriptors, object);";

-	protected final String TEXT_87 = NL;

-	protected final String TEXT_88 = NL;

-	protected final String TEXT_89 = NL;

-	protected final String TEXT_90 = NL;

-	protected final String TEXT_91 = NL + "\t}" + NL;

-	protected final String TEXT_92 = NL + "\t/**" + NL

-			+ "\t * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_93 = NL + "\t@Override";

-	protected final String TEXT_94 = NL

-			+ "\tpublic String getCreateChildText(Object owner, Object feature, Object child, ";

-	protected final String TEXT_95 = " selection)" + NL + "\t{" + NL + "\t\tObject childFeature = feature;" + NL

-			+ "\t\tObject childObject = child;" + NL;

-	protected final String TEXT_96 = NL + "\t\tif (childFeature instanceof ";

-	protected final String TEXT_97 = " && ";

-	protected final String TEXT_98 = ".isFeatureMap((EStructuralFeature)childFeature))" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_99 = ".Entry entry = (FeatureMap.Entry)childObject;" + NL

-			+ "\t\t\tchildFeature = entry.getEStructuralFeature();" + NL + "\t\t\tchildObject = entry.getValue();" + NL

-			+ "\t\t}" + NL;

-	protected final String TEXT_100 = NL + "\t\tboolean qualify =";

-	protected final String TEXT_101 = NL + "\t\t\tchildFeature == ";

-	protected final String TEXT_102 = NL + NL + "\t\tif (qualify)" + NL + "\t\t{" + NL + "\t\t\treturn getString" + NL

-			+ "\t\t\t\t(\"_UI_CreateChild_text2\",";

-	protected final String TEXT_103 = NL

-			+ "\t\t\t\t new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });"

-			+ NL + "\t\t}" + NL + "\t\treturn super.getCreateChildText(owner, feature, child, selection);" + NL + "\t}"

-			+ NL;

-	protected final String TEXT_104 = NL + "\t/**" + NL

-			+ "\t * Return the resource locator for this item provider's resources." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_105 = NL + "\t@Override";

-	protected final String TEXT_106 = NL + "\tpublic ";

-	protected final String TEXT_107 = " getResourceLocator()" + NL + "\t{";

-	protected final String TEXT_108 = NL + "\t\treturn ((";

-	protected final String TEXT_109 = ")adapterFactory).getResourceLocator();";

-	protected final String TEXT_110 = NL + "\t\treturn ";

-	protected final String TEXT_111 = ".INSTANCE;";

-	protected final String TEXT_112 = NL + "\t}" + NL;

-	protected final String TEXT_113 = NL;

-	protected final String TEXT_114 = NL + "}";

-	protected final String TEXT_115 = NL;

-	protected final String TEXT_116 = NL;

-	protected final String TEXT_117 = NL;

-

-	public ItemProvider() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_116);

-		stringBuffer.append(TEXT_117);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenClass genClass = parameter;

-		targetPath = genClass.getGenModel().getEditDirectory();

-		packageName = genClass.getGenPackage().getProviderPackageName();

-		className = genClass.getProviderClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenClass genClass = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2007 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenClass genClass = (GenClass) argument;

-		GenPackage genPackage = genClass.getGenPackage();

-		GenModel genModel = genPackage.getGenModel();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getProviderPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.addImport("org.eclipse.emf.common.notify.AdapterFactory");

-		genModel.addImport("org.eclipse.emf.common.notify.Notification");

-		String _List = genModel

-				.getImportedName(genModel.useGenerics() ? "java.util.List<org.eclipse.emf.edit.provider.IItemPropertyDescriptor>"

-						: "java.util.List");

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genClass.getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genClass.getProviderClassName());

-		stringBuffer.append(TEXT_6);

-		if (genClass.getProviderImplementsClassNames().isEmpty()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genClass.getProviderBaseClassName() != null ? genClass.getProviderBaseClassName()

-					: genModel.getImportedName("org.eclipse.emf.edit.provider.ItemProviderAdapter"));

-		}

-		if (!genClass.getProviderImplementsClassNames().isEmpty()) {

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genClass.getProviderBaseClassName() != null ? genClass.getProviderBaseClassName()

-					: genModel.getImportedName("org.eclipse.emf.edit.provider.ItemProviderAdapter"));

-			stringBuffer.append(TEXT_9);

-			for (Iterator<String> i = genClass.getProviderImplementsClassNames().iterator(); i.hasNext();) {

-				stringBuffer.append(TEXT_10);

-				stringBuffer.append(genModel.getImportedName(i.next()));

-				if (i.hasNext()) {

-					stringBuffer.append(TEXT_11);

-				}

-			}

-		}

-		stringBuffer.append(TEXT_12);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_14);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_16);

-		}

-		stringBuffer.append(TEXT_17);

-		stringBuffer.append(genClass.getProviderClassName());

-		stringBuffer.append(TEXT_18);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_19);

-		}

-		stringBuffer.append(TEXT_20);

-		stringBuffer.append(_List);

-		stringBuffer.append(TEXT_21);

-		for (GenFeature genFeature : genClass.getPropertyFeatures()) {

-			stringBuffer.append(TEXT_22);

-			stringBuffer.append(genFeature.getCapName());

-			stringBuffer.append(TEXT_23);

-		}

-		stringBuffer.append(TEXT_24);

-		for (GenFeature genFeature : genClass.getPropertyFeatures()) {

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genFeature.getFormattedName());

-			stringBuffer.append(TEXT_26);

-			stringBuffer.append(genFeature.getCapName());

-			stringBuffer.append(TEXT_27);

-			stringBuffer.append(TEXT_28);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.addPropertyDescriptor.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,_List:_List"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("_List", _List);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03mkEWJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//ItemProvider/addPropertyDescriptor.override.javajetinc

-			stringBuffer.append(TEXT_29);

-		}

-		if (!genClass.getChildrenFeatures().isEmpty()) {

-			stringBuffer.append(TEXT_30);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_31);

-			}

-			stringBuffer.append(TEXT_32);

-			stringBuffer

-					.append(genModel.getImportedName(genModel.useGenerics() ? "java.util.Collection<? extends org.eclipse.emf.ecore.EStructuralFeature>"

-							: "java.util.Collection"));

-			stringBuffer.append(TEXT_33);

-			for (GenFeature genFeature : genClass.getChildrenFeatures()) {

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_35);

-			}

-			stringBuffer.append(TEXT_36);

-			if (!genClass.getChildrenFeatures().isEmpty()) {

-				stringBuffer.append(TEXT_37);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_38);

-				}

-				stringBuffer.append(TEXT_39);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-				stringBuffer.append(TEXT_40);

-			}

-		}

-		if (genClass.needsHasChildrenMethodOverride()) {

-			stringBuffer.append(TEXT_41);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_42);

-			}

-			stringBuffer.append(TEXT_43);

-			stringBuffer.append(genModel.isOptimizedHasChildren());

-			stringBuffer.append(TEXT_44);

-		}

-		if (genClass.isImage()) {

-			stringBuffer.append(TEXT_45);

-			stringBuffer.append(genClass.getName());

-			stringBuffer.append(TEXT_46);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_47);

-			}

-			stringBuffer.append(TEXT_48);

-			stringBuffer.append(genClass.getName());

-			stringBuffer.append(TEXT_49);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_50);

-		}

-		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE && !genModel.isCreationIcons()) {

-			stringBuffer.append(TEXT_51);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_52);

-			}

-			stringBuffer.append(TEXT_53);

-		}

-		stringBuffer.append(TEXT_54);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_55);

-		}

-		stringBuffer.append(TEXT_56);

-		stringBuffer.append(TEXT_57);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.getText.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,_List:_List"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("_List", _List);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03wVEGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		//ItemProvider/getText.override.javajetinc

-		stringBuffer.append(TEXT_58);

-		if (genModel.isStyleProviders()) {

-			stringBuffer.append(TEXT_59);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_60);

-			}

-			stringBuffer.append(TEXT_61);

-			stringBuffer.append(TEXT_62);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.getStyledText.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,_List:_List"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("_List", _List);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_sd5EMKoMEeOCpsO1cKKCxA",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//ItemProvider/getStyledText.override.javajetinc

-			stringBuffer.append(TEXT_63);

-		}

-		stringBuffer.append(TEXT_64);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_65);

-		}

-		stringBuffer.append(TEXT_66);

-		if (!genClass.getLabelNotifyFeatures().isEmpty() || !genClass.getContentNotifyFeatures().isEmpty()

-				|| !genClass.getLabelAndContentNotifyFeatures().isEmpty()) {

-			stringBuffer.append(TEXT_67);

-			stringBuffer.append(genClass.getRawImportedInterfaceName());

-			stringBuffer.append(TEXT_68);

-			if (!genClass.getLabelNotifyFeatures().isEmpty()) {

-				for (GenFeature genFeature : genClass.getLabelNotifyFeatures()) {

-					stringBuffer.append(TEXT_69);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(TEXT_70);

-				}

-				stringBuffer.append(TEXT_71);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification"));

-				stringBuffer.append(TEXT_72);

-			}

-			if (!genClass.getContentNotifyFeatures().isEmpty()) {

-				for (GenFeature genFeature : genClass.getContentNotifyFeatures()) {

-					stringBuffer.append(TEXT_73);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(TEXT_74);

-				}

-				stringBuffer.append(TEXT_75);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification"));

-				stringBuffer.append(TEXT_76);

-			}

-			if (!genClass.getLabelAndContentNotifyFeatures().isEmpty()) {

-				for (GenFeature genFeature : genClass.getLabelAndContentNotifyFeatures()) {

-					stringBuffer.append(TEXT_77);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(TEXT_78);

-				}

-				stringBuffer.append(TEXT_79);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification"));

-				stringBuffer.append(TEXT_80);

-			}

-			stringBuffer.append(TEXT_81);

-		}

-		stringBuffer.append(TEXT_82);

-		if (genModel.isCreationCommands()) {

-			stringBuffer.append(TEXT_83);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_84);

-			}

-			stringBuffer.append(TEXT_85);

-			stringBuffer

-					.append(genModel.getImportedName(genModel.useGenerics() ? "java.util.Collection<java.lang.Object>"

-							: "java.util.Collection"));

-			stringBuffer.append(TEXT_86);

-			for (GenClass.ChildCreationData childCreationData : genClass.getChildCreationData()) {

-				GenFeature createFeature = childCreationData.createFeature;

-				GenFeature delegatedFeature = childCreationData.delegatedFeature;

-				GenClassifier createClassifier = childCreationData.createClassifier;

-				if (createFeature.isFeatureMapType()) {

-					if (delegatedFeature.isReferenceType()) {

-						GenClass createClass = (GenClass) createClassifier;

-						stringBuffer.append(TEXT_87);

-						{

-							//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-							InternalPatternContext ictx = (InternalPatternContext) ctx;

-							new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-							stringBuffer.setLength(0);

-

-							final Map<String, Object> callParameters = new HashMap<String, Object>();

-							callParameters.put("createClass", createClass);

-							callParameters.put("createFeature", createFeature);

-							callParameters.put("delegatedFeature", delegatedFeature);

-							callParameters.put("createClassifier", createClassifier);

-							callParameters.put("childCreationData", childCreationData);

-							callParameters.put("genClass", genClass);

-							callParameters.put("genPackage", genPackage);

-							callParameters.put("genModel", genModel);

-							CallHelper

-									.executeWithParameterInjection(

-											"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_036GEGJ-Ed-FqczH3ESmRw",

-											new ExecutionContext((InternalPatternContext) ctx), callParameters);

-							stringBuffer.setLength(0);

-						}

-

-						//ItemProvider/newChildDescriptorsReferenceDelegatedFeature.override.javajetinc

-					} else {

-						GenDataType createDataType = (GenDataType) createClassifier;

-						stringBuffer.append(TEXT_88);

-						{

-							//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-							InternalPatternContext ictx = (InternalPatternContext) ctx;

-							new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-							stringBuffer.setLength(0);

-

-							final Map<String, Object> callParameters = new HashMap<String, Object>();

-							callParameters.put("createDataType", createDataType);

-							callParameters.put("createFeature", createFeature);

-							callParameters.put("delegatedFeature", delegatedFeature);

-							callParameters.put("createClassifier", createClassifier);

-							callParameters.put("childCreationData", childCreationData);

-							callParameters.put("genClass", genClass);

-							callParameters.put("genPackage", genPackage);

-							callParameters.put("genModel", genModel);

-							CallHelper

-									.executeWithParameterInjection(

-											"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04WyAGJ-Ed-FqczH3ESmRw",

-											new ExecutionContext((InternalPatternContext) ctx), callParameters);

-							stringBuffer.setLength(0);

-						}

-

-						//ItemProvider/newChildDescriptorsAttributeDelegatedFeature.override.javajetinc

-					}

-				} else if (createFeature.isReferenceType()) {

-					GenClass createClass = (GenClass) createClassifier;

-					stringBuffer.append(TEXT_89);

-					{

-						//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-						InternalPatternContext ictx = (InternalPatternContext) ctx;

-						new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-						stringBuffer.setLength(0);

-

-						final Map<String, Object> callParameters = new HashMap<String, Object>();

-						callParameters.put("createClass", createClass);

-						callParameters.put("createFeature", createFeature);

-						callParameters.put("delegatedFeature", delegatedFeature);

-						callParameters.put("createClassifier", createClassifier);

-						callParameters.put("childCreationData", childCreationData);

-						callParameters.put("genClass", genClass);

-						callParameters.put("genPackage", genPackage);

-						callParameters.put("genModel", genModel);

-						CallHelper

-								.executeWithParameterInjection(

-										"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04ps8GJ-Ed-FqczH3ESmRw",

-										new ExecutionContext((InternalPatternContext) ctx), callParameters);

-						stringBuffer.setLength(0);

-					}

-

-					//ItemProvider/newChildDescriptorsReferenceFeature.override.javajetinc 

-				} else {

-					GenDataType createDataType = (GenDataType) createClassifier;

-					stringBuffer.append(TEXT_90);

-					{

-						//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-						InternalPatternContext ictx = (InternalPatternContext) ctx;

-						new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-						stringBuffer.setLength(0);

-

-						final Map<String, Object> callParameters = new HashMap<String, Object>();

-						callParameters.put("createDataType", createDataType);

-						callParameters.put("createFeature", createFeature);

-						callParameters.put("delegatedFeature", delegatedFeature);

-						callParameters.put("createClassifier", createClassifier);

-						callParameters.put("childCreationData", childCreationData);

-						callParameters.put("genClass", genClass);

-						callParameters.put("genPackage", genPackage);

-						callParameters.put("genModel", genModel);

-						CallHelper

-								.executeWithParameterInjection(

-										"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_048n4GJ-Ed-FqczH3ESmRw",

-										new ExecutionContext((InternalPatternContext) ctx), callParameters);

-						stringBuffer.setLength(0);

-					}

-

-					//ItemProvider/newChildDescriptorsAttributeFeature.override.javajetinc

-				}

-			}

-			stringBuffer.append(TEXT_91);

-			if (!genClass.getSharedClassCreateChildFeatures().isEmpty()) {

-				stringBuffer.append(TEXT_92);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_93);

-				}

-				stringBuffer.append(TEXT_94);

-				stringBuffer.append(genModel.getImportedName(genModel.useGenerics() ? "java.util.Collection<?>"

-						: "java.util.Collection"));

-				stringBuffer.append(TEXT_95);

-				if (genClass.hasFeatureMapCreateChildFeatures()) {

-					stringBuffer.append(TEXT_96);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-					stringBuffer.append(TEXT_97);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil"));

-					stringBuffer.append(TEXT_98);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_99);

-				}

-				stringBuffer.append(TEXT_100);

-				for (Iterator<GenFeature> i = genClass.getSharedClassCreateChildFeatures().iterator(); i.hasNext();) {

-					GenFeature createFeature = i.next();

-					stringBuffer.append(TEXT_101);

-					stringBuffer.append(createFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(i.hasNext() ? " ||" : ";");

-				}

-				stringBuffer.append(TEXT_102);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(TEXT_103);

-			}

-		}

-		if (genClass.getProviderExtendsGenClass() == null

-				|| genClass.getProviderExtendsGenClass().getGenPackage() != genPackage

-				&& (!genPackage.isExtensibleProviderFactory() || genClass.getProviderExtendsGenClass().getGenPackage()

-						.isExtensibleProviderFactory() != genPackage.isExtensibleProviderFactory())) {

-			stringBuffer.append(TEXT_104);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_105);

-			}

-			stringBuffer.append(TEXT_106);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));

-			stringBuffer.append(TEXT_107);

-			if (genPackage.isExtensibleProviderFactory()) {

-				stringBuffer.append(TEXT_108);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender"));

-				stringBuffer.append(TEXT_109);

-			} else {

-				stringBuffer.append(TEXT_110);

-				stringBuffer.append(genPackage.getImportedEditPluginClassName());

-				stringBuffer.append(TEXT_111);

-			}

-			stringBuffer.append(TEXT_112);

-		}

-		stringBuffer.append(TEXT_113);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,_List:_List"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("_List", _List);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_051_wGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_114);

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_115);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenClass genClass = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		canGenerate = canGenerate && true;

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvider extends org.eclipse.egf.emf.pattern.base.GenClassJava {
+	protected static String nl;
+
+	public static synchronized ItemProvider create(String lineSeparator) {
+		nl = lineSeparator;
+		ItemProvider result = new ItemProvider();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the item provider adapter for a {@link ";
+	protected final String TEXT_5 = "} object." + NL + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->"
+			+ NL + " * @generated" + NL + " */" + NL + "public class ";
+	protected final String TEXT_6 = " ";
+	protected final String TEXT_7 = "extends ";
+	protected final String TEXT_8 = NL + "\textends ";
+	protected final String TEXT_9 = NL + "\timplements";
+	protected final String TEXT_10 = NL + "\t\t";
+	protected final String TEXT_11 = ",";
+	protected final String TEXT_12 = NL + "{";
+	protected final String TEXT_13 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_14 = " copyright = ";
+	protected final String TEXT_15 = ";";
+	protected final String TEXT_16 = NL;
+	protected final String TEXT_17 = NL + "\t/**" + NL
+			+ "\t * This constructs an instance from a factory and a notifier." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_18 = "(AdapterFactory adapterFactory)" + NL + "\t{" + NL + "\t\tsuper(adapterFactory);"
+			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This returns the property descriptors for the adapted class." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_19 = NL + "\t@Override";
+	protected final String TEXT_20 = NL + "\tpublic ";
+	protected final String TEXT_21 = " getPropertyDescriptors(Object object)" + NL + "\t{" + NL
+			+ "\t\tif (itemPropertyDescriptors == null)" + NL + "\t\t{" + NL
+			+ "\t\t\tsuper.getPropertyDescriptors(object);" + NL;
+	protected final String TEXT_22 = NL + "\t\t\tadd";
+	protected final String TEXT_23 = "PropertyDescriptor(object);";
+	protected final String TEXT_24 = NL + "\t\t}" + NL + "\t\treturn itemPropertyDescriptors;" + NL + "\t}" + NL;
+	protected final String TEXT_25 = NL + "\t/**" + NL + "\t * This adds a property descriptor for the ";
+	protected final String TEXT_26 = " feature." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void add";
+	protected final String TEXT_27 = "PropertyDescriptor(Object object)" + NL + "\t{";
+	protected final String TEXT_28 = NL;
+	protected final String TEXT_29 = NL + "\t}" + NL;
+	protected final String TEXT_30 = NL + "\t/**" + NL
+			+ "\t * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an"
+			+ NL
+			+ "\t * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or"
+			+ NL + "\t * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_31 = NL + "\t@Override";
+	protected final String TEXT_32 = NL + "\tpublic ";
+	protected final String TEXT_33 = " getChildrenFeatures(Object object)" + NL + "\t{" + NL
+			+ "\t\tif (childrenFeatures == null)" + NL + "\t\t{" + NL + "\t\t\tsuper.getChildrenFeatures(object);";
+	protected final String TEXT_34 = NL + "\t\t\tchildrenFeatures.add(";
+	protected final String TEXT_35 = ");";
+	protected final String TEXT_36 = NL + "\t\t}" + NL + "\t\treturn childrenFeatures;" + NL + "\t}" + NL;
+	protected final String TEXT_37 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_38 = NL + "\t@Override";
+	protected final String TEXT_39 = NL + "\tprotected ";
+	protected final String TEXT_40 = " getChildFeature(Object object, Object child)" + NL + "\t{" + NL
+			+ "\t\t// Check the type of the specified child object and return the proper feature to use for" + NL
+			+ "\t\t// adding (see {@link AddCommand}) it as a child." + NL + "" + NL
+			+ "\t\treturn super.getChildFeature(object, child);" + NL + "\t}" + NL;
+	protected final String TEXT_41 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_42 = NL + "\t@Override";
+	protected final String TEXT_43 = NL + "\tpublic boolean hasChildren(Object object)" + NL + "\t{" + NL
+			+ "\t\treturn hasChildren(object, ";
+	protected final String TEXT_44 = ");" + NL + "\t}" + NL;
+	protected final String TEXT_45 = NL + "\t/**" + NL + "\t * This returns ";
+	protected final String TEXT_46 = ".gif." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_47 = NL + "\t@Override";
+	protected final String TEXT_48 = NL + "\tpublic Object getImage(Object object)" + NL + "\t{" + NL
+			+ "\t\treturn overlayImage(object, getResourceLocator().getImage(\"full/obj16/";
+	protected final String TEXT_49 = "\"));";
+	protected final String TEXT_50 = NL + "\t}" + NL;
+	protected final String TEXT_51 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_52 = NL + "\t@Override";
+	protected final String TEXT_53 = NL + "\tprotected boolean shouldComposeCreationImage() " + NL + "\t{" + NL
+			+ "\t\treturn true;" + NL + "\t}" + NL;
+	protected final String TEXT_54 = NL + "\t/**" + NL + "\t * This returns the label text for the adapted class." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_55 = NL + "\t@Override";
+	protected final String TEXT_56 = NL + "\tpublic String getText(Object object)" + NL + "\t{";
+	protected final String TEXT_57 = NL;
+	protected final String TEXT_58 = NL + "\t}" + NL + "\t";
+	protected final String TEXT_59 = NL + "\t/**" + NL
+			+ "\t * This returns the label styled text for the adapted class." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_60 = NL + "\t@Override";
+	protected final String TEXT_61 = NL + "\tpublic Object getStyledText(Object object)" + NL + "\t{";
+	protected final String TEXT_62 = NL;
+	protected final String TEXT_63 = NL + "\t}\t";
+	protected final String TEXT_64 = NL + NL + "\t/**" + NL
+			+ "\t * This handles model notifications by calling {@link #updateChildren} to update any cached" + NL
+			+ "\t * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_65 = NL + "\t@Override";
+	protected final String TEXT_66 = NL + "\tpublic void notifyChanged(Notification notification)" + NL + "\t{" + NL
+			+ "\t\tupdateChildren(notification);";
+	protected final String TEXT_67 = NL + NL + "\t\tswitch (notification.getFeatureID(";
+	protected final String TEXT_68 = ".class))" + NL + "\t\t{";
+	protected final String TEXT_69 = NL + "\t\t\tcase ";
+	protected final String TEXT_70 = ":";
+	protected final String TEXT_71 = NL + "\t\t\t\tfireNotifyChanged(new ";
+	protected final String TEXT_72 = "(notification, notification.getNotifier(), false, true));" + NL
+			+ "\t\t\t\treturn;";
+	protected final String TEXT_73 = NL + "\t\t\tcase ";
+	protected final String TEXT_74 = ":";
+	protected final String TEXT_75 = NL + "\t\t\t\tfireNotifyChanged(new ";
+	protected final String TEXT_76 = "(notification, notification.getNotifier(), true, false));" + NL
+			+ "\t\t\t\treturn;";
+	protected final String TEXT_77 = NL + "\t\t\tcase ";
+	protected final String TEXT_78 = ":";
+	protected final String TEXT_79 = NL + "\t\t\t\tfireNotifyChanged(new ";
+	protected final String TEXT_80 = "(notification, notification.getNotifier(), true, true));" + NL
+			+ "\t\t\t\treturn;";
+	protected final String TEXT_81 = NL + "\t\t}";
+	protected final String TEXT_82 = NL + "\t\tsuper.notifyChanged(notification);" + NL + "\t}" + NL;
+	protected final String TEXT_83 = NL + "\t/**" + NL
+			+ "\t * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children" + NL
+			+ "\t * that can be created under this object." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_84 = NL + "\t@Override";
+	protected final String TEXT_85 = NL + "\tprotected void collectNewChildDescriptors(";
+	protected final String TEXT_86 = " newChildDescriptors, Object object)" + NL + "\t{" + NL
+			+ "\t\tsuper.collectNewChildDescriptors(newChildDescriptors, object);";
+	protected final String TEXT_87 = NL;
+	protected final String TEXT_88 = NL;
+	protected final String TEXT_89 = NL;
+	protected final String TEXT_90 = NL;
+	protected final String TEXT_91 = NL + "\t}" + NL;
+	protected final String TEXT_92 = NL + "\t/**" + NL
+			+ "\t * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_93 = NL + "\t@Override";
+	protected final String TEXT_94 = NL
+			+ "\tpublic String getCreateChildText(Object owner, Object feature, Object child, ";
+	protected final String TEXT_95 = " selection)" + NL + "\t{" + NL + "\t\tObject childFeature = feature;" + NL
+			+ "\t\tObject childObject = child;" + NL;
+	protected final String TEXT_96 = NL + "\t\tif (childFeature instanceof ";
+	protected final String TEXT_97 = " && ";
+	protected final String TEXT_98 = ".isFeatureMap((EStructuralFeature)childFeature))" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_99 = ".Entry entry = (FeatureMap.Entry)childObject;" + NL
+			+ "\t\t\tchildFeature = entry.getEStructuralFeature();" + NL + "\t\t\tchildObject = entry.getValue();" + NL
+			+ "\t\t}" + NL;
+	protected final String TEXT_100 = NL + "\t\tboolean qualify =";
+	protected final String TEXT_101 = NL + "\t\t\tchildFeature == ";
+	protected final String TEXT_102 = NL + NL + "\t\tif (qualify)" + NL + "\t\t{" + NL + "\t\t\treturn getString" + NL
+			+ "\t\t\t\t(\"_UI_CreateChild_text2\",";
+	protected final String TEXT_103 = NL
+			+ "\t\t\t\t new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });"
+			+ NL + "\t\t}" + NL + "\t\treturn super.getCreateChildText(owner, feature, child, selection);" + NL + "\t}"
+			+ NL;
+	protected final String TEXT_104 = NL + "\t/**" + NL
+			+ "\t * Return the resource locator for this item provider's resources." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_105 = NL + "\t@Override";
+	protected final String TEXT_106 = NL + "\tpublic ";
+	protected final String TEXT_107 = " getResourceLocator()" + NL + "\t{";
+	protected final String TEXT_108 = NL + "\t\treturn ((";
+	protected final String TEXT_109 = ")adapterFactory).getResourceLocator();";
+	protected final String TEXT_110 = NL + "\t\treturn ";
+	protected final String TEXT_111 = ".INSTANCE;";
+	protected final String TEXT_112 = NL + "\t}" + NL;
+	protected final String TEXT_113 = NL;
+	protected final String TEXT_114 = NL + "}";
+	protected final String TEXT_115 = NL;
+	protected final String TEXT_116 = NL;
+	protected final String TEXT_117 = NL;
+
+	public ItemProvider() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_116);
+		stringBuffer.append(TEXT_117);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenClass genClass = parameter;
+		targetPath = genClass.getGenModel().getEditDirectory();
+		packageName = genClass.getGenPackage().getProviderPackageName();
+		className = genClass.getProviderClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenClass genClass = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2007 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenClass genClass = (GenClass) argument;
+		GenPackage genPackage = genClass.getGenPackage();
+		GenModel genModel = genPackage.getGenModel();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getProviderPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.addImport("org.eclipse.emf.common.notify.AdapterFactory");
+		genModel.addImport("org.eclipse.emf.common.notify.Notification");
+		String _List = genModel.getImportedName(genModel.useGenerics()
+				? "java.util.List<org.eclipse.emf.edit.provider.IItemPropertyDescriptor>" : "java.util.List");
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genClass.getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genClass.getProviderClassName());
+		stringBuffer.append(TEXT_6);
+		if (genClass.getProviderImplementsClassNames().isEmpty()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genClass.getProviderBaseClassName() != null ? genClass.getProviderBaseClassName()
+					: genModel.getImportedName("org.eclipse.emf.edit.provider.ItemProviderAdapter"));
+		}
+		if (!genClass.getProviderImplementsClassNames().isEmpty()) {
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genClass.getProviderBaseClassName() != null ? genClass.getProviderBaseClassName()
+					: genModel.getImportedName("org.eclipse.emf.edit.provider.ItemProviderAdapter"));
+			stringBuffer.append(TEXT_9);
+			for (Iterator<String> i = genClass.getProviderImplementsClassNames().iterator(); i.hasNext();) {
+				stringBuffer.append(TEXT_10);
+				stringBuffer.append(genModel.getImportedName(i.next()));
+				if (i.hasNext()) {
+					stringBuffer.append(TEXT_11);
+				}
+			}
+		}
+		stringBuffer.append(TEXT_12);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_14);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_16);
+		}
+		stringBuffer.append(TEXT_17);
+		stringBuffer.append(genClass.getProviderClassName());
+		stringBuffer.append(TEXT_18);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_19);
+		}
+		stringBuffer.append(TEXT_20);
+		stringBuffer.append(_List);
+		stringBuffer.append(TEXT_21);
+		for (GenFeature genFeature : genClass.getPropertyFeatures()) {
+			stringBuffer.append(TEXT_22);
+			stringBuffer.append(genFeature.getCapName());
+			stringBuffer.append(TEXT_23);
+		}
+		stringBuffer.append(TEXT_24);
+		for (GenFeature genFeature : genClass.getPropertyFeatures()) {
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genFeature.getFormattedName());
+			stringBuffer.append(TEXT_26);
+			stringBuffer.append(genFeature.getCapName());
+			stringBuffer.append(TEXT_27);
+			stringBuffer.append(TEXT_28);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.addPropertyDescriptor.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,_List:_List"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("_List", _List);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03mkEWJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//ItemProvider/addPropertyDescriptor.override.javajetinc
+			stringBuffer.append(TEXT_29);
+		}
+		if (!genClass.getChildrenFeatures().isEmpty()) {
+			stringBuffer.append(TEXT_30);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_31);
+			}
+			stringBuffer.append(TEXT_32);
+			stringBuffer.append(genModel.getImportedName(
+					genModel.useGenerics() ? "java.util.Collection<? extends org.eclipse.emf.ecore.EStructuralFeature>"
+							: "java.util.Collection"));
+			stringBuffer.append(TEXT_33);
+			for (GenFeature genFeature : genClass.getChildrenFeatures()) {
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_35);
+			}
+			stringBuffer.append(TEXT_36);
+			if (!genClass.getChildrenFeatures().isEmpty()) {
+				stringBuffer.append(TEXT_37);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_38);
+				}
+				stringBuffer.append(TEXT_39);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+				stringBuffer.append(TEXT_40);
+			}
+		}
+		if (genClass.needsHasChildrenMethodOverride()) {
+			stringBuffer.append(TEXT_41);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_42);
+			}
+			stringBuffer.append(TEXT_43);
+			stringBuffer.append(genModel.isOptimizedHasChildren());
+			stringBuffer.append(TEXT_44);
+		}
+		if (genClass.isImage()) {
+			stringBuffer.append(TEXT_45);
+			stringBuffer.append(genClass.getName());
+			stringBuffer.append(TEXT_46);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_47);
+			}
+			stringBuffer.append(TEXT_48);
+			stringBuffer.append(genClass.getName());
+			stringBuffer.append(TEXT_49);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_50);
+		}
+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE && !genModel.isCreationIcons()) {
+			stringBuffer.append(TEXT_51);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_52);
+			}
+			stringBuffer.append(TEXT_53);
+		}
+		stringBuffer.append(TEXT_54);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_55);
+		}
+		stringBuffer.append(TEXT_56);
+		stringBuffer.append(TEXT_57);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.getText.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,_List:_List"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("_List", _List);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03wVEGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		//ItemProvider/getText.override.javajetinc
+		stringBuffer.append(TEXT_58);
+		if (genModel.isStyleProviders()) {
+			stringBuffer.append(TEXT_59);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_60);
+			}
+			stringBuffer.append(TEXT_61);
+			stringBuffer.append(TEXT_62);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.getStyledText.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,_List:_List"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("_List", _List);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_sd5EMKoMEeOCpsO1cKKCxA",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//ItemProvider/getStyledText.override.javajetinc
+			stringBuffer.append(TEXT_63);
+		}
+		stringBuffer.append(TEXT_64);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_65);
+		}
+		stringBuffer.append(TEXT_66);
+		if (!genClass.getLabelNotifyFeatures().isEmpty() || !genClass.getContentNotifyFeatures().isEmpty()
+				|| !genClass.getLabelAndContentNotifyFeatures().isEmpty()) {
+			stringBuffer.append(TEXT_67);
+			stringBuffer.append(genClass.getRawImportedInterfaceName());
+			stringBuffer.append(TEXT_68);
+			if (!genClass.getLabelNotifyFeatures().isEmpty()) {
+				for (GenFeature genFeature : genClass.getLabelNotifyFeatures()) {
+					stringBuffer.append(TEXT_69);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(TEXT_70);
+				}
+				stringBuffer.append(TEXT_71);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification"));
+				stringBuffer.append(TEXT_72);
+			}
+			if (!genClass.getContentNotifyFeatures().isEmpty()) {
+				for (GenFeature genFeature : genClass.getContentNotifyFeatures()) {
+					stringBuffer.append(TEXT_73);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(TEXT_74);
+				}
+				stringBuffer.append(TEXT_75);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification"));
+				stringBuffer.append(TEXT_76);
+			}
+			if (!genClass.getLabelAndContentNotifyFeatures().isEmpty()) {
+				for (GenFeature genFeature : genClass.getLabelAndContentNotifyFeatures()) {
+					stringBuffer.append(TEXT_77);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(TEXT_78);
+				}
+				stringBuffer.append(TEXT_79);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification"));
+				stringBuffer.append(TEXT_80);
+			}
+			stringBuffer.append(TEXT_81);
+		}
+		stringBuffer.append(TEXT_82);
+		if (genModel.isCreationCommands()) {
+			stringBuffer.append(TEXT_83);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_84);
+			}
+			stringBuffer.append(TEXT_85);
+			stringBuffer.append(genModel.getImportedName(
+					genModel.useGenerics() ? "java.util.Collection<java.lang.Object>" : "java.util.Collection"));
+			stringBuffer.append(TEXT_86);
+			for (GenClass.ChildCreationData childCreationData : genClass.getChildCreationData()) {
+				GenFeature createFeature = childCreationData.createFeature;
+				GenFeature delegatedFeature = childCreationData.delegatedFeature;
+				GenClassifier createClassifier = childCreationData.createClassifier;
+				if (createFeature.isFeatureMapType()) {
+					if (delegatedFeature.isReferenceType()) {
+						GenClass createClass = (GenClass) createClassifier;
+						stringBuffer.append(TEXT_87);
+						{
+							//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+							InternalPatternContext ictx = (InternalPatternContext) ctx;
+							new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+							stringBuffer.setLength(0);
+
+							final Map<String, Object> callParameters = new HashMap<String, Object>();
+							callParameters.put("createClass", createClass);
+							callParameters.put("createFeature", createFeature);
+							callParameters.put("delegatedFeature", delegatedFeature);
+							callParameters.put("createClassifier", createClassifier);
+							callParameters.put("childCreationData", childCreationData);
+							callParameters.put("genClass", genClass);
+							callParameters.put("genPackage", genPackage);
+							callParameters.put("genModel", genModel);
+							CallHelper.executeWithParameterInjection(
+									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_036GEGJ-Ed-FqczH3ESmRw",
+									new ExecutionContext((InternalPatternContext) ctx), callParameters);
+							stringBuffer.setLength(0);
+						}
+
+						//ItemProvider/newChildDescriptorsReferenceDelegatedFeature.override.javajetinc
+					} else {
+						GenDataType createDataType = (GenDataType) createClassifier;
+						stringBuffer.append(TEXT_88);
+						{
+							//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+							InternalPatternContext ictx = (InternalPatternContext) ctx;
+							new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+							stringBuffer.setLength(0);
+
+							final Map<String, Object> callParameters = new HashMap<String, Object>();
+							callParameters.put("createDataType", createDataType);
+							callParameters.put("createFeature", createFeature);
+							callParameters.put("delegatedFeature", delegatedFeature);
+							callParameters.put("createClassifier", createClassifier);
+							callParameters.put("childCreationData", childCreationData);
+							callParameters.put("genClass", genClass);
+							callParameters.put("genPackage", genPackage);
+							callParameters.put("genModel", genModel);
+							CallHelper.executeWithParameterInjection(
+									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04WyAGJ-Ed-FqczH3ESmRw",
+									new ExecutionContext((InternalPatternContext) ctx), callParameters);
+							stringBuffer.setLength(0);
+						}
+
+						//ItemProvider/newChildDescriptorsAttributeDelegatedFeature.override.javajetinc
+					}
+				} else if (createFeature.isReferenceType()) {
+					GenClass createClass = (GenClass) createClassifier;
+					stringBuffer.append(TEXT_89);
+					{
+						//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+						InternalPatternContext ictx = (InternalPatternContext) ctx;
+						new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+						stringBuffer.setLength(0);
+
+						final Map<String, Object> callParameters = new HashMap<String, Object>();
+						callParameters.put("createClass", createClass);
+						callParameters.put("createFeature", createFeature);
+						callParameters.put("delegatedFeature", delegatedFeature);
+						callParameters.put("createClassifier", createClassifier);
+						callParameters.put("childCreationData", childCreationData);
+						callParameters.put("genClass", genClass);
+						callParameters.put("genPackage", genPackage);
+						callParameters.put("genModel", genModel);
+						CallHelper.executeWithParameterInjection(
+								"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04ps8GJ-Ed-FqczH3ESmRw",
+								new ExecutionContext((InternalPatternContext) ctx), callParameters);
+						stringBuffer.setLength(0);
+					}
+
+					//ItemProvider/newChildDescriptorsReferenceFeature.override.javajetinc 
+				} else {
+					GenDataType createDataType = (GenDataType) createClassifier;
+					stringBuffer.append(TEXT_90);
+					{
+						//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+						InternalPatternContext ictx = (InternalPatternContext) ctx;
+						new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+						stringBuffer.setLength(0);
+
+						final Map<String, Object> callParameters = new HashMap<String, Object>();
+						callParameters.put("createDataType", createDataType);
+						callParameters.put("createFeature", createFeature);
+						callParameters.put("delegatedFeature", delegatedFeature);
+						callParameters.put("createClassifier", createClassifier);
+						callParameters.put("childCreationData", childCreationData);
+						callParameters.put("genClass", genClass);
+						callParameters.put("genPackage", genPackage);
+						callParameters.put("genModel", genModel);
+						CallHelper.executeWithParameterInjection(
+								"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_048n4GJ-Ed-FqczH3ESmRw",
+								new ExecutionContext((InternalPatternContext) ctx), callParameters);
+						stringBuffer.setLength(0);
+					}
+
+					//ItemProvider/newChildDescriptorsAttributeFeature.override.javajetinc
+				}
+			}
+			stringBuffer.append(TEXT_91);
+			if (!genClass.getSharedClassCreateChildFeatures().isEmpty()) {
+				stringBuffer.append(TEXT_92);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_93);
+				}
+				stringBuffer.append(TEXT_94);
+				stringBuffer.append(genModel
+						.getImportedName(genModel.useGenerics() ? "java.util.Collection<?>" : "java.util.Collection"));
+				stringBuffer.append(TEXT_95);
+				if (genClass.hasFeatureMapCreateChildFeatures()) {
+					stringBuffer.append(TEXT_96);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+					stringBuffer.append(TEXT_97);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil"));
+					stringBuffer.append(TEXT_98);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_99);
+				}
+				stringBuffer.append(TEXT_100);
+				for (Iterator<GenFeature> i = genClass.getSharedClassCreateChildFeatures().iterator(); i.hasNext();) {
+					GenFeature createFeature = i.next();
+					stringBuffer.append(TEXT_101);
+					stringBuffer.append(createFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(i.hasNext() ? " ||" : ";");
+				}
+				stringBuffer.append(TEXT_102);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(TEXT_103);
+			}
+		}
+		if (genClass.getProviderExtendsGenClass() == null || genClass.getProviderExtendsGenClass()
+				.getGenPackage() != genPackage
+				&& (!genPackage.isExtensibleProviderFactory() || genClass.getProviderExtendsGenClass().getGenPackage()
+						.isExtensibleProviderFactory() != genPackage.isExtensibleProviderFactory())) {
+			stringBuffer.append(TEXT_104);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_105);
+			}
+			stringBuffer.append(TEXT_106);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));
+			stringBuffer.append(TEXT_107);
+			if (genPackage.isExtensibleProviderFactory()) {
+				stringBuffer.append(TEXT_108);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender"));
+				stringBuffer.append(TEXT_109);
+			} else {
+				stringBuffer.append(TEXT_110);
+				stringBuffer.append(genPackage.getImportedEditPluginClassName());
+				stringBuffer.append(TEXT_111);
+			}
+			stringBuffer.append(TEXT_112);
+		}
+		stringBuffer.append(TEXT_113);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,_List:_List"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("_List", _List);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_051_wGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_114);
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_115);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenClass genClass = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		canGenerate = canGenerate && true;
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProviderAdapterFactory.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProviderAdapterFactory.java
index 4f02a55..9f38375 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProviderAdapterFactory.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ItemProviderAdapterFactory.java
@@ -1,838 +1,823 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProviderAdapterFactory extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized ItemProviderAdapterFactory create(String lineSeparator) {

-		nl = lineSeparator;

-		ItemProviderAdapterFactory result = new ItemProviderAdapterFactory();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL

-			+ NL

-			+ "/**"

-			+ NL

-			+ " * This is the factory that is used to provide the interfaces needed to support Viewers."

-			+ NL

-			+ " * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}."

-			+ NL + " * The adapters also support Eclipse property sheets." + NL

-			+ " * Note that most of the adapters are shared among multiple instances." + NL

-			+ " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL

-			+ "public class ";

-	protected final String TEXT_5 = " extends ";

-	protected final String TEXT_6 = " implements ComposeableAdapterFactory, IChangeNotifier";

-	protected final String TEXT_7 = ", ";

-	protected final String TEXT_8 = ", ";

-	protected final String TEXT_9 = NL + "{";

-	protected final String TEXT_10 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_11 = " copyright = ";

-	protected final String TEXT_12 = ";";

-	protected final String TEXT_13 = NL;

-	protected final String TEXT_14 = NL + "\t/**" + NL

-			+ "\t * This keeps track of the root adapter factory that delegates to this adapter factory." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ComposedAdapterFactory parentAdapterFactory;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected IChangeNotifier changeNotifier = new ChangeNotifier();" + NL;

-	protected final String TEXT_15 = NL + "\t/**" + NL

-			+ "\t * This keeps track of all the item providers created, so that they can be {@link #dispose disposed}."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_16 = " disposable = new Disposable();" + NL;

-	protected final String TEXT_17 = NL + "\t/**" + NL + "\t * This helps manage the child creation extenders." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_18 = " childCreationExtenderManager = new ";

-	protected final String TEXT_19 = "(";

-	protected final String TEXT_20 = ".INSTANCE, ";

-	protected final String TEXT_21 = ".eNS_URI);" + NL;

-	protected final String TEXT_22 = NL + "\t/**" + NL

-			+ "\t * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_23 = " supportedTypes = new ";

-	protected final String TEXT_24 = "();" + NL + "" + NL + "\t/**" + NL + "\t * This constructs an instance." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_25 = "()" + NL + "\t{";

-	protected final String TEXT_26 = NL + "\t\tsupportedTypes.add(";

-	protected final String TEXT_27 = ".class);";

-	protected final String TEXT_28 = NL + "\t}" + NL;

-	protected final String TEXT_29 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This keeps track of the factory to which to delegate adapter creation for objects from that package."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_30 = " ";

-	protected final String TEXT_31 = " = null;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This determines the delegate factory for the package." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_32 = " get";

-	protected final String TEXT_33 = "()" + NL + "\t{" + NL + "\t\tif (";

-	protected final String TEXT_34 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_35 = " rootAdapterFactory = getRootAdapterFactory();" + NL

-			+ "\t\t\tif (rootAdapterFactory instanceof ComposedAdapterFactory)" + NL + "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_36 = " delegateAdapterFactory =" + NL

-			+ "\t\t\t\t\t((ComposedAdapterFactory)rootAdapterFactory).getFactoryForType(";

-	protected final String TEXT_37 = ".getPackage());" + NL + "\t\t\t\tif (delegateAdapterFactory instanceof ";

-	protected final String TEXT_38 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";

-	protected final String TEXT_39 = " = (";

-	protected final String TEXT_40 = ")delegateAdapterFactory;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL

-			+ "\t\treturn ";

-	protected final String TEXT_41 = ";" + NL + "\t}" + NL;

-	protected final String TEXT_42 = NL + "\t/**" + NL

-			+ "\t * This keeps track of the one adapter used for all {@link ";

-	protected final String TEXT_43 = "} instances." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_44 = " ";

-	protected final String TEXT_45 = "ItemProvider;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This creates an adapter for a {@link ";

-	protected final String TEXT_46 = "}." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_47 = NL + "\t@Override";

-	protected final String TEXT_48 = NL + "\tpublic Adapter create";

-	protected final String TEXT_49 = "Adapter()" + NL + "\t{" + NL + "\t\tif (";

-	protected final String TEXT_50 = "ItemProvider == null)" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_51 = "ItemProvider = new ";

-	protected final String TEXT_52 = "(this);" + NL + "\t\t}" + NL + "" + NL + "\t\treturn ";

-	protected final String TEXT_53 = "ItemProvider;" + NL + "\t}" + NL;

-	protected final String TEXT_54 = NL + "\t/**" + NL + "\t * This creates an adapter for a {@link ";

-	protected final String TEXT_55 = "}." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_56 = NL + "\t@Override";

-	protected final String TEXT_57 = NL + "\tpublic Adapter create";

-	protected final String TEXT_58 = "Adapter()" + NL + "\t{" + NL + "\t\treturn new ";

-	protected final String TEXT_59 = "(this);" + NL + "\t}" + NL;

-	protected final String TEXT_60 = NL + "\t/**" + NL + "\t * ";

-	protected final String TEXT_61 = " of ";

-	protected final String TEXT_62 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic Adapter create";

-	protected final String TEXT_63 = "Adapter()" + NL + "\t{" + NL + "\t\treturn" + NL + "\t\t\tget";

-	protected final String TEXT_64 = "() == null ?" + NL + "\t\t\t\tnull :" + NL + "\t\t\t\tget";

-	protected final String TEXT_65 = "().create";

-	protected final String TEXT_66 = "Adapter();" + NL + "\t}" + NL;

-	protected final String TEXT_67 = NL + "\t/**" + NL

-			+ "\t * This returns the root adapter factory that contains this factory." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ComposeableAdapterFactory getRootAdapterFactory()" + NL + "\t{" + NL

-			+ "\t\treturn parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();" + NL

-			+ "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This sets the composed adapter factory that contains this factory." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory)" + NL

-			+ "\t{" + NL + "\t\tthis.parentAdapterFactory = parentAdapterFactory;" + NL + "\t}" + NL + "" + NL

-			+ "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */";

-	protected final String TEXT_68 = NL + "\t@Override";

-	protected final String TEXT_69 = NL + "\tpublic boolean isFactoryForType(Object type)" + NL + "\t{" + NL

-			+ "\t\treturn supportedTypes.contains(type) || super.isFactoryForType(type);" + NL + "\t}" + NL + "" + NL

-			+ "\t/**" + NL + "\t * This implementation substitutes the factory itself as the key for the adapter." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_70 = NL + "\t@Override";

-	protected final String TEXT_71 = NL + "\tpublic Adapter adapt(Notifier notifier, Object type)" + NL + "\t{" + NL

-			+ "\t\treturn super.adapt(notifier, this);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_72 = NL + "\t@Override";

-	protected final String TEXT_73 = NL + "\tpublic Object adapt(Object object, Object type)" + NL + "\t{" + NL

-			+ "\t\tif (isFactoryForType(type))" + NL + "\t\t{" + NL

-			+ "\t\t\tObject adapter = super.adapt(object, type);" + NL + "\t\t\tif (!(type instanceof Class";

-	protected final String TEXT_74 = "<?>";

-	protected final String TEXT_75 = ") || ";

-	protected final String TEXT_76 = ".isInstance((Class";

-	protected final String TEXT_77 = "<?>";

-	protected final String TEXT_78 = ")type, adapter)";

-	protected final String TEXT_79 = "(((Class";

-	protected final String TEXT_80 = "<?>";

-	protected final String TEXT_81 = ")type).isInstance(adapter))";

-	protected final String TEXT_82 = ")" + NL + "\t\t\t{" + NL + "\t\t\t\treturn adapter;" + NL + "\t\t\t}" + NL

-			+ "\t\t}" + NL + "" + NL + "\t\treturn null;" + NL + "\t}" + NL;

-	protected final String TEXT_83 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * Associates an adapter with a notifier via the base implementation, then records it to ensure it will be disposed."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_84 = NL + "\t@Override";

-	protected final String TEXT_85 = NL + "\tprotected void associate(Adapter adapter, Notifier target)" + NL + "\t{"

-			+ NL + "\t\tsuper.associate(adapter, target);" + NL + "\t\tif (adapter != null)" + NL + "\t\t{" + NL

-			+ "\t\t\tdisposable.add(adapter);" + NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_86 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_87 = " getChildCreationExtenders()" + NL + "\t{" + NL

-			+ "\t\treturn childCreationExtenderManager.getChildCreationExtenders();" + NL + "\t}" + NL + "" + NL

-			+ "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_88 = " getNewChildDescriptors(Object object, ";

-	protected final String TEXT_89 = " editingDomain)" + NL + "\t{" + NL

-			+ "\t\treturn childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);" + NL + "\t}"

-			+ NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_90 = " getResourceLocator()" + NL + "\t{" + NL

-			+ "\t\treturn childCreationExtenderManager;" + NL + "\t}" + NL;

-	protected final String TEXT_91 = NL + "\t/**" + NL + "\t * This adds a listener." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void addListener(INotifyChangedListener notifyChangedListener)" + NL + "\t{"

-			+ NL + "\t\tchangeNotifier.addListener(notifyChangedListener);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This removes a listener." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic void removeListener(INotifyChangedListener notifyChangedListener)" + NL + "\t{" + NL

-			+ "\t\tchangeNotifier.removeListener(notifyChangedListener);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void fireNotifyChanged(Notification notification)" + NL + "\t{" + NL

-			+ "\t\tchangeNotifier.fireNotifyChanged(notification);" + NL + "" + NL

-			+ "\t\tif (parentAdapterFactory != null)" + NL + "\t\t{" + NL

-			+ "\t\t\tparentAdapterFactory.fireNotifyChanged(notification);" + NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_92 = NL + "\t/**" + NL

-			+ "\t * This disposes all of the item providers created by this factory. " + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void dispose()" + NL + "\t{";

-	protected final String TEXT_93 = NL + "\t\tdisposable.dispose();";

-	protected final String TEXT_94 = NL + "\t\tif (";

-	protected final String TEXT_95 = "ItemProvider != null) ";

-	protected final String TEXT_96 = "ItemProvider.dispose();";

-	protected final String TEXT_97 = NL + "\t}" + NL;

-	protected final String TEXT_98 = NL + "\t/**" + NL + "\t * A child creation extender for the {@link ";

-	protected final String TEXT_99 = "}." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static class ";

-	protected final String TEXT_100 = " implements ";

-	protected final String TEXT_101 = NL + "\t{" + NL + "\t\t/**" + NL

-			+ "\t\t * The switch for creating child descriptors specific to each extended class." + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tprotected static class CreationSwitch extends ";

-	protected final String TEXT_102 = NL + "\t\t{" + NL + "\t\t\t/**" + NL

-			+ "\t\t\t * The child descriptors being populated." + NL + "\t\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL

-			+ "\t\t\tprotected ";

-	protected final String TEXT_103 = " newChildDescriptors;" + NL + "" + NL + "\t\t\t/**" + NL

-			+ "\t\t\t * The domain in which to create the children." + NL + "\t\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL

-			+ "\t\t\tprotected ";

-	protected final String TEXT_104 = " editingDomain;" + NL + "" + NL + "\t\t\t/**" + NL

-			+ "\t\t\t * Creates the a switch for populating child descriptors in the given domain." + NL

-			+ "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"

-			+ NL + "\t\t\t */" + NL + "\t\t\tCreationSwitch(";

-	protected final String TEXT_105 = " newChildDescriptors, ";

-	protected final String TEXT_106 = " editingDomain) " + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tthis.newChildDescriptors = newChildDescriptors;" + NL

-			+ "\t\t\t\tthis.editingDomain = editingDomain;" + NL + "\t\t\t}";

-	protected final String TEXT_107 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */";

-	protected final String TEXT_108 = NL + "\t\t\t@Override";

-	protected final String TEXT_109 = NL + "\t\t\tpublic ";

-	protected final String TEXT_110 = "Object case";

-	protected final String TEXT_111 = "(";

-	protected final String TEXT_112 = " object)" + NL + "\t\t\t{";

-	protected final String TEXT_113 = NL;

-	protected final String TEXT_114 = NL;

-	protected final String TEXT_115 = NL;

-	protected final String TEXT_116 = NL;

-	protected final String TEXT_117 = NL;

-	protected final String TEXT_118 = NL + "\t\t\t\treturn null;" + NL + "\t\t\t}" + NL + " ";

-	protected final String TEXT_119 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL

-			+ "\t\t\tprotected ";

-	protected final String TEXT_120 = " createChildParameter(Object feature, Object child)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\treturn new ";

-	protected final String TEXT_121 = "(null, feature, child);" + NL + "\t\t\t}" + NL + "" + NL + "\t\t}" + NL + ""

-			+ NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL

-			+ "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";

-	protected final String TEXT_122 = " getNewChildDescriptors(Object object, ";

-	protected final String TEXT_123 = " editingDomain)" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_124 = " result = new ";

-	protected final String TEXT_125 = "();" + NL + "\t\t\tnew CreationSwitch(result, editingDomain).doSwitch((";

-	protected final String TEXT_126 = ")object);" + NL + "\t\t\treturn result;" + NL + "\t\t}" + NL + "" + NL

-			+ "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL

-			+ "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";

-	protected final String TEXT_127 = " getResourceLocator()" + NL + "\t\t{" + NL + "\t\t\treturn ";

-	protected final String TEXT_128 = ".INSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_129 = NL + "}";

-	protected final String TEXT_130 = NL;

-	protected final String TEXT_131 = NL;

-	protected final String TEXT_132 = NL;

-

-	public ItemProviderAdapterFactory() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_131);

-		stringBuffer.append(TEXT_132);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getEditDirectory();

-		packageName = genPackage.getProviderPackageName();

-		className = genPackage.getItemProviderAdapterFactoryClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2010 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) argument;

-		GenModel genModel = genPackage.getGenModel(); /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getProviderPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.addImport("org.eclipse.emf.common.notify.Adapter");

-		genModel.addImport("org.eclipse.emf.common.notify.Notification");

-		genModel.addImport("org.eclipse.emf.common.notify.Notifier");

-		genModel.addImport("org.eclipse.emf.edit.provider.ChangeNotifier");

-		genModel.addImport("org.eclipse.emf.edit.provider.ComposeableAdapterFactory");

-		genModel.addImport("org.eclipse.emf.edit.provider.ComposedAdapterFactory");

-		genModel.addImport("org.eclipse.emf.edit.provider.IChangeNotifier");

-		genModel.addImport("org.eclipse.emf.edit.provider.IEditingDomainItemProvider");

-		genModel.addImport("org.eclipse.emf.edit.provider.IItemLabelProvider");

-		genModel.addImport("org.eclipse.emf.edit.provider.IItemPropertySource");

-		genModel.addImport("org.eclipse.emf.edit.provider.INotifyChangedListener");

-		genModel.addImport("org.eclipse.emf.edit.provider.IStructuredItemContentProvider");

-		genModel.addImport("org.eclipse.emf.edit.provider.ITreeItemContentProvider");

-		boolean useGenerics = genModel.useGenerics();

-		String _ArrayList = genModel.getImportedName(useGenerics ? "java.util.ArrayList<java.lang.Object>"

-				: "java.util.ArrayList");

-		String _Collection = genModel.getImportedName(useGenerics ? "java.util.Collection<java.lang.Object>"

-				: "java.util.Collection");

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genPackage.getItemProviderAdapterFactoryClassName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genPackage.getImportedAdapterFactoryClassName());

-		stringBuffer.append(TEXT_6);

-		if (genPackage.isDisposableProviderFactory()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IDisposable"));

-		}

-		if (genPackage.isExtensibleProviderFactory()) {

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender"));

-		}

-		stringBuffer.append(TEXT_9);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_11);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_13);

-		}

-		stringBuffer.append(TEXT_14);

-		if (genPackage.isDisposableProviderFactory() && genPackage.hasStatefulProvider()) {

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.Disposable"));

-			stringBuffer.append(TEXT_16);

-		}

-		if (genPackage.isExtensibleProviderFactory()) {

-			stringBuffer.append(TEXT_17);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ChildCreationExtenderManager"));

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ChildCreationExtenderManager"));

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genPackage.getImportedEditPluginClassName());

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_21);

-		}

-		stringBuffer.append(TEXT_22);

-		stringBuffer.append(_Collection);

-		stringBuffer.append(TEXT_23);

-		stringBuffer.append(_ArrayList);

-		stringBuffer.append(TEXT_24);

-		stringBuffer.append(genPackage.getItemProviderAdapterFactoryClassName());

-		stringBuffer.append(TEXT_25);

-		for (String name : genPackage.getProviderSupportedTypes()) {

-			stringBuffer.append(TEXT_26);

-			stringBuffer.append(genModel.getImportedName(name));

-			stringBuffer.append(TEXT_27);

-		}

-		stringBuffer.append(TEXT_28);

-		for (GenPackage genDelegate : genPackage.getAdapterDelegatePackages()) {

-			stringBuffer.append(TEXT_29);

-			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());

-			stringBuffer.append(TEXT_30);

-			stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));

-			stringBuffer.append(TEXT_31);

-			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());

-			stringBuffer.append(TEXT_32);

-			stringBuffer.append(genPackage.getAdapterFactoryDelegateName(genDelegate));

-			stringBuffer.append(TEXT_33);

-			stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));

-			stringBuffer.append(TEXT_34);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.AdapterFactory"));

-			stringBuffer.append(TEXT_35);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.AdapterFactory"));

-			stringBuffer.append(TEXT_36);

-			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());

-			stringBuffer.append(TEXT_37);

-			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());

-			stringBuffer.append(TEXT_38);

-			stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));

-			stringBuffer.append(TEXT_39);

-			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());

-			stringBuffer.append(TEXT_40);

-			stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));

-			stringBuffer.append(TEXT_41);

-		}

-		for (GenClass genClass : genPackage.getGenClasses()) {

-			if (!genClass.isAbstract() && genClass.getProvider() != GenProviderKind.NONE_LITERAL) {

-				if (genClass.isProviderSingleton()) {

-					stringBuffer.append(TEXT_42);

-					stringBuffer.append(genClass.getQualifiedInterfaceName());

-					stringBuffer.append(TEXT_43);

-					stringBuffer.append(genClass.getProviderClassName());

-					stringBuffer.append(TEXT_44);

-					stringBuffer.append(genClass.getUncapName());

-					stringBuffer.append(TEXT_45);

-					stringBuffer.append(genClass.getQualifiedInterfaceName());

-					stringBuffer.append(TEXT_46);

-					if (genModel.useClassOverrideAnnotation()) {

-						stringBuffer.append(TEXT_47);

-					}

-					stringBuffer.append(TEXT_48);

-					stringBuffer.append(genClass.getName());

-					stringBuffer.append(TEXT_49);

-					stringBuffer.append(genClass.getUncapName());

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(genClass.getUncapName());

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(genClass.getProviderClassName());

-					stringBuffer.append(TEXT_52);

-					stringBuffer.append(genClass.getUncapName());

-					stringBuffer.append(TEXT_53);

-				} else {

-					stringBuffer.append(TEXT_54);

-					stringBuffer.append(genClass.getQualifiedInterfaceName());

-					stringBuffer.append(TEXT_55);

-					if (genModel.useClassOverrideAnnotation()) {

-						stringBuffer.append(TEXT_56);

-					}

-					stringBuffer.append(TEXT_57);

-					stringBuffer.append(genClass.getName());

-					stringBuffer.append(TEXT_58);

-					stringBuffer.append(genClass.getProviderClassName());

-					stringBuffer.append(TEXT_59);

-				}

-			}

-		}

-		for (GenClass genClass : genPackage.getAdapterDelegateSuperClasses()) {

-			stringBuffer.append(TEXT_60);

-			stringBuffer.append(genClass.getName());

-			stringBuffer.append(TEXT_61);

-			stringBuffer.append(genClass.getItemProviderAdapterFactoryClassName());

-			stringBuffer.append(TEXT_62);

-			stringBuffer.append(genClass.getName());

-			stringBuffer.append(TEXT_63);

-			stringBuffer.append(genClass.getItemProviderAdapterFactoryClassName());

-			stringBuffer.append(TEXT_64);

-			stringBuffer.append(genClass.getItemProviderAdapterFactoryClassName());

-			stringBuffer.append(TEXT_65);

-			stringBuffer.append(genClass.getName());

-			stringBuffer.append(TEXT_66);

-		}

-		stringBuffer.append(TEXT_67);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_68);

-		}

-		stringBuffer.append(TEXT_69);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_70);

-		}

-		stringBuffer.append(TEXT_71);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_72);

-		}

-		stringBuffer.append(TEXT_73);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_74);

-		}

-		stringBuffer.append(TEXT_75);

-		if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

-			stringBuffer.append(TEXT_76);

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_77);

-			}

-			stringBuffer.append(TEXT_78);

-		} else {

-			stringBuffer.append(TEXT_79);

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_80);

-			}

-			stringBuffer.append(TEXT_81);

-		}

-		stringBuffer.append(TEXT_82);

-		if (genPackage.isDisposableProviderFactory() && genPackage.hasStatefulProvider()) {

-			stringBuffer.append(TEXT_83);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_84);

-			}

-			stringBuffer.append(TEXT_85);

-		}

-		if (genPackage.isExtensibleProviderFactory()) {

-			stringBuffer.append(TEXT_86);

-			stringBuffer

-					.append(genModel

-							.getImportedName(useGenerics ? "java.util.List<org.eclipse.emf.edit.provider.IChildCreationExtender>"

-									: "java.util.List"));

-			stringBuffer.append(TEXT_87);

-			stringBuffer.append(genModel.getImportedName(useGenerics ? "java.util.Collection<?>"

-					: "java.util.Collection"));

-			stringBuffer.append(TEXT_88);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));

-			stringBuffer.append(TEXT_89);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));

-			stringBuffer.append(TEXT_90);

-		}

-		stringBuffer.append(TEXT_91);

-		if (genPackage.isDisposableProviderFactory()) {

-			stringBuffer.append(TEXT_92);

-			if (genPackage.hasStatefulProvider()) {

-				stringBuffer.append(TEXT_93);

-			} else {

-				for (GenClass genClass : genPackage.getGenClasses()) {

-					if (!genClass.isAbstract() && genClass.isProviderSingleton()) {

-						stringBuffer.append(TEXT_94);

-						stringBuffer.append(genClass.getUncapName());

-						stringBuffer.append(TEXT_95);

-						stringBuffer.append(genClass.getUncapName());

-						stringBuffer.append(TEXT_96);

-					}

-				}

-			}

-			stringBuffer.append(TEXT_97);

-		}

-		if (genPackage.isChildCreationExtenders()) {

-			for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> packageEntry : genPackage

-					.getExtendedChildCreationData().entrySet()) {

-				stringBuffer.append(TEXT_98);

-				stringBuffer.append(packageEntry.getKey().getImportedPackageInterfaceName());

-				stringBuffer.append(TEXT_99);

-				stringBuffer.append(genPackage.getChildCreationExtenderName(packageEntry.getKey()));

-				stringBuffer.append(TEXT_100);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender"));

-				stringBuffer.append(TEXT_101);

-				stringBuffer.append(genModel.getImportedName(packageEntry.getKey().getQualifiedSwitchClassName()));

-				stringBuffer.append(useGenerics ? "<Object>" : "");

-				stringBuffer.append(TEXT_102);

-				stringBuffer

-						.append(genModel.getImportedName(useGenerics ? "java.util.List<Object>" : "java.util.List"));

-				stringBuffer.append(TEXT_103);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));

-				stringBuffer.append(TEXT_104);

-				stringBuffer

-						.append(genModel.getImportedName(useGenerics ? "java.util.List<Object>" : "java.util.List"));

-				stringBuffer.append(TEXT_105);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));

-				stringBuffer.append(TEXT_106);

-				for (Map.Entry<GenClass, List<GenClass.ChildCreationData>> classEntry : packageEntry.getValue()

-						.entrySet()) {

-					GenClass genClass = classEntry.getKey();

-					stringBuffer.append(TEXT_107);

-					if (genModel.useClassOverrideAnnotation()) {

-						stringBuffer.append(TEXT_108);

-					}

-					stringBuffer.append(TEXT_109);

-					stringBuffer.append(genClass.getTypeParameters());

-					stringBuffer.append(TEXT_110);

-					stringBuffer.append(genPackage.getClassUniqueName(genClass));

-					stringBuffer.append(TEXT_111);

-					stringBuffer.append(genClass.getImportedInterfaceName());

-					stringBuffer.append(genClass.getInterfaceTypeArguments());

-					stringBuffer.append(TEXT_112);

-					for (GenClass.ChildCreationData childCreationData : classEntry.getValue()) {

-						GenFeature createFeature = childCreationData.createFeature;

-						GenFeature delegatedFeature = childCreationData.delegatedFeature;

-						GenClassifier createClassifier = childCreationData.createClassifier;

-						if (createFeature.isFeatureMapType()) {

-							if (delegatedFeature.isReferenceType()) {

-								GenClass createClass = (GenClass) createClassifier;

-								stringBuffer.append(TEXT_113);

-								{

-									//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-									InternalPatternContext ictx = (InternalPatternContext) ctx;

-									new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-									stringBuffer.setLength(0);

-

-									final Map<String, Object> callParameters = new HashMap<String, Object>();

-									callParameters.put("createClass", createClass);

-									callParameters.put("createFeature", createFeature);

-									callParameters.put("delegatedFeature", delegatedFeature);

-									callParameters.put("createClassifier", createClassifier);

-									callParameters.put("childCreationData", childCreationData);

-									callParameters.put("genClass", genClass);

-									callParameters.put("genPackage", genPackage);

-									callParameters.put("genModel", genModel);

-									CallHelper

-											.executeWithParameterInjection(

-													"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_036GEGJ-Ed-FqczH3ESmRw",

-													new ExecutionContext((InternalPatternContext) ctx), callParameters);

-									stringBuffer.setLength(0);

-								}

-

-								//ItemProvider/newChildDescriptorsReferenceDelegatedFeature.override.javajetinc

-							} else {

-								GenDataType createDataType = (GenDataType) createClassifier;

-								stringBuffer.append(TEXT_114);

-								{

-									//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-									InternalPatternContext ictx = (InternalPatternContext) ctx;

-									new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-									stringBuffer.setLength(0);

-

-									final Map<String, Object> callParameters = new HashMap<String, Object>();

-									callParameters.put("createDataType", createDataType);

-									callParameters.put("createFeature", createFeature);

-									callParameters.put("delegatedFeature", delegatedFeature);

-									callParameters.put("createClassifier", createClassifier);

-									callParameters.put("childCreationData", childCreationData);

-									callParameters.put("genClass", genClass);

-									callParameters.put("genPackage", genPackage);

-									callParameters.put("genModel", genModel);

-									CallHelper

-											.executeWithParameterInjection(

-													"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04WyAGJ-Ed-FqczH3ESmRw",

-													new ExecutionContext((InternalPatternContext) ctx), callParameters);

-									stringBuffer.setLength(0);

-								}

-

-								//ItemProvider/newChildDescriptorsAttributeDelegatedFeature.override.javajetinc

-							}

-						} else if (createFeature.isReferenceType()) {

-							GenClass createClass = (GenClass) createClassifier;

-							stringBuffer.append(TEXT_115);

-							{

-								//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-								InternalPatternContext ictx = (InternalPatternContext) ctx;

-								new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-								stringBuffer.setLength(0);

-

-								final Map<String, Object> callParameters = new HashMap<String, Object>();

-								callParameters.put("createClass", createClass);

-								callParameters.put("createFeature", createFeature);

-								callParameters.put("delegatedFeature", delegatedFeature);

-								callParameters.put("createClassifier", createClassifier);

-								callParameters.put("childCreationData", childCreationData);

-								callParameters.put("genClass", genClass);

-								callParameters.put("genPackage", genPackage);

-								callParameters.put("genModel", genModel);

-								CallHelper

-										.executeWithParameterInjection(

-												"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04ps8GJ-Ed-FqczH3ESmRw",

-												new ExecutionContext((InternalPatternContext) ctx), callParameters);

-								stringBuffer.setLength(0);

-							}

-

-							//ItemProvider/newChildDescriptorsReferenceFeature.override.javajetinc 

-						} else {

-							GenDataType createDataType = (GenDataType) createClassifier;

-							stringBuffer.append(TEXT_116);

-							{

-								//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-								InternalPatternContext ictx = (InternalPatternContext) ctx;

-								new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-								stringBuffer.setLength(0);

-

-								final Map<String, Object> callParameters = new HashMap<String, Object>();

-								callParameters.put("createDataType", createDataType);

-								callParameters.put("createFeature", createFeature);

-								callParameters.put("delegatedFeature", delegatedFeature);

-								callParameters.put("createClassifier", createClassifier);

-								callParameters.put("childCreationData", childCreationData);

-								callParameters.put("genClass", genClass);

-								callParameters.put("genPackage", genPackage);

-								callParameters.put("genModel", genModel);

-								CallHelper

-										.executeWithParameterInjection(

-												"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_048n4GJ-Ed-FqczH3ESmRw",

-												new ExecutionContext((InternalPatternContext) ctx), callParameters);

-								stringBuffer.setLength(0);

-							}

-

-							//ItemProvider/newChildDescriptorsAttributeFeature.override.javajetinc

-						}

-						stringBuffer.append(TEXT_117);

-					}

-					stringBuffer.append(TEXT_118);

-				}

-				stringBuffer.append(TEXT_119);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.command.CommandParameter"));

-				stringBuffer.append(TEXT_120);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.command.CommandParameter"));

-				stringBuffer.append(TEXT_121);

-				stringBuffer.append(_Collection);

-				stringBuffer.append(TEXT_122);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));

-				stringBuffer.append(TEXT_123);

-				stringBuffer.append(_ArrayList);

-				stringBuffer.append(TEXT_124);

-				stringBuffer.append(_ArrayList);

-				stringBuffer.append(TEXT_125);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

-				stringBuffer.append(TEXT_126);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));

-				stringBuffer.append(TEXT_127);

-				stringBuffer.append(genPackage.getImportedEditPluginClassName());

-				stringBuffer.append(TEXT_128);

-			}

-		}

-		stringBuffer.append(TEXT_129);

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_130);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		canGenerate = canGenerate && (!genPackage.getGenClasses().isEmpty());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProviderAdapterFactory extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized ItemProviderAdapterFactory create(String lineSeparator) {
+		nl = lineSeparator;
+		ItemProviderAdapterFactory result = new ItemProviderAdapterFactory();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL
+			+ " * This is the factory that is used to provide the interfaces needed to support Viewers." + NL
+			+ " * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}."
+			+ NL + " * The adapters also support Eclipse property sheets." + NL
+			+ " * Note that most of the adapters are shared among multiple instances." + NL
+			+ " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL
+			+ "public class ";
+	protected final String TEXT_5 = " extends ";
+	protected final String TEXT_6 = " implements ComposeableAdapterFactory, IChangeNotifier";
+	protected final String TEXT_7 = ", ";
+	protected final String TEXT_8 = ", ";
+	protected final String TEXT_9 = NL + "{";
+	protected final String TEXT_10 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_11 = " copyright = ";
+	protected final String TEXT_12 = ";";
+	protected final String TEXT_13 = NL;
+	protected final String TEXT_14 = NL + "\t/**" + NL
+			+ "\t * This keeps track of the root adapter factory that delegates to this adapter factory." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ComposedAdapterFactory parentAdapterFactory;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected IChangeNotifier changeNotifier = new ChangeNotifier();" + NL;
+	protected final String TEXT_15 = NL + "\t/**" + NL
+			+ "\t * This keeps track of all the item providers created, so that they can be {@link #dispose disposed}."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected ";
+	protected final String TEXT_16 = " disposable = new Disposable();" + NL;
+	protected final String TEXT_17 = NL + "\t/**" + NL + "\t * This helps manage the child creation extenders." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ";
+	protected final String TEXT_18 = " childCreationExtenderManager = new ";
+	protected final String TEXT_19 = "(";
+	protected final String TEXT_20 = ".INSTANCE, ";
+	protected final String TEXT_21 = ".eNS_URI);" + NL;
+	protected final String TEXT_22 = NL + "\t/**" + NL
+			+ "\t * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected ";
+	protected final String TEXT_23 = " supportedTypes = new ";
+	protected final String TEXT_24 = "();" + NL + "" + NL + "\t/**" + NL + "\t * This constructs an instance." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic ";
+	protected final String TEXT_25 = "()" + NL + "\t{";
+	protected final String TEXT_26 = NL + "\t\tsupportedTypes.add(";
+	protected final String TEXT_27 = ".class);";
+	protected final String TEXT_28 = NL + "\t}" + NL;
+	protected final String TEXT_29 = NL + "\t/**" + NL
+			+ "\t * This keeps track of the factory to which to delegate adapter creation for objects from that package."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected ";
+	protected final String TEXT_30 = " ";
+	protected final String TEXT_31 = " = null;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This determines the delegate factory for the package." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_32 = " get";
+	protected final String TEXT_33 = "()" + NL + "\t{" + NL + "\t\tif (";
+	protected final String TEXT_34 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_35 = " rootAdapterFactory = getRootAdapterFactory();" + NL
+			+ "\t\t\tif (rootAdapterFactory instanceof ComposedAdapterFactory)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_36 = " delegateAdapterFactory =" + NL
+			+ "\t\t\t\t\t((ComposedAdapterFactory)rootAdapterFactory).getFactoryForType(";
+	protected final String TEXT_37 = ".getPackage());" + NL + "\t\t\t\tif (delegateAdapterFactory instanceof ";
+	protected final String TEXT_38 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+	protected final String TEXT_39 = " = (";
+	protected final String TEXT_40 = ")delegateAdapterFactory;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL
+			+ "\t\treturn ";
+	protected final String TEXT_41 = ";" + NL + "\t}" + NL;
+	protected final String TEXT_42 = NL + "\t/**" + NL
+			+ "\t * This keeps track of the one adapter used for all {@link ";
+	protected final String TEXT_43 = "} instances." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_44 = " ";
+	protected final String TEXT_45 = "ItemProvider;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This creates an adapter for a {@link ";
+	protected final String TEXT_46 = "}." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t */";
+	protected final String TEXT_47 = NL + "\t@Override";
+	protected final String TEXT_48 = NL + "\tpublic Adapter create";
+	protected final String TEXT_49 = "Adapter()" + NL + "\t{" + NL + "\t\tif (";
+	protected final String TEXT_50 = "ItemProvider == null)" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_51 = "ItemProvider = new ";
+	protected final String TEXT_52 = "(this);" + NL + "\t\t}" + NL + "" + NL + "\t\treturn ";
+	protected final String TEXT_53 = "ItemProvider;" + NL + "\t}" + NL;
+	protected final String TEXT_54 = NL + "\t/**" + NL + "\t * This creates an adapter for a {@link ";
+	protected final String TEXT_55 = "}." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t */";
+	protected final String TEXT_56 = NL + "\t@Override";
+	protected final String TEXT_57 = NL + "\tpublic Adapter create";
+	protected final String TEXT_58 = "Adapter()" + NL + "\t{" + NL + "\t\treturn new ";
+	protected final String TEXT_59 = "(this);" + NL + "\t}" + NL;
+	protected final String TEXT_60 = NL + "\t/**" + NL + "\t * ";
+	protected final String TEXT_61 = " of ";
+	protected final String TEXT_62 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic Adapter create";
+	protected final String TEXT_63 = "Adapter()" + NL + "\t{" + NL + "\t\treturn" + NL + "\t\t\tget";
+	protected final String TEXT_64 = "() == null ?" + NL + "\t\t\t\tnull :" + NL + "\t\t\t\tget";
+	protected final String TEXT_65 = "().create";
+	protected final String TEXT_66 = "Adapter();" + NL + "\t}" + NL;
+	protected final String TEXT_67 = NL + "\t/**" + NL
+			+ "\t * This returns the root adapter factory that contains this factory." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic ComposeableAdapterFactory getRootAdapterFactory()" + NL + "\t{" + NL
+			+ "\t\treturn parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();" + NL
+			+ "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This sets the composed adapter factory that contains this factory." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory)" + NL + "\t{"
+			+ NL + "\t\tthis.parentAdapterFactory = parentAdapterFactory;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_68 = NL + "\t@Override";
+	protected final String TEXT_69 = NL + "\tpublic boolean isFactoryForType(Object type)" + NL + "\t{" + NL
+			+ "\t\treturn supportedTypes.contains(type) || super.isFactoryForType(type);" + NL + "\t}" + NL + "" + NL
+			+ "\t/**" + NL + "\t * This implementation substitutes the factory itself as the key for the adapter." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_70 = NL + "\t@Override";
+	protected final String TEXT_71 = NL + "\tpublic Adapter adapt(Notifier notifier, Object type)" + NL + "\t{" + NL
+			+ "\t\treturn super.adapt(notifier, this);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_72 = NL + "\t@Override";
+	protected final String TEXT_73 = NL + "\tpublic Object adapt(Object object, Object type)" + NL + "\t{" + NL
+			+ "\t\tif (isFactoryForType(type))" + NL + "\t\t{" + NL
+			+ "\t\t\tObject adapter = super.adapt(object, type);" + NL + "\t\t\tif (!(type instanceof Class";
+	protected final String TEXT_74 = "<?>";
+	protected final String TEXT_75 = ") || ";
+	protected final String TEXT_76 = ".isInstance((Class";
+	protected final String TEXT_77 = "<?>";
+	protected final String TEXT_78 = ")type, adapter)";
+	protected final String TEXT_79 = "(((Class";
+	protected final String TEXT_80 = "<?>";
+	protected final String TEXT_81 = ")type).isInstance(adapter))";
+	protected final String TEXT_82 = ")" + NL + "\t\t\t{" + NL + "\t\t\t\treturn adapter;" + NL + "\t\t\t}" + NL
+			+ "\t\t}" + NL + "" + NL + "\t\treturn null;" + NL + "\t}" + NL;
+	protected final String TEXT_83 = NL + "\t/**" + NL
+			+ "\t * Associates an adapter with a notifier via the base implementation, then records it to ensure it will be disposed."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_84 = NL + "\t@Override";
+	protected final String TEXT_85 = NL + "\tprotected void associate(Adapter adapter, Notifier target)" + NL + "\t{"
+			+ NL + "\t\tsuper.associate(adapter, target);" + NL + "\t\tif (adapter != null)" + NL + "\t\t{" + NL
+			+ "\t\t\tdisposable.add(adapter);" + NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_86 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_87 = " getChildCreationExtenders()" + NL + "\t{" + NL
+			+ "\t\treturn childCreationExtenderManager.getChildCreationExtenders();" + NL + "\t}" + NL + "" + NL
+			+ "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated"
+			+ NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_88 = " getNewChildDescriptors(Object object, ";
+	protected final String TEXT_89 = " editingDomain)" + NL + "\t{" + NL
+			+ "\t\treturn childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);" + NL + "\t}" + NL
+			+ "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_90 = " getResourceLocator()" + NL + "\t{" + NL
+			+ "\t\treturn childCreationExtenderManager;" + NL + "\t}" + NL;
+	protected final String TEXT_91 = NL + "\t/**" + NL + "\t * This adds a listener." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void addListener(INotifyChangedListener notifyChangedListener)" + NL + "\t{" + NL
+			+ "\t\tchangeNotifier.addListener(notifyChangedListener);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This removes a listener." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic void removeListener(INotifyChangedListener notifyChangedListener)" + NL + "\t{" + NL
+			+ "\t\tchangeNotifier.removeListener(notifyChangedListener);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void fireNotifyChanged(Notification notification)" + NL + "\t{" + NL
+			+ "\t\tchangeNotifier.fireNotifyChanged(notification);" + NL + "" + NL
+			+ "\t\tif (parentAdapterFactory != null)" + NL + "\t\t{" + NL
+			+ "\t\t\tparentAdapterFactory.fireNotifyChanged(notification);" + NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_92 = NL + "\t/**" + NL
+			+ "\t * This disposes all of the item providers created by this factory. " + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void dispose()" + NL + "\t{";
+	protected final String TEXT_93 = NL + "\t\tdisposable.dispose();";
+	protected final String TEXT_94 = NL + "\t\tif (";
+	protected final String TEXT_95 = "ItemProvider != null) ";
+	protected final String TEXT_96 = "ItemProvider.dispose();";
+	protected final String TEXT_97 = NL + "\t}" + NL;
+	protected final String TEXT_98 = NL + "\t/**" + NL + "\t * A child creation extender for the {@link ";
+	protected final String TEXT_99 = "}." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic static class ";
+	protected final String TEXT_100 = " implements ";
+	protected final String TEXT_101 = NL + "\t{" + NL + "\t\t/**" + NL
+			+ "\t\t * The switch for creating child descriptors specific to each extended class." + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tprotected static class CreationSwitch extends ";
+	protected final String TEXT_102 = NL + "\t\t{" + NL + "\t\t\t/**" + NL
+			+ "\t\t\t * The child descriptors being populated." + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL
+			+ "\t\t\tprotected ";
+	protected final String TEXT_103 = " newChildDescriptors;" + NL + "" + NL + "\t\t\t/**" + NL
+			+ "\t\t\t * The domain in which to create the children." + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL
+			+ "\t\t\tprotected ";
+	protected final String TEXT_104 = " editingDomain;" + NL + "" + NL + "\t\t\t/**" + NL
+			+ "\t\t\t * Creates the a switch for populating child descriptors in the given domain." + NL
+			+ "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"
+			+ NL + "\t\t\t */" + NL + "\t\t\tCreationSwitch(";
+	protected final String TEXT_105 = " newChildDescriptors, ";
+	protected final String TEXT_106 = " editingDomain) " + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tthis.newChildDescriptors = newChildDescriptors;" + NL
+			+ "\t\t\t\tthis.editingDomain = editingDomain;" + NL + "\t\t\t}";
+	protected final String TEXT_107 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */";
+	protected final String TEXT_108 = NL + "\t\t\t@Override";
+	protected final String TEXT_109 = NL + "\t\t\tpublic ";
+	protected final String TEXT_110 = "Object case";
+	protected final String TEXT_111 = "(";
+	protected final String TEXT_112 = " object)" + NL + "\t\t\t{";
+	protected final String TEXT_113 = NL;
+	protected final String TEXT_114 = NL;
+	protected final String TEXT_115 = NL;
+	protected final String TEXT_116 = NL;
+	protected final String TEXT_117 = NL;
+	protected final String TEXT_118 = NL + "\t\t\t\treturn null;" + NL + "\t\t\t}" + NL + " ";
+	protected final String TEXT_119 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL
+			+ "\t\t\tprotected ";
+	protected final String TEXT_120 = " createChildParameter(Object feature, Object child)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\treturn new ";
+	protected final String TEXT_121 = "(null, feature, child);" + NL + "\t\t\t}" + NL + "" + NL + "\t\t}" + NL + "" + NL
+			+ "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+			+ "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";
+	protected final String TEXT_122 = " getNewChildDescriptors(Object object, ";
+	protected final String TEXT_123 = " editingDomain)" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_124 = " result = new ";
+	protected final String TEXT_125 = "();" + NL + "\t\t\tnew CreationSwitch(result, editingDomain).doSwitch((";
+	protected final String TEXT_126 = ")object);" + NL + "\t\t\treturn result;" + NL + "\t\t}" + NL + "" + NL
+			+ "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+			+ "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";
+	protected final String TEXT_127 = " getResourceLocator()" + NL + "\t\t{" + NL + "\t\t\treturn ";
+	protected final String TEXT_128 = ".INSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_129 = NL + "}";
+	protected final String TEXT_130 = NL;
+	protected final String TEXT_131 = NL;
+	protected final String TEXT_132 = NL;
+
+	public ItemProviderAdapterFactory() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_131);
+		stringBuffer.append(TEXT_132);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getEditDirectory();
+		packageName = genPackage.getProviderPackageName();
+		className = genPackage.getItemProviderAdapterFactoryClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2010 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) argument;
+		GenModel genModel = genPackage.getGenModel();
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getProviderPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.addImport("org.eclipse.emf.common.notify.Adapter");
+		genModel.addImport("org.eclipse.emf.common.notify.Notification");
+		genModel.addImport("org.eclipse.emf.common.notify.Notifier");
+		genModel.addImport("org.eclipse.emf.edit.provider.ChangeNotifier");
+		genModel.addImport("org.eclipse.emf.edit.provider.ComposeableAdapterFactory");
+		genModel.addImport("org.eclipse.emf.edit.provider.ComposedAdapterFactory");
+		genModel.addImport("org.eclipse.emf.edit.provider.IChangeNotifier");
+		genModel.addImport("org.eclipse.emf.edit.provider.IEditingDomainItemProvider");
+		genModel.addImport("org.eclipse.emf.edit.provider.IItemLabelProvider");
+		genModel.addImport("org.eclipse.emf.edit.provider.IItemPropertySource");
+		genModel.addImport("org.eclipse.emf.edit.provider.INotifyChangedListener");
+		genModel.addImport("org.eclipse.emf.edit.provider.IStructuredItemContentProvider");
+		genModel.addImport("org.eclipse.emf.edit.provider.ITreeItemContentProvider");
+		boolean useGenerics = genModel.useGenerics();
+		String _ArrayList = genModel
+				.getImportedName(useGenerics ? "java.util.ArrayList<java.lang.Object>" : "java.util.ArrayList");
+		String _Collection = genModel
+				.getImportedName(useGenerics ? "java.util.Collection<java.lang.Object>" : "java.util.Collection");
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genPackage.getItemProviderAdapterFactoryClassName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genPackage.getImportedAdapterFactoryClassName());
+		stringBuffer.append(TEXT_6);
+		if (genPackage.isDisposableProviderFactory()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IDisposable"));
+		}
+		if (genPackage.isExtensibleProviderFactory()) {
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender"));
+		}
+		stringBuffer.append(TEXT_9);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_11);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_13);
+		}
+		stringBuffer.append(TEXT_14);
+		if (genPackage.isDisposableProviderFactory() && genPackage.hasStatefulProvider()) {
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.Disposable"));
+			stringBuffer.append(TEXT_16);
+		}
+		if (genPackage.isExtensibleProviderFactory()) {
+			stringBuffer.append(TEXT_17);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ChildCreationExtenderManager"));
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ChildCreationExtenderManager"));
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genPackage.getImportedEditPluginClassName());
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_21);
+		}
+		stringBuffer.append(TEXT_22);
+		stringBuffer.append(_Collection);
+		stringBuffer.append(TEXT_23);
+		stringBuffer.append(_ArrayList);
+		stringBuffer.append(TEXT_24);
+		stringBuffer.append(genPackage.getItemProviderAdapterFactoryClassName());
+		stringBuffer.append(TEXT_25);
+		for (String name : genPackage.getProviderSupportedTypes()) {
+			stringBuffer.append(TEXT_26);
+			stringBuffer.append(genModel.getImportedName(name));
+			stringBuffer.append(TEXT_27);
+		}
+		stringBuffer.append(TEXT_28);
+		for (GenPackage genDelegate : genPackage.getAdapterDelegatePackages()) {
+			stringBuffer.append(TEXT_29);
+			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());
+			stringBuffer.append(TEXT_30);
+			stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));
+			stringBuffer.append(TEXT_31);
+			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());
+			stringBuffer.append(TEXT_32);
+			stringBuffer.append(genPackage.getAdapterFactoryDelegateName(genDelegate));
+			stringBuffer.append(TEXT_33);
+			stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));
+			stringBuffer.append(TEXT_34);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.AdapterFactory"));
+			stringBuffer.append(TEXT_35);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.AdapterFactory"));
+			stringBuffer.append(TEXT_36);
+			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());
+			stringBuffer.append(TEXT_37);
+			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());
+			stringBuffer.append(TEXT_38);
+			stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));
+			stringBuffer.append(TEXT_39);
+			stringBuffer.append(genDelegate.getImportedAdapterFactoryClassName());
+			stringBuffer.append(TEXT_40);
+			stringBuffer.append(genPackage.getUncapAdapterFactoryDelegateName(genDelegate));
+			stringBuffer.append(TEXT_41);
+		}
+		for (GenClass genClass : genPackage.getGenClasses()) {
+			if (!genClass.isAbstract() && genClass.getProvider() != GenProviderKind.NONE_LITERAL) {
+				if (genClass.isProviderSingleton()) {
+					stringBuffer.append(TEXT_42);
+					stringBuffer.append(genClass.getQualifiedInterfaceName());
+					stringBuffer.append(TEXT_43);
+					stringBuffer.append(genClass.getProviderClassName());
+					stringBuffer.append(TEXT_44);
+					stringBuffer.append(genClass.getUncapName());
+					stringBuffer.append(TEXT_45);
+					stringBuffer.append(genClass.getQualifiedInterfaceName());
+					stringBuffer.append(TEXT_46);
+					if (genModel.useClassOverrideAnnotation()) {
+						stringBuffer.append(TEXT_47);
+					}
+					stringBuffer.append(TEXT_48);
+					stringBuffer.append(genClass.getName());
+					stringBuffer.append(TEXT_49);
+					stringBuffer.append(genClass.getUncapName());
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(genClass.getUncapName());
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(genClass.getProviderClassName());
+					stringBuffer.append(TEXT_52);
+					stringBuffer.append(genClass.getUncapName());
+					stringBuffer.append(TEXT_53);
+				} else {
+					stringBuffer.append(TEXT_54);
+					stringBuffer.append(genClass.getQualifiedInterfaceName());
+					stringBuffer.append(TEXT_55);
+					if (genModel.useClassOverrideAnnotation()) {
+						stringBuffer.append(TEXT_56);
+					}
+					stringBuffer.append(TEXT_57);
+					stringBuffer.append(genClass.getName());
+					stringBuffer.append(TEXT_58);
+					stringBuffer.append(genClass.getProviderClassName());
+					stringBuffer.append(TEXT_59);
+				}
+			}
+		}
+		for (GenClass genClass : genPackage.getAdapterDelegateSuperClasses()) {
+			stringBuffer.append(TEXT_60);
+			stringBuffer.append(genClass.getName());
+			stringBuffer.append(TEXT_61);
+			stringBuffer.append(genClass.getItemProviderAdapterFactoryClassName());
+			stringBuffer.append(TEXT_62);
+			stringBuffer.append(genClass.getName());
+			stringBuffer.append(TEXT_63);
+			stringBuffer.append(genClass.getItemProviderAdapterFactoryClassName());
+			stringBuffer.append(TEXT_64);
+			stringBuffer.append(genClass.getItemProviderAdapterFactoryClassName());
+			stringBuffer.append(TEXT_65);
+			stringBuffer.append(genClass.getName());
+			stringBuffer.append(TEXT_66);
+		}
+		stringBuffer.append(TEXT_67);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_68);
+		}
+		stringBuffer.append(TEXT_69);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_70);
+		}
+		stringBuffer.append(TEXT_71);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_72);
+		}
+		stringBuffer.append(TEXT_73);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_74);
+		}
+		stringBuffer.append(TEXT_75);
+		if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+			stringBuffer.append(TEXT_76);
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_77);
+			}
+			stringBuffer.append(TEXT_78);
+		} else {
+			stringBuffer.append(TEXT_79);
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_80);
+			}
+			stringBuffer.append(TEXT_81);
+		}
+		stringBuffer.append(TEXT_82);
+		if (genPackage.isDisposableProviderFactory() && genPackage.hasStatefulProvider()) {
+			stringBuffer.append(TEXT_83);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_84);
+			}
+			stringBuffer.append(TEXT_85);
+		}
+		if (genPackage.isExtensibleProviderFactory()) {
+			stringBuffer.append(TEXT_86);
+			stringBuffer.append(genModel.getImportedName(useGenerics
+					? "java.util.List<org.eclipse.emf.edit.provider.IChildCreationExtender>" : "java.util.List"));
+			stringBuffer.append(TEXT_87);
+			stringBuffer
+					.append(genModel.getImportedName(useGenerics ? "java.util.Collection<?>" : "java.util.Collection"));
+			stringBuffer.append(TEXT_88);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));
+			stringBuffer.append(TEXT_89);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));
+			stringBuffer.append(TEXT_90);
+		}
+		stringBuffer.append(TEXT_91);
+		if (genPackage.isDisposableProviderFactory()) {
+			stringBuffer.append(TEXT_92);
+			if (genPackage.hasStatefulProvider()) {
+				stringBuffer.append(TEXT_93);
+			} else {
+				for (GenClass genClass : genPackage.getGenClasses()) {
+					if (!genClass.isAbstract() && genClass.isProviderSingleton()) {
+						stringBuffer.append(TEXT_94);
+						stringBuffer.append(genClass.getUncapName());
+						stringBuffer.append(TEXT_95);
+						stringBuffer.append(genClass.getUncapName());
+						stringBuffer.append(TEXT_96);
+					}
+				}
+			}
+			stringBuffer.append(TEXT_97);
+		}
+		if (genPackage.isChildCreationExtenders()) {
+			for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> packageEntry : genPackage
+					.getExtendedChildCreationData().entrySet()) {
+				stringBuffer.append(TEXT_98);
+				stringBuffer.append(packageEntry.getKey().getImportedPackageInterfaceName());
+				stringBuffer.append(TEXT_99);
+				stringBuffer.append(genPackage.getChildCreationExtenderName(packageEntry.getKey()));
+				stringBuffer.append(TEXT_100);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.IChildCreationExtender"));
+				stringBuffer.append(TEXT_101);
+				stringBuffer.append(genModel.getImportedName(packageEntry.getKey().getQualifiedSwitchClassName()));
+				stringBuffer.append(useGenerics ? "<Object>" : "");
+				stringBuffer.append(TEXT_102);
+				stringBuffer
+						.append(genModel.getImportedName(useGenerics ? "java.util.List<Object>" : "java.util.List"));
+				stringBuffer.append(TEXT_103);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));
+				stringBuffer.append(TEXT_104);
+				stringBuffer
+						.append(genModel.getImportedName(useGenerics ? "java.util.List<Object>" : "java.util.List"));
+				stringBuffer.append(TEXT_105);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));
+				stringBuffer.append(TEXT_106);
+				for (Map.Entry<GenClass, List<GenClass.ChildCreationData>> classEntry : packageEntry.getValue()
+						.entrySet()) {
+					GenClass genClass = classEntry.getKey();
+					stringBuffer.append(TEXT_107);
+					if (genModel.useClassOverrideAnnotation()) {
+						stringBuffer.append(TEXT_108);
+					}
+					stringBuffer.append(TEXT_109);
+					stringBuffer.append(genClass.getTypeParameters());
+					stringBuffer.append(TEXT_110);
+					stringBuffer.append(genPackage.getClassUniqueName(genClass));
+					stringBuffer.append(TEXT_111);
+					stringBuffer.append(genClass.getImportedInterfaceName());
+					stringBuffer.append(genClass.getInterfaceTypeArguments());
+					stringBuffer.append(TEXT_112);
+					for (GenClass.ChildCreationData childCreationData : classEntry.getValue()) {
+						GenFeature createFeature = childCreationData.createFeature;
+						GenFeature delegatedFeature = childCreationData.delegatedFeature;
+						GenClassifier createClassifier = childCreationData.createClassifier;
+						if (createFeature.isFeatureMapType()) {
+							if (delegatedFeature.isReferenceType()) {
+								GenClass createClass = (GenClass) createClassifier;
+								stringBuffer.append(TEXT_113);
+								{
+									//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+									InternalPatternContext ictx = (InternalPatternContext) ctx;
+									new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+									stringBuffer.setLength(0);
+
+									final Map<String, Object> callParameters = new HashMap<String, Object>();
+									callParameters.put("createClass", createClass);
+									callParameters.put("createFeature", createFeature);
+									callParameters.put("delegatedFeature", delegatedFeature);
+									callParameters.put("createClassifier", createClassifier);
+									callParameters.put("childCreationData", childCreationData);
+									callParameters.put("genClass", genClass);
+									callParameters.put("genPackage", genPackage);
+									callParameters.put("genModel", genModel);
+									CallHelper.executeWithParameterInjection(
+											"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_036GEGJ-Ed-FqczH3ESmRw",
+											new ExecutionContext((InternalPatternContext) ctx), callParameters);
+									stringBuffer.setLength(0);
+								}
+
+								//ItemProvider/newChildDescriptorsReferenceDelegatedFeature.override.javajetinc
+							} else {
+								GenDataType createDataType = (GenDataType) createClassifier;
+								stringBuffer.append(TEXT_114);
+								{
+									//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+									InternalPatternContext ictx = (InternalPatternContext) ctx;
+									new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+									stringBuffer.setLength(0);
+
+									final Map<String, Object> callParameters = new HashMap<String, Object>();
+									callParameters.put("createDataType", createDataType);
+									callParameters.put("createFeature", createFeature);
+									callParameters.put("delegatedFeature", delegatedFeature);
+									callParameters.put("createClassifier", createClassifier);
+									callParameters.put("childCreationData", childCreationData);
+									callParameters.put("genClass", genClass);
+									callParameters.put("genPackage", genPackage);
+									callParameters.put("genModel", genModel);
+									CallHelper.executeWithParameterInjection(
+											"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04WyAGJ-Ed-FqczH3ESmRw",
+											new ExecutionContext((InternalPatternContext) ctx), callParameters);
+									stringBuffer.setLength(0);
+								}
+
+								//ItemProvider/newChildDescriptorsAttributeDelegatedFeature.override.javajetinc
+							}
+						} else if (createFeature.isReferenceType()) {
+							GenClass createClass = (GenClass) createClassifier;
+							stringBuffer.append(TEXT_115);
+							{
+								//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.override" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+								InternalPatternContext ictx = (InternalPatternContext) ctx;
+								new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+								stringBuffer.setLength(0);
+
+								final Map<String, Object> callParameters = new HashMap<String, Object>();
+								callParameters.put("createClass", createClass);
+								callParameters.put("createFeature", createFeature);
+								callParameters.put("delegatedFeature", delegatedFeature);
+								callParameters.put("createClassifier", createClassifier);
+								callParameters.put("childCreationData", childCreationData);
+								callParameters.put("genClass", genClass);
+								callParameters.put("genPackage", genPackage);
+								callParameters.put("genModel", genModel);
+								CallHelper.executeWithParameterInjection(
+										"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04ps8GJ-Ed-FqczH3ESmRw",
+										new ExecutionContext((InternalPatternContext) ctx), callParameters);
+								stringBuffer.setLength(0);
+							}
+
+							//ItemProvider/newChildDescriptorsReferenceFeature.override.javajetinc 
+						} else {
+							GenDataType createDataType = (GenDataType) createClassifier;
+							stringBuffer.append(TEXT_116);
+							{
+								//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.override" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+								InternalPatternContext ictx = (InternalPatternContext) ctx;
+								new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+								stringBuffer.setLength(0);
+
+								final Map<String, Object> callParameters = new HashMap<String, Object>();
+								callParameters.put("createDataType", createDataType);
+								callParameters.put("createFeature", createFeature);
+								callParameters.put("delegatedFeature", delegatedFeature);
+								callParameters.put("createClassifier", createClassifier);
+								callParameters.put("childCreationData", childCreationData);
+								callParameters.put("genClass", genClass);
+								callParameters.put("genPackage", genPackage);
+								callParameters.put("genModel", genModel);
+								CallHelper.executeWithParameterInjection(
+										"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_048n4GJ-Ed-FqczH3ESmRw",
+										new ExecutionContext((InternalPatternContext) ctx), callParameters);
+								stringBuffer.setLength(0);
+							}
+
+							//ItemProvider/newChildDescriptorsAttributeFeature.override.javajetinc
+						}
+						stringBuffer.append(TEXT_117);
+					}
+					stringBuffer.append(TEXT_118);
+				}
+				stringBuffer.append(TEXT_119);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.command.CommandParameter"));
+				stringBuffer.append(TEXT_120);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.command.CommandParameter"));
+				stringBuffer.append(TEXT_121);
+				stringBuffer.append(_Collection);
+				stringBuffer.append(TEXT_122);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));
+				stringBuffer.append(TEXT_123);
+				stringBuffer.append(_ArrayList);
+				stringBuffer.append(TEXT_124);
+				stringBuffer.append(_ArrayList);
+				stringBuffer.append(TEXT_125);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+				stringBuffer.append(TEXT_126);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));
+				stringBuffer.append(TEXT_127);
+				stringBuffer.append(genPackage.getImportedEditPluginClassName());
+				stringBuffer.append(TEXT_128);
+			}
+		}
+		stringBuffer.append(TEXT_129);
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_130);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		canGenerate = canGenerate && (!genPackage.getGenClasses().isEmpty());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ManifestMF.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ManifestMF.java
index 3a8eab9..059a3d8 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ManifestMF.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ManifestMF.java
@@ -1,261 +1,261 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ManifestMF extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized ManifestMF create(String lineSeparator) {

-		nl = lineSeparator;

-		ManifestMF result = new ManifestMF();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "Manifest-Version: 1.0" + NL + "Bundle-ManifestVersion: 2" + NL

-			+ "Bundle-Name: %pluginName" + NL + "Bundle-SymbolicName: ";

-	protected final String TEXT_2 = ";singleton:=true" + NL + "Bundle-Version: 1.0.0.qualifier" + NL

-			+ "Bundle-ClassPath: ";

-	protected final String TEXT_3 = ".jar";

-	protected final String TEXT_4 = ".";

-	protected final String TEXT_5 = NL + "Bundle-Activator: ";

-	protected final String TEXT_6 = "$Implementation";

-	protected final String TEXT_7 = "$Activator";

-	protected final String TEXT_8 = NL + "Bundle-Vendor: %providerName" + NL + "Bundle-Localization: plugin";

-	protected final String TEXT_9 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";

-	protected final String TEXT_10 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";

-	protected final String TEXT_11 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";

-	protected final String TEXT_12 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";

-	protected final String TEXT_13 = NL + "Export-Package: ";

-	protected final String TEXT_14 = ",";

-	protected final String TEXT_15 = NL + " ";

-	protected final String TEXT_16 = NL + "Require-Bundle: ";

-	protected final String TEXT_17 = ";resolution:=optional;x-installation:=greedy";

-	protected final String TEXT_18 = ";visibility:=reexport";

-	protected final String TEXT_19 = ",";

-	protected final String TEXT_20 = NL + " ";

-	protected final String TEXT_21 = ";resolution:=optional;x-installation:=greedy";

-	protected final String TEXT_22 = ";visibility:=reexport";

-	protected final String TEXT_23 = NL + "Import-Package: org.osgi.framework";

-	protected final String TEXT_24 = NL + "Eclipse-LazyStart: true";

-	protected final String TEXT_25 = NL + "Bundle-ActivationPolicy: lazy" + NL;

-	protected final String TEXT_26 = NL;

-	protected final String TEXT_27 = NL;

-

-	public ManifestMF() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_26);

-		stringBuffer.append(TEXT_27);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditProjectDirectory() + "/META-INF/MANIFEST.MF";

-		overwrite = genModel.isUpdateClasspath();

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2005-2010 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genModel.getEditPluginID());

-		stringBuffer.append(TEXT_2);

-		if (genModel.isRuntimeJar()) {

-			stringBuffer.append(genModel.getEditPluginID());

-			stringBuffer.append(TEXT_3);

-		} else {

-			stringBuffer.append(TEXT_4);

-		}

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genModel.getQualifiedEditPluginClassName());

-			stringBuffer.append(TEXT_6);

-			if (genModel.isOSGiCompatible()) {

-				stringBuffer.append(TEXT_7);

-			}

-		}

-		stringBuffer.append(TEXT_8);

-		if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {

-			stringBuffer.append(TEXT_9);

-		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {

-			stringBuffer.append(TEXT_10);

-		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {

-			stringBuffer.append(TEXT_11);

-		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {

-			stringBuffer.append(TEXT_12);

-		}

-		Iterator<String> packagesIterator = genModel.getEditQualifiedPackageNames().iterator();

-		if (packagesIterator.hasNext()) {

-			String pack = packagesIterator.next();

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(pack);

-			while (packagesIterator.hasNext()) {

-				pack = packagesIterator.next();

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(pack);

-			}

-		}

-		Iterator<String> requiredPluginIterator = genModel.getEditRequiredPlugins().iterator();

-		if (requiredPluginIterator.hasNext()) {

-			String pluginID = requiredPluginIterator.next();

-			stringBuffer.append(TEXT_16);

-			stringBuffer.append(pluginID);

-			if (pluginID.startsWith("org.eclipse.core.runtime")) {

-				if (genModel.isOSGiCompatible()) {

-					stringBuffer.append(TEXT_17);

-				}

-			} else {

-				stringBuffer.append(TEXT_18);

-			}

-			while (requiredPluginIterator.hasNext()) {

-				pluginID = requiredPluginIterator.next();

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(pluginID);

-				if (pluginID.startsWith("org.eclipse.core.runtime")) {

-					if (genModel.isOSGiCompatible()) {

-						stringBuffer.append(TEXT_21);

-					}

-				} else if (!pluginID.equals("org.eclipse.xtext.xbase.lib")

-						&& !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {

-					stringBuffer.append(TEXT_22);

-				}

-			}

-		}

-		if (genModel.isOSGiCompatible()) {

-			stringBuffer.append(TEXT_23);

-		}

-		if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22

-				|| genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {

-			stringBuffer.append(TEXT_24);

-		}

-		stringBuffer.append(TEXT_25);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		canGenerate = canGenerate && (genModel.isBundleManifest()) && (!genModel.sameEditEditorProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ManifestMF extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized ManifestMF create(String lineSeparator) {
+		nl = lineSeparator;
+		ManifestMF result = new ManifestMF();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "Manifest-Version: 1.0" + NL + "Bundle-ManifestVersion: 2" + NL
+			+ "Bundle-Name: %pluginName" + NL + "Bundle-SymbolicName: ";
+	protected final String TEXT_2 = ";singleton:=true" + NL + "Bundle-Version: 1.0.0.qualifier" + NL
+			+ "Bundle-ClassPath: ";
+	protected final String TEXT_3 = ".jar";
+	protected final String TEXT_4 = ".";
+	protected final String TEXT_5 = NL + "Bundle-Activator: ";
+	protected final String TEXT_6 = "$Implementation";
+	protected final String TEXT_7 = "$Activator";
+	protected final String TEXT_8 = NL + "Bundle-Vendor: %providerName" + NL + "Bundle-Localization: plugin";
+	protected final String TEXT_9 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";
+	protected final String TEXT_10 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";
+	protected final String TEXT_11 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";
+	protected final String TEXT_12 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";
+	protected final String TEXT_13 = NL + "Export-Package: ";
+	protected final String TEXT_14 = ",";
+	protected final String TEXT_15 = NL + " ";
+	protected final String TEXT_16 = NL + "Require-Bundle: ";
+	protected final String TEXT_17 = ";resolution:=optional;x-installation:=greedy";
+	protected final String TEXT_18 = ";visibility:=reexport";
+	protected final String TEXT_19 = ",";
+	protected final String TEXT_20 = NL + " ";
+	protected final String TEXT_21 = ";resolution:=optional;x-installation:=greedy";
+	protected final String TEXT_22 = ";visibility:=reexport";
+	protected final String TEXT_23 = NL + "Import-Package: org.osgi.framework";
+	protected final String TEXT_24 = NL + "Eclipse-LazyStart: true";
+	protected final String TEXT_25 = NL + "Bundle-ActivationPolicy: lazy" + NL;
+	protected final String TEXT_26 = NL;
+	protected final String TEXT_27 = NL;
+
+	public ManifestMF() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_26);
+		stringBuffer.append(TEXT_27);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditProjectDirectory() + "/META-INF/MANIFEST.MF";
+		overwrite = genModel.isUpdateClasspath();
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2005-2010 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genModel.getEditPluginID());
+		stringBuffer.append(TEXT_2);
+		if (genModel.isRuntimeJar()) {
+			stringBuffer.append(genModel.getEditPluginID());
+			stringBuffer.append(TEXT_3);
+		} else {
+			stringBuffer.append(TEXT_4);
+		}
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genModel.getQualifiedEditPluginClassName());
+			stringBuffer.append(TEXT_6);
+			if (genModel.isOSGiCompatible()) {
+				stringBuffer.append(TEXT_7);
+			}
+		}
+		stringBuffer.append(TEXT_8);
+		if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {
+			stringBuffer.append(TEXT_9);
+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {
+			stringBuffer.append(TEXT_10);
+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {
+			stringBuffer.append(TEXT_11);
+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {
+			stringBuffer.append(TEXT_12);
+		}
+		Iterator<String> packagesIterator = genModel.getEditQualifiedPackageNames().iterator();
+		if (packagesIterator.hasNext()) {
+			String pack = packagesIterator.next();
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(pack);
+			while (packagesIterator.hasNext()) {
+				pack = packagesIterator.next();
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(pack);
+			}
+		}
+		Iterator<String> requiredPluginIterator = genModel.getEditRequiredPlugins().iterator();
+		if (requiredPluginIterator.hasNext()) {
+			String pluginID = requiredPluginIterator.next();
+			stringBuffer.append(TEXT_16);
+			stringBuffer.append(pluginID);
+			if (pluginID.startsWith("org.eclipse.core.runtime")) {
+				if (genModel.isOSGiCompatible()) {
+					stringBuffer.append(TEXT_17);
+				}
+			} else {
+				stringBuffer.append(TEXT_18);
+			}
+			while (requiredPluginIterator.hasNext()) {
+				pluginID = requiredPluginIterator.next();
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(pluginID);
+				if (pluginID.startsWith("org.eclipse.core.runtime")) {
+					if (genModel.isOSGiCompatible()) {
+						stringBuffer.append(TEXT_21);
+					}
+				} else if (!pluginID.equals("org.eclipse.xtext.xbase.lib")
+						&& !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {
+					stringBuffer.append(TEXT_22);
+				}
+			}
+		}
+		if (genModel.isOSGiCompatible()) {
+			stringBuffer.append(TEXT_23);
+		}
+		if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22
+				|| genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {
+			stringBuffer.append(TEXT_24);
+		}
+		stringBuffer.append(TEXT_25);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		canGenerate = canGenerate && (genModel.isBundleManifest()) && (!genModel.sameEditEditorProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ModuleGWTXML.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ModuleGWTXML.java
index d40d040..1fe260f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ModuleGWTXML.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/ModuleGWTXML.java
@@ -1,204 +1,202 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ModuleGWTXML extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized ModuleGWTXML create(String lineSeparator) {

-		nl = lineSeparator;

-		ModuleGWTXML result = new ModuleGWTXML();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"

-			+ NL

-			+ "<!DOCTYPE module PUBLIC \"-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN\" \"http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd\">"

-			+ NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + NL + "<module>";

-	protected final String TEXT_4 = NL + "  <inherits name=\"";

-	protected final String TEXT_5 = "\" />";

-	protected final String TEXT_6 = NL + "  <source path=\"";

-	protected final String TEXT_7 = "\"/>";

-	protected final String TEXT_8 = NL + "</module>" + NL;

-	protected final String TEXT_9 = NL;

-	protected final String TEXT_10 = NL;

-

-	public ModuleGWTXML() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_9);

-		stringBuffer.append(TEXT_10);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditDirectory() + "/" + genModel.getQualifiedEditModuleName().replace(".", "/")

-				+ ".gwt.xml";

-		overwrite = false;

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2010 Ed Merks 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: 

-		 *   Ed Merks - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_3);

-		for (String inherits : genModel.getEditModuleInherits()) {

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(inherits);

-			stringBuffer.append(TEXT_5);

-		}

-		for (String source : genModel.getEditModuleSources()) {

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(source);

-			stringBuffer.append(TEXT_7);

-		}

-		stringBuffer.append(TEXT_8);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		canGenerate = canGenerate

-				&& (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT && !genModel.sameModelEditorProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModuleGWTXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized ModuleGWTXML create(String lineSeparator) {
+		nl = lineSeparator;
+		ModuleGWTXML result = new ModuleGWTXML();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL
+			+ "<!DOCTYPE module PUBLIC \"-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN\" \"http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd\">"
+			+ NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + NL + "<module>";
+	protected final String TEXT_4 = NL + "  <inherits name=\"";
+	protected final String TEXT_5 = "\" />";
+	protected final String TEXT_6 = NL + "  <source path=\"";
+	protected final String TEXT_7 = "\"/>";
+	protected final String TEXT_8 = NL + "</module>" + NL;
+	protected final String TEXT_9 = NL;
+	protected final String TEXT_10 = NL;
+
+	public ModuleGWTXML() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_9);
+		stringBuffer.append(TEXT_10);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditDirectory() + "/" + genModel.getQualifiedEditModuleName().replace(".", "/")
+				+ ".gwt.xml";
+		overwrite = false;
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2010 Ed Merks 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: 
+		 *   Ed Merks - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_3);
+		for (String inherits : genModel.getEditModuleInherits()) {
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(inherits);
+			stringBuffer.append(TEXT_5);
+		}
+		for (String source : genModel.getEditModuleSources()) {
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(source);
+			stringBuffer.append(TEXT_7);
+		}
+		stringBuffer.append(TEXT_8);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		canGenerate = canGenerate
+				&& (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT && !genModel.sameModelEditorProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Plugin.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Plugin.java
index c90c44f..72d710f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Plugin.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Plugin.java
@@ -1,535 +1,518 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Plugin extends org.eclipse.egf.emf.pattern.base.GenModelJava {

-	protected static String nl;

-

-	public static synchronized Plugin create(String lineSeparator) {

-		nl = lineSeparator;

-		Plugin result = new Plugin();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the central singleton for the ";

-	protected final String TEXT_5 = " edit plugin." + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public final class ";

-	protected final String TEXT_6 = " extends EMFPlugin" + NL + "{";

-	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_8 = " copyright = ";

-	protected final String TEXT_9 = ";";

-	protected final String TEXT_10 = NL;

-	protected final String TEXT_11 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_12 = " INSTANCE = new ";

-	protected final String TEXT_13 = "();" + NL;

-	protected final String TEXT_14 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprivate static Implementation plugin;" + NL;

-	protected final String TEXT_15 = NL + "\t/**" + NL + "\t * Create the instance." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_16 = "()" + NL + "\t{" + NL + "\t\tsuper" + NL + "\t\t  (new ResourceLocator [] " + NL

-			+ "\t\t   {";

-	protected final String TEXT_17 = NL + "\t\t     ";

-	protected final String TEXT_18 = ".INSTANCE,";

-	protected final String TEXT_19 = NL + "\t\t   });" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Returns the singleton instance of the Eclipse plugin." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the singleton instance." + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_20 = NL + "\t@Override";

-	protected final String TEXT_21 = NL + "\tpublic ResourceLocator getPluginResourceLocator()" + NL + "\t{";

-	protected final String TEXT_22 = NL + "\t\treturn null;";

-	protected final String TEXT_23 = NL + "\t\treturn plugin;";

-	protected final String TEXT_24 = NL + "\t}" + NL;

-	protected final String TEXT_25 = NL + "\t/**" + NL + "\t * Returns the singleton instance of the Eclipse plugin."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the singleton instance." + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static Implementation getPlugin()" + NL + "\t{" + NL + "\t\treturn plugin;" + NL + "\t}" + NL

-			+ "" + NL + "\t/**" + NL + "\t * The actual implementation of the Eclipse <b>Plugin</b>." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static class Implementation extends EclipsePlugin" + NL + "\t{" + NL + "\t\t/**"

-			+ NL + "\t\t * Creates an instance." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->";

-	protected final String TEXT_26 = NL + "\t\t * @param descriptor the description of the plugin.";

-	protected final String TEXT_27 = NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic Implementation(";

-	protected final String TEXT_28 = " descriptor";

-	protected final String TEXT_29 = ")" + NL + "\t\t{" + NL + "\t\t\tsuper(";

-	protected final String TEXT_30 = "descriptor";

-	protected final String TEXT_31 = ");" + NL + "" + NL + "\t\t\t// Remember the static instance." + NL + "\t\t\t//"

-			+ NL + "\t\t\tplugin = this;" + NL + "\t\t}";

-	protected final String TEXT_32 = NL + "\t" + NL + "\t\t/**" + NL

-			+ "\t\t * The actual implementation of the purely OSGi-compatible <b>Bundle Activator</b>." + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tpublic static final class Activator extends ";

-	protected final String TEXT_33 = ".OSGiDelegatingBundleActivator" + NL + "\t\t{";

-	protected final String TEXT_34 = NL + "\t\t\t@Override";

-	protected final String TEXT_35 = NL + "\t\t\tprotected ";

-	protected final String TEXT_36 = " createBundle()" + NL + "\t\t\t{" + NL + "\t\t\t\treturn new Implementation();"

-			+ NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_37 = NL + "\t}" + NL;

-	protected final String TEXT_38 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected static final ";

-	protected final String TEXT_39 = " PROPERTIES = ";

-	protected final String TEXT_40 = ".create(";

-	protected final String TEXT_41 = ".class);" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL

-			+ "\tpublic String getString(String key, boolean translate)" + NL + "\t{";

-	protected final String TEXT_42 = NL + "\t\t";

-	protected final String TEXT_43 = "else ";

-	protected final String TEXT_44 = "if (\"_UI_";

-	protected final String TEXT_45 = "_type\".equals(key)) return PROPERTIES.";

-	protected final String TEXT_46 = "Type();";

-	protected final String TEXT_47 = NL + "\t\t";

-	protected final String TEXT_48 = "else ";

-	protected final String TEXT_49 = " if (\"_UI_Unknown_type\".equals(key)) return PROPERTIES.unknownType();" + NL

-			+ "\t\telse if (\"_UI_Unknown_datatype\".equals(key)) return PROPERTIES.unknownDatatype();";

-	protected final String TEXT_50 = NL + "\t\telse if (\"_UI_";

-	protected final String TEXT_51 = "_";

-	protected final String TEXT_52 = "_feature\".equals(key)) return PROPERTIES.";

-	protected final String TEXT_53 = "_";

-	protected final String TEXT_54 = "Feature();";

-	protected final String TEXT_55 = NL + "\t\telse if (\"_UI_";

-	protected final String TEXT_56 = "_";

-	protected final String TEXT_57 = "_description\".equals(key)) return PROPERTIES.";

-	protected final String TEXT_58 = "_";

-	protected final String TEXT_59 = "Description();";

-	protected final String TEXT_60 = NL

-			+ "\t\telse if (\"_UI_Unknown_feature\".equals(key)) return PROPERTIES.unknownFeature();";

-	protected final String TEXT_61 = NL + "\t\telse if (\"_UI_";

-	protected final String TEXT_62 = "_";

-	protected final String TEXT_63 = "_literal\".equals(key)) return PROPERTIES.";

-	protected final String TEXT_64 = "_";

-	protected final String TEXT_65 = "Literal();";

-	protected final String TEXT_66 = NL;

-	protected final String TEXT_67 = " = ";

-	protected final String TEXT_68 = NL + "\t\telse if (\"";

-	protected final String TEXT_69 = "\".equals(key)) return PROPERTIES.";

-	protected final String TEXT_70 = "();";

-	protected final String TEXT_71 = NL + "\t\telse return key;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t@Override" + NL

-			+ "\tpublic String getString(String key, Object [] substitutions, boolean translate)" + NL + "\t{";

-	protected final String TEXT_72 = NL

-			+ "\t\tif (\"_UI_CreateChild_text\".equals(key)) return PROPERTIES.createChildText(substitutions[0]);"

-			+ NL

-			+ "\t\telse if (\"_UI_CreateChild_text2\".equals(key)) return PROPERTIES.createChildText2(substitutions[0], substitutions[1]);"

-			+ NL

-			+ "\t\telse if (\"_UI_CreateChild_text3\".equals(key)) return PROPERTIES.createChildText3(substitutions[1]);"

-			+ NL

-			+ "\t\telse if (\"_UI_CreateChild_tooltip\".equals(key)) return PROPERTIES.createChildTooltip(substitutions[0], substitutions[1]);"

-			+ NL

-			+ "\t\telse if (\"_UI_CreateChild_description\".equals(key)) return PROPERTIES.createChildDescripition(substitutions[0], substitutions[1], substitutions[2]);"

-			+ NL

-			+ "\t\telse if (\"_UI_CreateSibling_description\".equals(key)) return PROPERTIES.createSiblingDescription(substitutions[0], substitutions[1], substitutions[2]);";

-	protected final String TEXT_73 = NL + "\t\t";

-	protected final String TEXT_74 = "else ";

-	protected final String TEXT_75 = "if (\"_UI_PropertyDescriptor_description\".equals(key)) return PROPERTIES.propertyDescriptorDescription(substitutions[0], substitutions[1]);"

-			+ NL

-			+ "\t\telse return key;"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tprotected static final ";

-	protected final String TEXT_76 = " IMAGES = ";

-	protected final String TEXT_77 = ".create(";

-	protected final String TEXT_78 = ".class);" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL

-			+ "\tpublic Object getImage(String key)" + NL + "\t{";

-	protected final String TEXT_79 = NL + "\t\t";

-	protected final String TEXT_80 = "else ";

-	protected final String TEXT_81 = "if (\"";

-	protected final String TEXT_82 = "\".equals(key)) return IMAGES.";

-	protected final String TEXT_83 = "();";

-	protected final String TEXT_84 = NL + "\t\t";

-	protected final String TEXT_85 = "else ";

-	protected final String TEXT_86 = "return key;" + NL + "\t}" + NL;

-	protected final String TEXT_87 = NL + "}";

-	protected final String TEXT_88 = NL;

-	protected final String TEXT_89 = NL;

-	protected final String TEXT_90 = NL;

-

-	public Plugin() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_89);

-		stringBuffer.append(TEXT_90);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPath = genModel.getEditPluginDirectory();

-		packageName = genModel.getEditPluginPackageName();

-		className = genModel.getEditPluginClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2010 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getEditPluginPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.addImport("org.eclipse.emf.common.EMFPlugin");

-		genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genModel.getModelName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genModel.getEditPluginClassName());

-		stringBuffer.append(TEXT_6);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_10);

-		}

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(genModel.getEditPluginClassName());

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(genModel.getEditPluginClassName());

-		stringBuffer.append(TEXT_13);

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_14);

-		}

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(genModel.getEditPluginClassName());

-		stringBuffer.append(TEXT_16);

-		for (String pluginClassName : genModel.getEditResourceDelegateImportedPluginClassNames()) {

-			stringBuffer.append(TEXT_17);

-			stringBuffer.append(pluginClassName);

-			stringBuffer.append(TEXT_18);

-		}

-		stringBuffer.append(TEXT_19);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_20);

-		}

-		stringBuffer.append(TEXT_21);

-		if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_22);

-		} else {

-			stringBuffer.append(TEXT_23);

-		}

-		stringBuffer.append(TEXT_24);

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_25);

-			if (genModel.needsRuntimeCompatibility()) {

-				stringBuffer.append(TEXT_26);

-			}

-			stringBuffer.append(TEXT_27);

-			if (genModel.needsRuntimeCompatibility()) {

-				stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor"));

-				stringBuffer.append(TEXT_28);

-			}

-			stringBuffer.append(TEXT_29);

-			if (genModel.needsRuntimeCompatibility()) {

-				stringBuffer.append(TEXT_30);

-			}

-			stringBuffer.append(TEXT_31);

-			if (genModel.isOSGiCompatible()) {

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.EMFPlugin"));

-				stringBuffer.append(TEXT_33);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_34);

-				}

-				stringBuffer.append(TEXT_35);

-				stringBuffer.append(genModel.getImportedName("org.osgi.framework.BundleActivator"));

-				stringBuffer.append(TEXT_36);

-			}

-			stringBuffer.append(TEXT_37);

-		} else {

-			stringBuffer.append(TEXT_38);

-			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Properties"));

-			stringBuffer.append(TEXT_39);

-			stringBuffer.append(genModel.getImportedName("com.google.gwt.core.client.GWT"));

-			stringBuffer.append(TEXT_40);

-			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Properties"));

-			stringBuffer.append(TEXT_41);

-			boolean first = true;

-			for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {

-				if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {

-					for (GenClass genClass : genPackage.getGenClasses()) {

-						stringBuffer.append(TEXT_42);

-						if (first) {

-							first = false;

-						} else {

-							stringBuffer.append(TEXT_43);

-						}

-						stringBuffer.append(TEXT_44);

-						stringBuffer.append(genClass.getName());

-						stringBuffer.append(TEXT_45);

-						stringBuffer.append(genClass.getUncapName());

-						stringBuffer.append(TEXT_46);

-					}

-				}

-			}

-			stringBuffer.append(TEXT_47);

-			if (first) {

-				first = false;

-			} else {

-				stringBuffer.append(TEXT_48);

-			}

-			stringBuffer.append(TEXT_49);

-			for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) {

-				String description = genFeature.getPropertyDescription();

-				stringBuffer.append(TEXT_50);

-				stringBuffer.append(genFeature.getGenClass().getName());

-				stringBuffer.append(TEXT_51);

-				stringBuffer.append(genFeature.getName());

-				stringBuffer.append(TEXT_52);

-				stringBuffer.append(genFeature.getGenClass().getUncapName());

-				stringBuffer.append(TEXT_53);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_54);

-				if (description != null && description.length() > 0) {

-					stringBuffer.append(TEXT_55);

-					stringBuffer.append(genFeature.getGenClass().getName());

-					stringBuffer.append(TEXT_56);

-					stringBuffer.append(genFeature.getName());

-					stringBuffer.append(TEXT_57);

-					stringBuffer.append(genFeature.getGenClass().getUncapName());

-					stringBuffer.append(TEXT_58);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_59);

-				}

-			}

-			stringBuffer.append(TEXT_60);

-			for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {

-				if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {

-					for (GenEnum genEnum : genPackage.getGenEnums()) {

-						for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

-							stringBuffer.append(TEXT_61);

-							stringBuffer.append(genEnum.getName());

-							stringBuffer.append(TEXT_62);

-							stringBuffer.append(genEnumLiteral.getName());

-							stringBuffer.append(TEXT_63);

-							stringBuffer.append(genEnum.getSafeUncapName());

-							stringBuffer.append(TEXT_64);

-							stringBuffer.append(genEnumLiteral.getName());

-							stringBuffer.append(TEXT_65);

-						}

-					}

-				}

-			}

-			for (String category : genModel.getPropertyCategories()) {

-				stringBuffer.append(TEXT_66);

-				stringBuffer.append(genModel.getPropertyCategoryKey(category));

-				stringBuffer.append(TEXT_67);

-				stringBuffer.append(category);

-				stringBuffer.append(TEXT_68);

-				stringBuffer.append(genModel.getPropertyCategoryKey(category));

-				stringBuffer.append(TEXT_69);

-				stringBuffer.append(genModel.getPropertyCategoryKey(category));

-				stringBuffer.append(TEXT_70);

-			}

-			stringBuffer.append(TEXT_71);

-			if (genModel.isCreationCommands()) {

-				stringBuffer.append(TEXT_72);

-			}

-			stringBuffer.append(TEXT_73);

-			if (!genModel.isCreationCommands()) {

-				stringBuffer.append(TEXT_74);

-			}

-			stringBuffer.append(TEXT_75);

-			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Images"));

-			stringBuffer.append(TEXT_76);

-			stringBuffer.append(genModel.getImportedName("com.google.gwt.core.client.GWT"));

-			stringBuffer.append(TEXT_77);

-			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Images"));

-			stringBuffer.append(TEXT_78);

-			first = true;

-			for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {

-				for (GenClass genClass : genPackage.getGenClasses()) {

-					if (genClass.isImage()) {

-						String image = genClass.getItemIconFileName();

-						image = image.substring(image.lastIndexOf("/icons/") + 7, image.length() - 4);

-						stringBuffer.append(TEXT_79);

-						if (first) {

-							first = false;

-						} else {

-							stringBuffer.append(TEXT_80);

-						}

-						stringBuffer.append(TEXT_81);

-						stringBuffer.append(image);

-						stringBuffer.append(TEXT_82);

-						stringBuffer.append(genClass.getItemIconAccessorName());

-						stringBuffer.append(TEXT_83);

-					}

-				}

-			}

-			stringBuffer.append(TEXT_84);

-			if (first) {

-				first = false;

-			} else {

-				stringBuffer.append(TEXT_85);

-			}

-			stringBuffer.append(TEXT_86);

-		}

-		stringBuffer.append(TEXT_87);

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_88);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		canGenerate = canGenerate && (!genModel.sameEditEditorProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Plugin extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+	protected static String nl;
+
+	public static synchronized Plugin create(String lineSeparator) {
+		nl = lineSeparator;
+		Plugin result = new Plugin();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the central singleton for the ";
+	protected final String TEXT_5 = " edit plugin." + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public final class ";
+	protected final String TEXT_6 = " extends EMFPlugin" + NL + "{";
+	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_8 = " copyright = ";
+	protected final String TEXT_9 = ";";
+	protected final String TEXT_10 = NL;
+	protected final String TEXT_11 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static final ";
+	protected final String TEXT_12 = " INSTANCE = new ";
+	protected final String TEXT_13 = "();" + NL;
+	protected final String TEXT_14 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprivate static Implementation plugin;" + NL;
+	protected final String TEXT_15 = NL + "\t/**" + NL + "\t * Create the instance." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic ";
+	protected final String TEXT_16 = "()" + NL + "\t{" + NL + "\t\tsuper" + NL + "\t\t  (new ResourceLocator [] " + NL
+			+ "\t\t   {";
+	protected final String TEXT_17 = NL + "\t\t     ";
+	protected final String TEXT_18 = ".INSTANCE,";
+	protected final String TEXT_19 = NL + "\t\t   });" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Returns the singleton instance of the Eclipse plugin." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the singleton instance." + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_20 = NL + "\t@Override";
+	protected final String TEXT_21 = NL + "\tpublic ResourceLocator getPluginResourceLocator()" + NL + "\t{";
+	protected final String TEXT_22 = NL + "\t\treturn null;";
+	protected final String TEXT_23 = NL + "\t\treturn plugin;";
+	protected final String TEXT_24 = NL + "\t}" + NL;
+	protected final String TEXT_25 = NL + "\t/**" + NL + "\t * Returns the singleton instance of the Eclipse plugin."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the singleton instance." + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static Implementation getPlugin()" + NL + "\t{" + NL + "\t\treturn plugin;" + NL + "\t}" + NL
+			+ "" + NL + "\t/**" + NL + "\t * The actual implementation of the Eclipse <b>Plugin</b>." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static class Implementation extends EclipsePlugin" + NL + "\t{" + NL + "\t\t/**" + NL
+			+ "\t\t * Creates an instance." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->";
+	protected final String TEXT_26 = NL + "\t\t * @param descriptor the description of the plugin.";
+	protected final String TEXT_27 = NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic Implementation(";
+	protected final String TEXT_28 = " descriptor";
+	protected final String TEXT_29 = ")" + NL + "\t\t{" + NL + "\t\t\tsuper(";
+	protected final String TEXT_30 = "descriptor";
+	protected final String TEXT_31 = ");" + NL + "" + NL + "\t\t\t// Remember the static instance." + NL + "\t\t\t//"
+			+ NL + "\t\t\tplugin = this;" + NL + "\t\t}";
+	protected final String TEXT_32 = NL + "\t" + NL + "\t\t/**" + NL
+			+ "\t\t * The actual implementation of the purely OSGi-compatible <b>Bundle Activator</b>." + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic static final class Activator extends ";
+	protected final String TEXT_33 = ".OSGiDelegatingBundleActivator" + NL + "\t\t{";
+	protected final String TEXT_34 = NL + "\t\t\t@Override";
+	protected final String TEXT_35 = NL + "\t\t\tprotected ";
+	protected final String TEXT_36 = " createBundle()" + NL + "\t\t\t{" + NL + "\t\t\t\treturn new Implementation();"
+			+ NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_37 = NL + "\t}" + NL;
+	protected final String TEXT_38 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected static final ";
+	protected final String TEXT_39 = " PROPERTIES = ";
+	protected final String TEXT_40 = ".create(";
+	protected final String TEXT_41 = ".class);" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL
+			+ "\tpublic String getString(String key, boolean translate)" + NL + "\t{";
+	protected final String TEXT_42 = NL + "\t\t";
+	protected final String TEXT_43 = "else ";
+	protected final String TEXT_44 = "if (\"_UI_";
+	protected final String TEXT_45 = "_type\".equals(key)) return PROPERTIES.";
+	protected final String TEXT_46 = "Type();";
+	protected final String TEXT_47 = NL + "\t\t";
+	protected final String TEXT_48 = "else ";
+	protected final String TEXT_49 = " if (\"_UI_Unknown_type\".equals(key)) return PROPERTIES.unknownType();" + NL
+			+ "\t\telse if (\"_UI_Unknown_datatype\".equals(key)) return PROPERTIES.unknownDatatype();";
+	protected final String TEXT_50 = NL + "\t\telse if (\"_UI_";
+	protected final String TEXT_51 = "_";
+	protected final String TEXT_52 = "_feature\".equals(key)) return PROPERTIES.";
+	protected final String TEXT_53 = "_";
+	protected final String TEXT_54 = "Feature();";
+	protected final String TEXT_55 = NL + "\t\telse if (\"_UI_";
+	protected final String TEXT_56 = "_";
+	protected final String TEXT_57 = "_description\".equals(key)) return PROPERTIES.";
+	protected final String TEXT_58 = "_";
+	protected final String TEXT_59 = "Description();";
+	protected final String TEXT_60 = NL
+			+ "\t\telse if (\"_UI_Unknown_feature\".equals(key)) return PROPERTIES.unknownFeature();";
+	protected final String TEXT_61 = NL + "\t\telse if (\"_UI_";
+	protected final String TEXT_62 = "_";
+	protected final String TEXT_63 = "_literal\".equals(key)) return PROPERTIES.";
+	protected final String TEXT_64 = "_";
+	protected final String TEXT_65 = "Literal();";
+	protected final String TEXT_66 = NL;
+	protected final String TEXT_67 = " = ";
+	protected final String TEXT_68 = NL + "\t\telse if (\"";
+	protected final String TEXT_69 = "\".equals(key)) return PROPERTIES.";
+	protected final String TEXT_70 = "();";
+	protected final String TEXT_71 = NL + "\t\telse return key;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t@Override" + NL
+			+ "\tpublic String getString(String key, Object [] substitutions, boolean translate)" + NL + "\t{";
+	protected final String TEXT_72 = NL
+			+ "\t\tif (\"_UI_CreateChild_text\".equals(key)) return PROPERTIES.createChildText(substitutions[0]);" + NL
+			+ "\t\telse if (\"_UI_CreateChild_text2\".equals(key)) return PROPERTIES.createChildText2(substitutions[0], substitutions[1]);"
+			+ NL
+			+ "\t\telse if (\"_UI_CreateChild_text3\".equals(key)) return PROPERTIES.createChildText3(substitutions[1]);"
+			+ NL
+			+ "\t\telse if (\"_UI_CreateChild_tooltip\".equals(key)) return PROPERTIES.createChildTooltip(substitutions[0], substitutions[1]);"
+			+ NL
+			+ "\t\telse if (\"_UI_CreateChild_description\".equals(key)) return PROPERTIES.createChildDescripition(substitutions[0], substitutions[1], substitutions[2]);"
+			+ NL
+			+ "\t\telse if (\"_UI_CreateSibling_description\".equals(key)) return PROPERTIES.createSiblingDescription(substitutions[0], substitutions[1], substitutions[2]);";
+	protected final String TEXT_73 = NL + "\t\t";
+	protected final String TEXT_74 = "else ";
+	protected final String TEXT_75 = "if (\"_UI_PropertyDescriptor_description\".equals(key)) return PROPERTIES.propertyDescriptorDescription(substitutions[0], substitutions[1]);"
+			+ NL + "\t\telse return key;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected static final ";
+	protected final String TEXT_76 = " IMAGES = ";
+	protected final String TEXT_77 = ".create(";
+	protected final String TEXT_78 = ".class);" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL
+			+ "\tpublic Object getImage(String key)" + NL + "\t{";
+	protected final String TEXT_79 = NL + "\t\t";
+	protected final String TEXT_80 = "else ";
+	protected final String TEXT_81 = "if (\"";
+	protected final String TEXT_82 = "\".equals(key)) return IMAGES.";
+	protected final String TEXT_83 = "();";
+	protected final String TEXT_84 = NL + "\t\t";
+	protected final String TEXT_85 = "else ";
+	protected final String TEXT_86 = "return key;" + NL + "\t}" + NL;
+	protected final String TEXT_87 = NL + "}";
+	protected final String TEXT_88 = NL;
+	protected final String TEXT_89 = NL;
+	protected final String TEXT_90 = NL;
+
+	public Plugin() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_89);
+		stringBuffer.append(TEXT_90);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPath = genModel.getEditPluginDirectory();
+		packageName = genModel.getEditPluginPackageName();
+		className = genModel.getEditPluginClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2010 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getEditPluginPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.addImport("org.eclipse.emf.common.EMFPlugin");
+		genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genModel.getModelName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genModel.getEditPluginClassName());
+		stringBuffer.append(TEXT_6);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_10);
+		}
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(genModel.getEditPluginClassName());
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(genModel.getEditPluginClassName());
+		stringBuffer.append(TEXT_13);
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_14);
+		}
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(genModel.getEditPluginClassName());
+		stringBuffer.append(TEXT_16);
+		for (String pluginClassName : genModel.getEditResourceDelegateImportedPluginClassNames()) {
+			stringBuffer.append(TEXT_17);
+			stringBuffer.append(pluginClassName);
+			stringBuffer.append(TEXT_18);
+		}
+		stringBuffer.append(TEXT_19);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_20);
+		}
+		stringBuffer.append(TEXT_21);
+		if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_22);
+		} else {
+			stringBuffer.append(TEXT_23);
+		}
+		stringBuffer.append(TEXT_24);
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_25);
+			if (genModel.needsRuntimeCompatibility()) {
+				stringBuffer.append(TEXT_26);
+			}
+			stringBuffer.append(TEXT_27);
+			if (genModel.needsRuntimeCompatibility()) {
+				stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor"));
+				stringBuffer.append(TEXT_28);
+			}
+			stringBuffer.append(TEXT_29);
+			if (genModel.needsRuntimeCompatibility()) {
+				stringBuffer.append(TEXT_30);
+			}
+			stringBuffer.append(TEXT_31);
+			if (genModel.isOSGiCompatible()) {
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.EMFPlugin"));
+				stringBuffer.append(TEXT_33);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_34);
+				}
+				stringBuffer.append(TEXT_35);
+				stringBuffer.append(genModel.getImportedName("org.osgi.framework.BundleActivator"));
+				stringBuffer.append(TEXT_36);
+			}
+			stringBuffer.append(TEXT_37);
+		} else {
+			stringBuffer.append(TEXT_38);
+			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Properties"));
+			stringBuffer.append(TEXT_39);
+			stringBuffer.append(genModel.getImportedName("com.google.gwt.core.client.GWT"));
+			stringBuffer.append(TEXT_40);
+			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Properties"));
+			stringBuffer.append(TEXT_41);
+			boolean first = true;
+			for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+				if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {
+					for (GenClass genClass : genPackage.getGenClasses()) {
+						stringBuffer.append(TEXT_42);
+						if (first) {
+							first = false;
+						} else {
+							stringBuffer.append(TEXT_43);
+						}
+						stringBuffer.append(TEXT_44);
+						stringBuffer.append(genClass.getName());
+						stringBuffer.append(TEXT_45);
+						stringBuffer.append(genClass.getUncapName());
+						stringBuffer.append(TEXT_46);
+					}
+				}
+			}
+			stringBuffer.append(TEXT_47);
+			if (first) {
+				first = false;
+			} else {
+				stringBuffer.append(TEXT_48);
+			}
+			stringBuffer.append(TEXT_49);
+			for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) {
+				String description = genFeature.getPropertyDescription();
+				stringBuffer.append(TEXT_50);
+				stringBuffer.append(genFeature.getGenClass().getName());
+				stringBuffer.append(TEXT_51);
+				stringBuffer.append(genFeature.getName());
+				stringBuffer.append(TEXT_52);
+				stringBuffer.append(genFeature.getGenClass().getUncapName());
+				stringBuffer.append(TEXT_53);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_54);
+				if (description != null && description.length() > 0) {
+					stringBuffer.append(TEXT_55);
+					stringBuffer.append(genFeature.getGenClass().getName());
+					stringBuffer.append(TEXT_56);
+					stringBuffer.append(genFeature.getName());
+					stringBuffer.append(TEXT_57);
+					stringBuffer.append(genFeature.getGenClass().getUncapName());
+					stringBuffer.append(TEXT_58);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_59);
+				}
+			}
+			stringBuffer.append(TEXT_60);
+			for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+				if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {
+					for (GenEnum genEnum : genPackage.getGenEnums()) {
+						for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+							stringBuffer.append(TEXT_61);
+							stringBuffer.append(genEnum.getName());
+							stringBuffer.append(TEXT_62);
+							stringBuffer.append(genEnumLiteral.getName());
+							stringBuffer.append(TEXT_63);
+							stringBuffer.append(genEnum.getSafeUncapName());
+							stringBuffer.append(TEXT_64);
+							stringBuffer.append(genEnumLiteral.getName());
+							stringBuffer.append(TEXT_65);
+						}
+					}
+				}
+			}
+			for (String category : genModel.getPropertyCategories()) {
+				stringBuffer.append(TEXT_66);
+				stringBuffer.append(genModel.getPropertyCategoryKey(category));
+				stringBuffer.append(TEXT_67);
+				stringBuffer.append(category);
+				stringBuffer.append(TEXT_68);
+				stringBuffer.append(genModel.getPropertyCategoryKey(category));
+				stringBuffer.append(TEXT_69);
+				stringBuffer.append(genModel.getPropertyCategoryKey(category));
+				stringBuffer.append(TEXT_70);
+			}
+			stringBuffer.append(TEXT_71);
+			if (genModel.isCreationCommands()) {
+				stringBuffer.append(TEXT_72);
+			}
+			stringBuffer.append(TEXT_73);
+			if (!genModel.isCreationCommands()) {
+				stringBuffer.append(TEXT_74);
+			}
+			stringBuffer.append(TEXT_75);
+			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Images"));
+			stringBuffer.append(TEXT_76);
+			stringBuffer.append(genModel.getImportedName("com.google.gwt.core.client.GWT"));
+			stringBuffer.append(TEXT_77);
+			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditPluginClassName() + "Images"));
+			stringBuffer.append(TEXT_78);
+			first = true;
+			for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+				for (GenClass genClass : genPackage.getGenClasses()) {
+					if (genClass.isImage()) {
+						String image = genClass.getItemIconFileName();
+						image = image.substring(image.lastIndexOf("/icons/") + 7, image.length() - 4);
+						stringBuffer.append(TEXT_79);
+						if (first) {
+							first = false;
+						} else {
+							stringBuffer.append(TEXT_80);
+						}
+						stringBuffer.append(TEXT_81);
+						stringBuffer.append(image);
+						stringBuffer.append(TEXT_82);
+						stringBuffer.append(genClass.getItemIconAccessorName());
+						stringBuffer.append(TEXT_83);
+					}
+				}
+			}
+			stringBuffer.append(TEXT_84);
+			if (first) {
+				first = false;
+			} else {
+				stringBuffer.append(TEXT_85);
+			}
+			stringBuffer.append(TEXT_86);
+		}
+		stringBuffer.append(TEXT_87);
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_88);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		canGenerate = canGenerate && (!genModel.sameEditEditorProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginProperties.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginProperties.java
index 69fd053..96bae55 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginProperties.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginProperties.java
@@ -1,274 +1,269 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class PluginProperties extends org.eclipse.egf.emf.pattern.base.GenModelProperties {

-	protected static String nl;

-

-	public static synchronized PluginProperties create(String lineSeparator) {

-		nl = lineSeparator;

-		PluginProperties result = new PluginProperties();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + NL + "pluginName = ";

-	protected final String TEXT_3 = " Edit Support" + NL + "providerName = www.example.org";

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL + "_UI_CreateChild_text = {0}" + NL + "_UI_CreateChild_text2 = {1} ";

-	protected final String TEXT_6 = "| ";

-	protected final String TEXT_7 = "{0}"

-			+ NL

-			+ "_UI_CreateChild_text3 = {1}"

-			+ NL

-			+ "_UI_CreateChild_tooltip = Create New {0} Under {1} Feature"

-			+ NL

-			+ "_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}."

-			+ NL

-			+ "_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent."

-			+ NL;

-	protected final String TEXT_8 = NL + "_UI_PropertyDescriptor_description = The {0} of the {1}" + NL;

-	protected final String TEXT_9 = NL + "_UI_";

-	protected final String TEXT_10 = "_type = ";

-	protected final String TEXT_11 = NL + "_UI_Unknown_type = Object" + NL + "" + NL + "_UI_Unknown_datatype= Value"

-			+ NL;

-	protected final String TEXT_12 = NL + "_UI_";

-	protected final String TEXT_13 = "_";

-	protected final String TEXT_14 = "_feature = ";

-	protected final String TEXT_15 = NL + "_UI_";

-	protected final String TEXT_16 = "_";

-	protected final String TEXT_17 = "_description = ";

-	protected final String TEXT_18 = NL + "_UI_Unknown_feature = Unspecified" + NL;

-	protected final String TEXT_19 = NL + "_UI_";

-	protected final String TEXT_20 = "_";

-	protected final String TEXT_21 = "_literal = ";

-	protected final String TEXT_22 = NL;

-	protected final String TEXT_23 = " = ";

-	protected final String TEXT_24 = NL;

-	protected final String TEXT_25 = NL;

-	protected final String TEXT_26 = NL;

-

-	public PluginProperties() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_25);

-		stringBuffer.append(TEXT_26);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditProjectDirectory() + "/plugin.properties";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2007 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getModelName());

-		stringBuffer.append(TEXT_3);

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_4);

-			if (genModel.isCreationCommands()) {

-				stringBuffer.append(TEXT_5);

-				if (genModel.isCreationSubmenus()) {

-					stringBuffer.append(TEXT_6);

-				}

-				stringBuffer.append(TEXT_7);

-			}

-			stringBuffer.append(TEXT_8);

-			for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {

-				if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {

-					for (GenClass genClass : genPackage.getGenClasses()) {

-						stringBuffer.append(TEXT_9);

-						stringBuffer.append(genClass.getName());

-						stringBuffer.append(TEXT_10);

-						stringBuffer.append(genClass.getFormattedName());

-					}

-				}

-			}

-			stringBuffer.append(TEXT_11);

-			for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) {

-				String description = genFeature.getPropertyDescription();

-				stringBuffer.append(TEXT_12);

-				stringBuffer.append(genFeature.getGenClass().getName());

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(genFeature.getName());

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genFeature.getFormattedName());

-				if (description != null && description.length() > 0) {

-					stringBuffer.append(TEXT_15);

-					stringBuffer.append(genFeature.getGenClass().getName());

-					stringBuffer.append(TEXT_16);

-					stringBuffer.append(genFeature.getName());

-					stringBuffer.append(TEXT_17);

-					stringBuffer.append(description);

-				}

-			}

-			stringBuffer.append(TEXT_18);

-			for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {

-				if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {

-					for (GenEnum genEnum : genPackage.getGenEnums()) {

-						for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

-							stringBuffer.append(TEXT_19);

-							stringBuffer.append(genEnum.getName());

-							stringBuffer.append(TEXT_20);

-							stringBuffer.append(genEnumLiteral.getName());

-							stringBuffer.append(TEXT_21);

-							stringBuffer.append(genEnumLiteral.getLiteral());

-						}

-					}

-				}

-			}

-			for (String category : genModel.getPropertyCategories()) {

-				stringBuffer.append(TEXT_22);

-				stringBuffer.append(genModel.getPropertyCategoryKey(category));

-				stringBuffer.append(TEXT_23);

-				stringBuffer.append(category);

-			}

-		}

-		stringBuffer.append(TEXT_24);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		canGenerate = canGenerate && (true);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginProperties extends org.eclipse.egf.emf.pattern.base.GenModelProperties {
+	protected static String nl;
+
+	public static synchronized PluginProperties create(String lineSeparator) {
+		nl = lineSeparator;
+		PluginProperties result = new PluginProperties();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + NL + "pluginName = ";
+	protected final String TEXT_3 = " Edit Support" + NL + "providerName = www.example.org";
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL + "_UI_CreateChild_text = {0}" + NL + "_UI_CreateChild_text2 = {1} ";
+	protected final String TEXT_6 = "| ";
+	protected final String TEXT_7 = "{0}" + NL + "_UI_CreateChild_text3 = {1}" + NL
+			+ "_UI_CreateChild_tooltip = Create New {0} Under {1} Feature" + NL
+			+ "_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}."
+			+ NL
+			+ "_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent."
+			+ NL;
+	protected final String TEXT_8 = NL + "_UI_PropertyDescriptor_description = The {0} of the {1}" + NL;
+	protected final String TEXT_9 = NL + "_UI_";
+	protected final String TEXT_10 = "_type = ";
+	protected final String TEXT_11 = NL + "_UI_Unknown_type = Object" + NL + "" + NL + "_UI_Unknown_datatype= Value"
+			+ NL;
+	protected final String TEXT_12 = NL + "_UI_";
+	protected final String TEXT_13 = "_";
+	protected final String TEXT_14 = "_feature = ";
+	protected final String TEXT_15 = NL + "_UI_";
+	protected final String TEXT_16 = "_";
+	protected final String TEXT_17 = "_description = ";
+	protected final String TEXT_18 = NL + "_UI_Unknown_feature = Unspecified" + NL;
+	protected final String TEXT_19 = NL + "_UI_";
+	protected final String TEXT_20 = "_";
+	protected final String TEXT_21 = "_literal = ";
+	protected final String TEXT_22 = NL;
+	protected final String TEXT_23 = " = ";
+	protected final String TEXT_24 = NL;
+	protected final String TEXT_25 = NL;
+	protected final String TEXT_26 = NL;
+
+	public PluginProperties() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_25);
+		stringBuffer.append(TEXT_26);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditProjectDirectory() + "/plugin.properties";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2007 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getModelName());
+		stringBuffer.append(TEXT_3);
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_4);
+			if (genModel.isCreationCommands()) {
+				stringBuffer.append(TEXT_5);
+				if (genModel.isCreationSubmenus()) {
+					stringBuffer.append(TEXT_6);
+				}
+				stringBuffer.append(TEXT_7);
+			}
+			stringBuffer.append(TEXT_8);
+			for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+				if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {
+					for (GenClass genClass : genPackage.getGenClasses()) {
+						stringBuffer.append(TEXT_9);
+						stringBuffer.append(genClass.getName());
+						stringBuffer.append(TEXT_10);
+						stringBuffer.append(genClass.getFormattedName());
+					}
+				}
+			}
+			stringBuffer.append(TEXT_11);
+			for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) {
+				String description = genFeature.getPropertyDescription();
+				stringBuffer.append(TEXT_12);
+				stringBuffer.append(genFeature.getGenClass().getName());
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(genFeature.getName());
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genFeature.getFormattedName());
+				if (description != null && description.length() > 0) {
+					stringBuffer.append(TEXT_15);
+					stringBuffer.append(genFeature.getGenClass().getName());
+					stringBuffer.append(TEXT_16);
+					stringBuffer.append(genFeature.getName());
+					stringBuffer.append(TEXT_17);
+					stringBuffer.append(description);
+				}
+			}
+			stringBuffer.append(TEXT_18);
+			for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+				if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {
+					for (GenEnum genEnum : genPackage.getGenEnums()) {
+						for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+							stringBuffer.append(TEXT_19);
+							stringBuffer.append(genEnum.getName());
+							stringBuffer.append(TEXT_20);
+							stringBuffer.append(genEnumLiteral.getName());
+							stringBuffer.append(TEXT_21);
+							stringBuffer.append(genEnumLiteral.getLiteral());
+						}
+					}
+				}
+			}
+			for (String category : genModel.getPropertyCategories()) {
+				stringBuffer.append(TEXT_22);
+				stringBuffer.append(genModel.getPropertyCategoryKey(category));
+				stringBuffer.append(TEXT_23);
+				stringBuffer.append(category);
+			}
+		}
+		stringBuffer.append(TEXT_24);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		canGenerate = canGenerate && (true);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginXML.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginXML.java
index 4a1d632..179d4ea 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginXML.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/PluginXML.java
@@ -1,410 +1,409 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class PluginXML extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized PluginXML create(String lineSeparator) {

-		nl = lineSeparator;

-		PluginXML result = new PluginXML();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<?eclipse version=\"3.0\"?>"

-			+ NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL;

-	protected final String TEXT_4 = NL + "<plugin>";

-	protected final String TEXT_5 = NL + "<plugin" + NL + "      name=\"%pluginName\"" + NL + "      id=\"";

-	protected final String TEXT_6 = "\"" + NL + "      version=\"1.0.0\"" + NL

-			+ "      provider-name=\"%providerName\"" + NL + "      class=\"";

-	protected final String TEXT_7 = "$Implementation\">" + NL + "" + NL + "   <requires>";

-	protected final String TEXT_8 = NL + "      <import plugin=\"";

-	protected final String TEXT_9 = "\"";

-	protected final String TEXT_10 = " export=\"true\"";

-	protected final String TEXT_11 = "/>";

-	protected final String TEXT_12 = NL + "   </requires>" + NL + "" + NL + "   <runtime>";

-	protected final String TEXT_13 = NL + "      <library name=\"";

-	protected final String TEXT_14 = ".jar\">";

-	protected final String TEXT_15 = NL + "      <library name=\".\">";

-	protected final String TEXT_16 = NL + "         <export name=\"*\"/>" + NL + "      </library>" + NL

-			+ "   </runtime>";

-	protected final String TEXT_17 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.generated_package\">";

-	protected final String TEXT_18 = NL + "      <!-- @generated ";

-	protected final String TEXT_19 = " -->";

-	protected final String TEXT_20 = NL + "      <package" + NL + "            uri=\"";

-	protected final String TEXT_21 = "\"";

-	protected final String TEXT_22 = NL + "            class=\"";

-	protected final String TEXT_23 = "\"" + NL + "            genModel=\"";

-	protected final String TEXT_24 = "\"/>";

-	protected final String TEXT_25 = NL + "            class=\"";

-	protected final String TEXT_26 = "\"/>";

-	protected final String TEXT_27 = NL + "   </extension>";

-	protected final String TEXT_28 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.content_parser\">";

-	protected final String TEXT_29 = NL + "      <!-- @generated ";

-	protected final String TEXT_30 = " -->";

-	protected final String TEXT_31 = NL + "      <parser" + NL + "            contentTypeIdentifier=\"";

-	protected final String TEXT_32 = "\"" + NL + "            class=\"";

-	protected final String TEXT_33 = "\"/>" + NL + "   </extension>" + NL + "" + NL

-			+ "   <extension point=\"org.eclipse.core.contenttype.contentTypes\">";

-	protected final String TEXT_34 = NL + "      <!-- @generated ";

-	protected final String TEXT_35 = " -->";

-	protected final String TEXT_36 = NL + "      <content-type" + NL + "            base-type=\"";

-	protected final String TEXT_37 = "\"" + NL + "            file-extensions=\"";

-	protected final String TEXT_38 = "\"" + NL + "            id=\"";

-	protected final String TEXT_39 = "\"" + NL + "            name=\"%_UI_";

-	protected final String TEXT_40 = "_content_type\"" + NL + "            priority=\"normal\">" + NL

-			+ "         <describer class=\"org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer\">";

-	protected final String TEXT_41 = NL + "            <parameter name=\"namespace\" value=\"";

-	protected final String TEXT_42 = "\"/>";

-	protected final String TEXT_43 = NL + "            <parameter name=\"kind\" value=\"xmi\"/>";

-	protected final String TEXT_44 = NL + "         </describer>" + NL + "      </content-type>" + NL

-			+ "   </extension>";

-	protected final String TEXT_45 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.extension_parser\">";

-	protected final String TEXT_46 = NL + "      <!-- @generated ";

-	protected final String TEXT_47 = " -->";

-	protected final String TEXT_48 = NL + "      <parser" + NL + "            type=\"";

-	protected final String TEXT_49 = "\"" + NL + "            class=\"";

-	protected final String TEXT_50 = "\"/>";

-	protected final String TEXT_51 = NL + "   </extension>";

-	protected final String TEXT_52 = NL + NL

-			+ "   <extension point=\"org.eclipse.emf.edit.itemProviderAdapterFactories\">";

-	protected final String TEXT_53 = NL + "      <!-- @generated ";

-	protected final String TEXT_54 = " -->";

-	protected final String TEXT_55 = NL + "      <factory" + NL + "            uri=\"";

-	protected final String TEXT_56 = "\"" + NL + "            class=\"";

-	protected final String TEXT_57 = "\"" + NL + "            supportedTypes=";

-	protected final String TEXT_58 = NL + "              ";

-	protected final String TEXT_59 = "\"/>";

-	protected final String TEXT_60 = NL + "   </extension>";

-	protected final String TEXT_61 = NL + NL + "   <extension point=\"org.eclipse.emf.edit.childCreationExtenders\">";

-	protected final String TEXT_62 = NL + "      <!-- @generated ";

-	protected final String TEXT_63 = " -->";

-	protected final String TEXT_64 = NL + "      <extender" + NL + "            uri=\"";

-	protected final String TEXT_65 = "\"" + NL + "            class=\"";

-	protected final String TEXT_66 = "$";

-	protected final String TEXT_67 = "\"/>";

-	protected final String TEXT_68 = NL + "   </extension>";

-	protected final String TEXT_69 = NL + NL + "</plugin>" + NL;

-	protected final String TEXT_70 = NL;

-	protected final String TEXT_71 = NL;

-

-	public PluginXML() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_70);

-		stringBuffer.append(TEXT_71);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditProjectDirectory() + "/plugin.xml";

-		overwrite = true;

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2005 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		String key = genModel.getPluginKey();

-		boolean hasKey = key != null && !key.equals("");

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_3);

-		if (genModel.isBundleManifest()) {

-			stringBuffer.append(TEXT_4);

-		} else {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genModel.getEditPluginID());

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genModel.getQualifiedEditPluginClassName());

-			stringBuffer.append(TEXT_7);

-			for (String pluginID : genModel.getEditRequiredPlugins()) {

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(pluginID);

-				stringBuffer.append(TEXT_9);

-				if (!pluginID.startsWith("org.eclipse.core.runtime")) {

-					stringBuffer.append(TEXT_10);

-				}

-				stringBuffer.append(TEXT_11);

-			}

-			stringBuffer.append(TEXT_12);

-			if (genModel.isRuntimeJar()) {

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(genModel.getEditPluginID());

-				stringBuffer.append(TEXT_14);

-			} else {

-				stringBuffer.append(TEXT_15);

-			}

-			stringBuffer.append(TEXT_16);

-		}

-		if (genModel.sameModelEditProject()) {

-			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

-				stringBuffer.append(TEXT_17);

-				if (hasKey) {

-					stringBuffer.append(TEXT_18);

-					stringBuffer.append(key);

-					stringBuffer.append(TEXT_19);

-				}

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genPackage.getNSURI());

-				stringBuffer.append(TEXT_21);

-				if (genModel.hasLocalGenModel()) {

-					stringBuffer.append(TEXT_22);

-					stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-					stringBuffer.append(TEXT_23);

-					stringBuffer.append(genModel.getRelativeGenModelLocation());

-					stringBuffer.append(TEXT_24);

-				} else {

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-					stringBuffer.append(TEXT_26);

-				}

-				stringBuffer.append(TEXT_27);

-				if (genPackage.isContentType()) {

-					stringBuffer.append(TEXT_28);

-					if (hasKey) {

-						stringBuffer.append(TEXT_29);

-						stringBuffer.append(key);

-						stringBuffer.append(TEXT_30);

-					}

-					stringBuffer.append(TEXT_31);

-					stringBuffer.append(genPackage.getContentTypeIdentifier());

-					stringBuffer.append(TEXT_32);

-					stringBuffer.append(genPackage.getQualifiedEffectiveResourceFactoryClassName());

-					stringBuffer.append(TEXT_33);

-					if (hasKey) {

-						stringBuffer.append(TEXT_34);

-						stringBuffer.append(key);

-						stringBuffer.append(TEXT_35);

-					}

-					stringBuffer.append(TEXT_36);

-					stringBuffer.append(genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi"

-							: "org.eclipse.core.runtime.xml");

-					stringBuffer.append(TEXT_37);

-					stringBuffer.append(genPackage.getFileExtensions());

-					stringBuffer.append(TEXT_38);

-					stringBuffer.append(genPackage.getContentTypeIdentifier());

-					stringBuffer.append(TEXT_39);

-					stringBuffer.append(genPackage.getPrefix());

-					stringBuffer.append(TEXT_40);

-					if (genPackage.hasTargetNamespace()) {

-						stringBuffer.append(TEXT_41);

-						stringBuffer.append(genPackage.getNSURI());

-						stringBuffer.append(TEXT_42);

-					}

-					if (genPackage.isXMIResource()) {

-						stringBuffer.append(TEXT_43);

-					}

-					stringBuffer.append(TEXT_44);

-				} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {

-					stringBuffer.append(TEXT_45);

-					if (hasKey) {

-						stringBuffer.append(TEXT_46);

-						stringBuffer.append(key);

-						stringBuffer.append(TEXT_47);

-					}

-					for (String fileExtension : genPackage.getFileExtensionList()) {

-						stringBuffer.append(TEXT_48);

-						stringBuffer.append(fileExtension);

-						stringBuffer.append(TEXT_49);

-						stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());

-						stringBuffer.append(TEXT_50);

-					}

-					stringBuffer.append(TEXT_51);

-				}

-			}

-		}

-		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

-			if (!genPackage.getGenClasses().isEmpty()) {

-				stringBuffer.append(TEXT_52);

-				if (hasKey) {

-					stringBuffer.append(TEXT_53);

-					stringBuffer.append(key);

-					stringBuffer.append(TEXT_54);

-				}

-				stringBuffer.append(TEXT_55);

-				stringBuffer.append(genPackage.getNSURI());

-				stringBuffer.append(TEXT_56);

-				stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());

-				stringBuffer.append(TEXT_57);

-				for (ListIterator<?> j = genPackage.getProviderSupportedTypes().listIterator(); j.hasNext();) {

-					stringBuffer.append(TEXT_58);

-					stringBuffer.append(j.hasPrevious() ? " " : "\"");

-					stringBuffer.append(j.next());

-					if (!j.hasNext()) {

-						stringBuffer.append(TEXT_59);

-					}

-				}

-				stringBuffer.append(TEXT_60);

-				if (genPackage.isChildCreationExtenders()) {

-					Map<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> extendedChildCreationData = genPackage

-							.getExtendedChildCreationData();

-					if (!extendedChildCreationData.isEmpty()) {

-						stringBuffer.append(TEXT_61);

-						if (hasKey) {

-							stringBuffer.append(TEXT_62);

-							stringBuffer.append(key);

-							stringBuffer.append(TEXT_63);

-						}

-						for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> entry : extendedChildCreationData

-								.entrySet()) {

-							stringBuffer.append(TEXT_64);

-							stringBuffer.append(entry.getKey().getNSURI());

-							stringBuffer.append(TEXT_65);

-							stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());

-							stringBuffer.append(TEXT_66);

-							stringBuffer.append(genPackage.getChildCreationExtenderName(entry.getKey()));

-							stringBuffer.append(TEXT_67);

-						}

-						stringBuffer.append(TEXT_68);

-					}

-				}

-			}

-		}

-		stringBuffer.append(TEXT_69);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT)

-				&& (!genModel.sameEditEditorProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized PluginXML create(String lineSeparator) {
+		nl = lineSeparator;
+		PluginXML result = new PluginXML();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<?eclipse version=\"3.0\"?>"
+			+ NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL;
+	protected final String TEXT_4 = NL + "<plugin>";
+	protected final String TEXT_5 = NL + "<plugin" + NL + "      name=\"%pluginName\"" + NL + "      id=\"";
+	protected final String TEXT_6 = "\"" + NL + "      version=\"1.0.0\"" + NL + "      provider-name=\"%providerName\""
+			+ NL + "      class=\"";
+	protected final String TEXT_7 = "$Implementation\">" + NL + "" + NL + "   <requires>";
+	protected final String TEXT_8 = NL + "      <import plugin=\"";
+	protected final String TEXT_9 = "\"";
+	protected final String TEXT_10 = " export=\"true\"";
+	protected final String TEXT_11 = "/>";
+	protected final String TEXT_12 = NL + "   </requires>" + NL + "" + NL + "   <runtime>";
+	protected final String TEXT_13 = NL + "      <library name=\"";
+	protected final String TEXT_14 = ".jar\">";
+	protected final String TEXT_15 = NL + "      <library name=\".\">";
+	protected final String TEXT_16 = NL + "         <export name=\"*\"/>" + NL + "      </library>" + NL
+			+ "   </runtime>";
+	protected final String TEXT_17 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.generated_package\">";
+	protected final String TEXT_18 = NL + "      <!-- @generated ";
+	protected final String TEXT_19 = " -->";
+	protected final String TEXT_20 = NL + "      <package" + NL + "            uri=\"";
+	protected final String TEXT_21 = "\"";
+	protected final String TEXT_22 = NL + "            class=\"";
+	protected final String TEXT_23 = "\"" + NL + "            genModel=\"";
+	protected final String TEXT_24 = "\"/>";
+	protected final String TEXT_25 = NL + "            class=\"";
+	protected final String TEXT_26 = "\"/>";
+	protected final String TEXT_27 = NL + "   </extension>";
+	protected final String TEXT_28 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.content_parser\">";
+	protected final String TEXT_29 = NL + "      <!-- @generated ";
+	protected final String TEXT_30 = " -->";
+	protected final String TEXT_31 = NL + "      <parser" + NL + "            contentTypeIdentifier=\"";
+	protected final String TEXT_32 = "\"" + NL + "            class=\"";
+	protected final String TEXT_33 = "\"/>" + NL + "   </extension>" + NL + "" + NL
+			+ "   <extension point=\"org.eclipse.core.contenttype.contentTypes\">";
+	protected final String TEXT_34 = NL + "      <!-- @generated ";
+	protected final String TEXT_35 = " -->";
+	protected final String TEXT_36 = NL + "      <content-type" + NL + "            base-type=\"";
+	protected final String TEXT_37 = "\"" + NL + "            file-extensions=\"";
+	protected final String TEXT_38 = "\"" + NL + "            id=\"";
+	protected final String TEXT_39 = "\"" + NL + "            name=\"%_UI_";
+	protected final String TEXT_40 = "_content_type\"" + NL + "            priority=\"normal\">" + NL
+			+ "         <describer class=\"org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer\">";
+	protected final String TEXT_41 = NL + "            <parameter name=\"namespace\" value=\"";
+	protected final String TEXT_42 = "\"/>";
+	protected final String TEXT_43 = NL + "            <parameter name=\"kind\" value=\"xmi\"/>";
+	protected final String TEXT_44 = NL + "         </describer>" + NL + "      </content-type>" + NL
+			+ "   </extension>";
+	protected final String TEXT_45 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.extension_parser\">";
+	protected final String TEXT_46 = NL + "      <!-- @generated ";
+	protected final String TEXT_47 = " -->";
+	protected final String TEXT_48 = NL + "      <parser" + NL + "            type=\"";
+	protected final String TEXT_49 = "\"" + NL + "            class=\"";
+	protected final String TEXT_50 = "\"/>";
+	protected final String TEXT_51 = NL + "   </extension>";
+	protected final String TEXT_52 = NL + NL
+			+ "   <extension point=\"org.eclipse.emf.edit.itemProviderAdapterFactories\">";
+	protected final String TEXT_53 = NL + "      <!-- @generated ";
+	protected final String TEXT_54 = " -->";
+	protected final String TEXT_55 = NL + "      <factory" + NL + "            uri=\"";
+	protected final String TEXT_56 = "\"" + NL + "            class=\"";
+	protected final String TEXT_57 = "\"" + NL + "            supportedTypes=";
+	protected final String TEXT_58 = NL + "              ";
+	protected final String TEXT_59 = "\"/>";
+	protected final String TEXT_60 = NL + "   </extension>";
+	protected final String TEXT_61 = NL + NL + "   <extension point=\"org.eclipse.emf.edit.childCreationExtenders\">";
+	protected final String TEXT_62 = NL + "      <!-- @generated ";
+	protected final String TEXT_63 = " -->";
+	protected final String TEXT_64 = NL + "      <extender" + NL + "            uri=\"";
+	protected final String TEXT_65 = "\"" + NL + "            class=\"";
+	protected final String TEXT_66 = "$";
+	protected final String TEXT_67 = "\"/>";
+	protected final String TEXT_68 = NL + "   </extension>";
+	protected final String TEXT_69 = NL + NL + "</plugin>" + NL;
+	protected final String TEXT_70 = NL;
+	protected final String TEXT_71 = NL;
+
+	public PluginXML() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_70);
+		stringBuffer.append(TEXT_71);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditProjectDirectory() + "/plugin.xml";
+		overwrite = true;
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2005 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		String key = genModel.getPluginKey();
+		boolean hasKey = key != null && !key.equals("");
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_3);
+		if (genModel.isBundleManifest()) {
+			stringBuffer.append(TEXT_4);
+		} else {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genModel.getEditPluginID());
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genModel.getQualifiedEditPluginClassName());
+			stringBuffer.append(TEXT_7);
+			for (String pluginID : genModel.getEditRequiredPlugins()) {
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(pluginID);
+				stringBuffer.append(TEXT_9);
+				if (!pluginID.startsWith("org.eclipse.core.runtime")) {
+					stringBuffer.append(TEXT_10);
+				}
+				stringBuffer.append(TEXT_11);
+			}
+			stringBuffer.append(TEXT_12);
+			if (genModel.isRuntimeJar()) {
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(genModel.getEditPluginID());
+				stringBuffer.append(TEXT_14);
+			} else {
+				stringBuffer.append(TEXT_15);
+			}
+			stringBuffer.append(TEXT_16);
+		}
+		if (genModel.sameModelEditProject()) {
+			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+				stringBuffer.append(TEXT_17);
+				if (hasKey) {
+					stringBuffer.append(TEXT_18);
+					stringBuffer.append(key);
+					stringBuffer.append(TEXT_19);
+				}
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genPackage.getNSURI());
+				stringBuffer.append(TEXT_21);
+				if (genModel.hasLocalGenModel()) {
+					stringBuffer.append(TEXT_22);
+					stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+					stringBuffer.append(TEXT_23);
+					stringBuffer.append(genModel.getRelativeGenModelLocation());
+					stringBuffer.append(TEXT_24);
+				} else {
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+					stringBuffer.append(TEXT_26);
+				}
+				stringBuffer.append(TEXT_27);
+				if (genPackage.isContentType()) {
+					stringBuffer.append(TEXT_28);
+					if (hasKey) {
+						stringBuffer.append(TEXT_29);
+						stringBuffer.append(key);
+						stringBuffer.append(TEXT_30);
+					}
+					stringBuffer.append(TEXT_31);
+					stringBuffer.append(genPackage.getContentTypeIdentifier());
+					stringBuffer.append(TEXT_32);
+					stringBuffer.append(genPackage.getQualifiedEffectiveResourceFactoryClassName());
+					stringBuffer.append(TEXT_33);
+					if (hasKey) {
+						stringBuffer.append(TEXT_34);
+						stringBuffer.append(key);
+						stringBuffer.append(TEXT_35);
+					}
+					stringBuffer.append(TEXT_36);
+					stringBuffer.append(
+							genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml");
+					stringBuffer.append(TEXT_37);
+					stringBuffer.append(genPackage.getFileExtensions());
+					stringBuffer.append(TEXT_38);
+					stringBuffer.append(genPackage.getContentTypeIdentifier());
+					stringBuffer.append(TEXT_39);
+					stringBuffer.append(genPackage.getPrefix());
+					stringBuffer.append(TEXT_40);
+					if (genPackage.hasTargetNamespace()) {
+						stringBuffer.append(TEXT_41);
+						stringBuffer.append(genPackage.getNSURI());
+						stringBuffer.append(TEXT_42);
+					}
+					if (genPackage.isXMIResource()) {
+						stringBuffer.append(TEXT_43);
+					}
+					stringBuffer.append(TEXT_44);
+				} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {
+					stringBuffer.append(TEXT_45);
+					if (hasKey) {
+						stringBuffer.append(TEXT_46);
+						stringBuffer.append(key);
+						stringBuffer.append(TEXT_47);
+					}
+					for (String fileExtension : genPackage.getFileExtensionList()) {
+						stringBuffer.append(TEXT_48);
+						stringBuffer.append(fileExtension);
+						stringBuffer.append(TEXT_49);
+						stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());
+						stringBuffer.append(TEXT_50);
+					}
+					stringBuffer.append(TEXT_51);
+				}
+			}
+		}
+		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+			if (!genPackage.getGenClasses().isEmpty()) {
+				stringBuffer.append(TEXT_52);
+				if (hasKey) {
+					stringBuffer.append(TEXT_53);
+					stringBuffer.append(key);
+					stringBuffer.append(TEXT_54);
+				}
+				stringBuffer.append(TEXT_55);
+				stringBuffer.append(genPackage.getNSURI());
+				stringBuffer.append(TEXT_56);
+				stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());
+				stringBuffer.append(TEXT_57);
+				for (ListIterator<?> j = genPackage.getProviderSupportedTypes().listIterator(); j.hasNext();) {
+					stringBuffer.append(TEXT_58);
+					stringBuffer.append(j.hasPrevious() ? " " : "\"");
+					stringBuffer.append(j.next());
+					if (!j.hasNext()) {
+						stringBuffer.append(TEXT_59);
+					}
+				}
+				stringBuffer.append(TEXT_60);
+				if (genPackage.isChildCreationExtenders()) {
+					Map<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> extendedChildCreationData = genPackage
+							.getExtendedChildCreationData();
+					if (!extendedChildCreationData.isEmpty()) {
+						stringBuffer.append(TEXT_61);
+						if (hasKey) {
+							stringBuffer.append(TEXT_62);
+							stringBuffer.append(key);
+							stringBuffer.append(TEXT_63);
+						}
+						for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> entry : extendedChildCreationData
+								.entrySet()) {
+							stringBuffer.append(TEXT_64);
+							stringBuffer.append(entry.getKey().getNSURI());
+							stringBuffer.append(TEXT_65);
+							stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());
+							stringBuffer.append(TEXT_66);
+							stringBuffer.append(genPackage.getChildCreationExtenderName(entry.getKey()));
+							stringBuffer.append(TEXT_67);
+						}
+						stringBuffer.append(TEXT_68);
+					}
+				}
+			}
+		}
+		stringBuffer.append(TEXT_69);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT)
+				&& (!genModel.sameEditEditorProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Properties.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Properties.java
index 5d3ae3c..6ca9d26 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Properties.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/Properties.java
@@ -1,410 +1,351 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Properties extends org.eclipse.egf.emf.pattern.base.GenModelJava {

-	protected static String nl;

-

-	public static synchronized Properties create(String lineSeparator) {

-		nl = lineSeparator;

-		Properties result = new Properties();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public interface ";

-	protected final String TEXT_5 = "Properties extends ";

-	protected final String TEXT_6 = NL + "{";

-	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\t@Key(\"_UI_CreateChild_text\")" + NL + "\t@DefaultMessage(\"{0}\")" + NL

-			+ "\tString createChildText(Object type);" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\t@Key(\"_UI_CreateChild_text2\")" + NL + "\t@DefaultMessage(\"{1} ";

-	protected final String TEXT_8 = "| ";

-	protected final String TEXT_9 = "{0}\")"

-			+ NL

-			+ "\tString createChildText2(Object type, Object feature);"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\t@Key(\"_UI_CreateChild_text3\")"

-			+ NL

-			+ "\t@DefaultMessage(\"{0}\")"

-			+ NL

-			+ "\tString createChildText3(Object feature);"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\t@Key(\"_UI_CreateChild_tooltip\")"

-			+ NL

-			+ "\t@DefaultMessage(\"Create New {0} Under {1} Feature\")"

-			+ NL

-			+ "\tString createChildTooltip(Object type, Object feature);"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\t@Key(\"_UI_CreateChild_description\")"

-			+ NL

-			+ "\t@DefaultMessage(\"Create a new child of type {0} for the {1} feature of the selected {2}.\")"

-			+ NL

-			+ "\tString createChildDescripition(Object type, Object feature, Object selection);"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\t@Key(\"_UI_CreateSibling_description\")"

-			+ NL

-			+ "\t@DefaultMessage(\"Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.\")"

-			+ NL + "\tString createSiblingDescription(Object type, Object feature, Object selection);" + NL;

-	protected final String TEXT_10 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\t@Key(\"_UI_PropertyDescriptor_description\")" + NL + "\t@DefaultMessage(\"The {0} of the {1}\")" + NL

-			+ "\tString propertyDescriptorDescription(Object feature, Object type);" + NL;

-	protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_";

-	protected final String TEXT_12 = "_type\")" + NL + "\t@DefaultMessage(\"";

-	protected final String TEXT_13 = "\")" + NL + "\tString ";

-	protected final String TEXT_14 = "Type();" + NL;

-	protected final String TEXT_15 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\t@Key(\"_UI_Unknown_type\")" + NL + "\t@DefaultMessage(\"Object\")" + NL + "\tString unknownType();"

-			+ NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_Unknown_datatype\")" + NL

-			+ "\t@DefaultMessage(\"Value\")" + NL + "\tString unknownDatatype();" + NL;

-	protected final String TEXT_16 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_";

-	protected final String TEXT_17 = "_";

-	protected final String TEXT_18 = "_feature\")" + NL + "\t@DefaultMessage(\"";

-	protected final String TEXT_19 = "\")" + NL + "\tString ";

-	protected final String TEXT_20 = "_";

-	protected final String TEXT_21 = "Feature();" + NL;

-	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_";

-	protected final String TEXT_23 = "_";

-	protected final String TEXT_24 = "_description\")" + NL + "\t@DefaultMessage(\"";

-	protected final String TEXT_25 = "\")" + NL + "\tString ";

-	protected final String TEXT_26 = "_";

-	protected final String TEXT_27 = "Description();" + NL;

-	protected final String TEXT_28 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\t@Key(\"_UI_Unknown_feature\")" + NL + "\t@DefaultMessage(\"Unspecified\")" + NL

-			+ "\tString unknownFeature();" + NL;

-	protected final String TEXT_29 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_";

-	protected final String TEXT_30 = "_";

-	protected final String TEXT_31 = "_literal\")" + NL + "\t@DefaultMessage(\"";

-	protected final String TEXT_32 = "\")" + NL + "\tString ";

-	protected final String TEXT_33 = "_";

-	protected final String TEXT_34 = "Literal();" + NL;

-	protected final String TEXT_35 = NL;

-	protected final String TEXT_36 = " = ";

-	protected final String TEXT_37 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"";

-	protected final String TEXT_38 = "\")" + NL + "\t@DefaultMessage(\"";

-	protected final String TEXT_39 = "\")" + NL + "\tString ";

-	protected final String TEXT_40 = "();" + NL;

-	protected final String TEXT_41 = NL + "}";

-	protected final String TEXT_42 = NL;

-	protected final String TEXT_43 = NL;

-	protected final String TEXT_44 = NL;

-

-	public Properties() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_43);

-		stringBuffer.append(TEXT_44);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPath = genModel.getEditPluginDirectory();

-		packageName = genModel.getEditPluginPackageName();

-		className = genModel.getEditPluginClassName() + "Properties";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2010 Ed Merks 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:

-		 *   Ed Merks - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getEditPluginPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genModel.getEditPluginClassName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genModel.getImportedName("com.google.gwt.i18n.client.Messages"));

-		stringBuffer.append(TEXT_6);

-		if (genModel.isCreationCommands()) {

-			stringBuffer.append(TEXT_7);

-			if (genModel.isCreationSubmenus()) {

-				stringBuffer.append(TEXT_8);

-			}

-			stringBuffer.append(TEXT_9);

-		}

-		stringBuffer.append(TEXT_10);

-		for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {

-			if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {

-				for (GenClass genClass : genPackage.getGenClasses()) {

-					stringBuffer.append(TEXT_11);

-					stringBuffer.append(genClass.getName());

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(genClass.getFormattedName());

-					stringBuffer.append(TEXT_13);

-					stringBuffer.append(genClass.getUncapName());

-					stringBuffer.append(TEXT_14);

-				}

-			}

-		}

-		stringBuffer.append(TEXT_15);

-		for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) {

-			String description = genFeature.getPropertyDescription();

-			stringBuffer.append(TEXT_16);

-			stringBuffer.append(genFeature.getGenClass().getName());

-			stringBuffer.append(TEXT_17);

-			stringBuffer.append(genFeature.getName());

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(genFeature.getFormattedName());

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genFeature.getGenClass().getUncapName());

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genFeature.getCapName());

-			stringBuffer.append(TEXT_21);

-			if (description != null && description.length() > 0) {

-				stringBuffer.append(TEXT_22);

-				stringBuffer.append(genFeature.getGenClass().getName());

-				stringBuffer.append(TEXT_23);

-				stringBuffer.append(genFeature.getName());

-				stringBuffer.append(TEXT_24);

-				stringBuffer.append(description);

-				stringBuffer.append(TEXT_25);

-				stringBuffer.append(genFeature.getGenClass().getUncapName());

-				stringBuffer.append(TEXT_26);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_27);

-			}

-		}

-		stringBuffer.append(TEXT_28);

-		for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {

-			if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {

-				for (GenEnum genEnum : genPackage.getGenEnums()) {

-					for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

-						stringBuffer.append(TEXT_29);

-						stringBuffer.append(genEnum.getName());

-						stringBuffer.append(TEXT_30);

-						stringBuffer.append(genEnumLiteral.getName());

-						stringBuffer.append(TEXT_31);

-						stringBuffer.append(genEnumLiteral.getLiteral());

-						stringBuffer.append(TEXT_32);

-						stringBuffer.append(genEnum.getSafeUncapName());

-						stringBuffer.append(TEXT_33);

-						stringBuffer.append(genEnumLiteral.getName());

-						stringBuffer.append(TEXT_34);

-					}

-				}

-			}

-		}

-		for (String category : genModel.getPropertyCategories()) {

-			stringBuffer.append(TEXT_35);

-			stringBuffer.append(genModel.getPropertyCategoryKey(category));

-			stringBuffer.append(TEXT_36);

-			stringBuffer.append(category);

-			stringBuffer.append(TEXT_37);

-			stringBuffer.append(genModel.getPropertyCategoryKey(category));

-			stringBuffer.append(TEXT_38);

-			stringBuffer.append(category);

-			stringBuffer.append(TEXT_39);

-			stringBuffer.append(genModel.getPropertyCategoryKey(category));

-			stringBuffer.append(TEXT_40);

-		}

-		stringBuffer.append(TEXT_41);

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_42);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");

-		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT)

-				&& (!genModel.sameEditEditorProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Properties extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+	protected static String nl;
+
+	public static synchronized Properties create(String lineSeparator) {
+		nl = lineSeparator;
+		Properties result = new Properties();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public interface ";
+	protected final String TEXT_5 = "Properties extends ";
+	protected final String TEXT_6 = NL + "{";
+	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\t@Key(\"_UI_CreateChild_text\")" + NL + "\t@DefaultMessage(\"{0}\")" + NL
+			+ "\tString createChildText(Object type);" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\t@Key(\"_UI_CreateChild_text2\")" + NL + "\t@DefaultMessage(\"{1} ";
+	protected final String TEXT_8 = "| ";
+	protected final String TEXT_9 = "{0}\")" + NL + "\tString createChildText2(Object type, Object feature);" + NL + ""
+			+ NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_CreateChild_text3\")" + NL
+			+ "\t@DefaultMessage(\"{0}\")" + NL + "\tString createChildText3(Object feature);" + NL + "" + NL + "\t/**"
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\t@Key(\"_UI_CreateChild_tooltip\")" + NL
+			+ "\t@DefaultMessage(\"Create New {0} Under {1} Feature\")" + NL
+			+ "\tString createChildTooltip(Object type, Object feature);" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t@Key(\"_UI_CreateChild_description\")" + NL
+			+ "\t@DefaultMessage(\"Create a new child of type {0} for the {1} feature of the selected {2}.\")" + NL
+			+ "\tString createChildDescripition(Object type, Object feature, Object selection);" + NL + "" + NL
+			+ "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated"
+			+ NL + "\t */" + NL + "\t@Key(\"_UI_CreateSibling_description\")" + NL
+			+ "\t@DefaultMessage(\"Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.\")"
+			+ NL + "\tString createSiblingDescription(Object type, Object feature, Object selection);" + NL;
+	protected final String TEXT_10 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\t@Key(\"_UI_PropertyDescriptor_description\")" + NL + "\t@DefaultMessage(\"The {0} of the {1}\")" + NL
+			+ "\tString propertyDescriptorDescription(Object feature, Object type);" + NL;
+	protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_";
+	protected final String TEXT_12 = "_type\")" + NL + "\t@DefaultMessage(\"";
+	protected final String TEXT_13 = "\")" + NL + "\tString ";
+	protected final String TEXT_14 = "Type();" + NL;
+	protected final String TEXT_15 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_Unknown_type\")"
+			+ NL + "\t@DefaultMessage(\"Object\")" + NL + "\tString unknownType();" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t@Key(\"_UI_Unknown_datatype\")" + NL + "\t@DefaultMessage(\"Value\")" + NL
+			+ "\tString unknownDatatype();" + NL;
+	protected final String TEXT_16 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_";
+	protected final String TEXT_17 = "_";
+	protected final String TEXT_18 = "_feature\")" + NL + "\t@DefaultMessage(\"";
+	protected final String TEXT_19 = "\")" + NL + "\tString ";
+	protected final String TEXT_20 = "_";
+	protected final String TEXT_21 = "Feature();" + NL;
+	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_";
+	protected final String TEXT_23 = "_";
+	protected final String TEXT_24 = "_description\")" + NL + "\t@DefaultMessage(\"";
+	protected final String TEXT_25 = "\")" + NL + "\tString ";
+	protected final String TEXT_26 = "_";
+	protected final String TEXT_27 = "Description();" + NL;
+	protected final String TEXT_28 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\t@Key(\"_UI_Unknown_feature\")" + NL + "\t@DefaultMessage(\"Unspecified\")" + NL
+			+ "\tString unknownFeature();" + NL;
+	protected final String TEXT_29 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"_UI_";
+	protected final String TEXT_30 = "_";
+	protected final String TEXT_31 = "_literal\")" + NL + "\t@DefaultMessage(\"";
+	protected final String TEXT_32 = "\")" + NL + "\tString ";
+	protected final String TEXT_33 = "_";
+	protected final String TEXT_34 = "Literal();" + NL;
+	protected final String TEXT_35 = NL;
+	protected final String TEXT_36 = " = ";
+	protected final String TEXT_37 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Key(\"";
+	protected final String TEXT_38 = "\")" + NL + "\t@DefaultMessage(\"";
+	protected final String TEXT_39 = "\")" + NL + "\tString ";
+	protected final String TEXT_40 = "();" + NL;
+	protected final String TEXT_41 = NL + "}";
+	protected final String TEXT_42 = NL;
+	protected final String TEXT_43 = NL;
+	protected final String TEXT_44 = NL;
+
+	public Properties() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_43);
+		stringBuffer.append(TEXT_44);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPath = genModel.getEditPluginDirectory();
+		packageName = genModel.getEditPluginPackageName();
+		className = genModel.getEditPluginClassName() + "Properties";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2010 Ed Merks 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:
+		 *   Ed Merks - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getEditPluginPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genModel.getEditPluginClassName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genModel.getImportedName("com.google.gwt.i18n.client.Messages"));
+		stringBuffer.append(TEXT_6);
+		if (genModel.isCreationCommands()) {
+			stringBuffer.append(TEXT_7);
+			if (genModel.isCreationSubmenus()) {
+				stringBuffer.append(TEXT_8);
+			}
+			stringBuffer.append(TEXT_9);
+		}
+		stringBuffer.append(TEXT_10);
+		for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+			if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {
+				for (GenClass genClass : genPackage.getGenClasses()) {
+					stringBuffer.append(TEXT_11);
+					stringBuffer.append(genClass.getName());
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(genClass.getFormattedName());
+					stringBuffer.append(TEXT_13);
+					stringBuffer.append(genClass.getUncapName());
+					stringBuffer.append(TEXT_14);
+				}
+			}
+		}
+		stringBuffer.append(TEXT_15);
+		for (GenFeature genFeature : genModel.getFilteredAllGenFeatures()) {
+			String description = genFeature.getPropertyDescription();
+			stringBuffer.append(TEXT_16);
+			stringBuffer.append(genFeature.getGenClass().getName());
+			stringBuffer.append(TEXT_17);
+			stringBuffer.append(genFeature.getName());
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(genFeature.getFormattedName());
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genFeature.getGenClass().getUncapName());
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genFeature.getCapName());
+			stringBuffer.append(TEXT_21);
+			if (description != null && description.length() > 0) {
+				stringBuffer.append(TEXT_22);
+				stringBuffer.append(genFeature.getGenClass().getName());
+				stringBuffer.append(TEXT_23);
+				stringBuffer.append(genFeature.getName());
+				stringBuffer.append(TEXT_24);
+				stringBuffer.append(description);
+				stringBuffer.append(TEXT_25);
+				stringBuffer.append(genFeature.getGenClass().getUncapName());
+				stringBuffer.append(TEXT_26);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_27);
+			}
+		}
+		stringBuffer.append(TEXT_28);
+		for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+			if (genPackage.getGenModel() == genModel || !genPackage.getGenModel().hasEditSupport()) {
+				for (GenEnum genEnum : genPackage.getGenEnums()) {
+					for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+						stringBuffer.append(TEXT_29);
+						stringBuffer.append(genEnum.getName());
+						stringBuffer.append(TEXT_30);
+						stringBuffer.append(genEnumLiteral.getName());
+						stringBuffer.append(TEXT_31);
+						stringBuffer.append(genEnumLiteral.getLiteral());
+						stringBuffer.append(TEXT_32);
+						stringBuffer.append(genEnum.getSafeUncapName());
+						stringBuffer.append(TEXT_33);
+						stringBuffer.append(genEnumLiteral.getName());
+						stringBuffer.append(TEXT_34);
+					}
+				}
+			}
+		}
+		for (String category : genModel.getPropertyCategories()) {
+			stringBuffer.append(TEXT_35);
+			stringBuffer.append(genModel.getPropertyCategoryKey(category));
+			stringBuffer.append(TEXT_36);
+			stringBuffer.append(category);
+			stringBuffer.append(TEXT_37);
+			stringBuffer.append(genModel.getPropertyCategoryKey(category));
+			stringBuffer.append(TEXT_38);
+			stringBuffer.append(category);
+			stringBuffer.append(TEXT_39);
+			stringBuffer.append(genModel.getPropertyCategoryKey(category));
+			stringBuffer.append(TEXT_40);
+		}
+		stringBuffer.append(TEXT_41);
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_42);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditProject");
+		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT)
+				&& (!genModel.sameEditEditorProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvideraddPropertyDescriptoroverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvideraddPropertyDescriptoroverride.java
index d8d0521..c370b52 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvideraddPropertyDescriptoroverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvideraddPropertyDescriptoroverride.java
@@ -1,263 +1,263 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProvideraddPropertyDescriptoroverride {

-	protected static String nl;

-

-	public static synchronized ItemProvideraddPropertyDescriptoroverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ItemProvideraddPropertyDescriptoroverride result = new ItemProvideraddPropertyDescriptoroverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\titemPropertyDescriptors.add" + NL + "\t\t\t(createItemPropertyDescriptor"

-			+ NL + "\t\t\t\t(((";

-	protected final String TEXT_2 = ")adapterFactory).getRootAdapterFactory()," + NL + "\t\t\t\t getResourceLocator(),"

-			+ NL + "\t\t\t\t getString(\"_UI_";

-	protected final String TEXT_3 = "_";

-	protected final String TEXT_4 = "_feature\"),";

-	protected final String TEXT_5 = NL + "\t\t\t\t getString(\"_UI_PropertyDescriptor_description\", \"_UI_";

-	protected final String TEXT_6 = "_";

-	protected final String TEXT_7 = "_feature\", \"_UI_";

-	protected final String TEXT_8 = "_type\"),";

-	protected final String TEXT_9 = NL + "\t\t\t\t getString(\"_UI_";

-	protected final String TEXT_10 = "_";

-	protected final String TEXT_11 = "_description\"),";

-	protected final String TEXT_12 = NL + "\t\t\t\t ";

-	protected final String TEXT_13 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_14 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_15 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_16 = ",";

-	protected final String TEXT_17 = NL + "\t\t\t\t null,";

-	protected final String TEXT_18 = NL + "\t\t\t\t ";

-	protected final String TEXT_19 = ".";

-	protected final String TEXT_20 = ",";

-	protected final String TEXT_21 = NL + "\t\t\t\t null,";

-	protected final String TEXT_22 = NL + "\t\t\t\t getString(\"";

-	protected final String TEXT_23 = "\"),";

-	protected final String TEXT_24 = NL + "\t\t\t\t null));";

-	protected final String TEXT_25 = NL + "\t\t\t\t new String[] {";

-	protected final String TEXT_26 = NL + "\t\t\t\t\t\"";

-	protected final String TEXT_27 = "\"";

-	protected final String TEXT_28 = ",";

-	protected final String TEXT_29 = NL + "\t\t\t\t }));";

-	protected final String TEXT_30 = NL;

-	protected final String TEXT_31 = NL;

-	protected final String TEXT_32 = NL;

-

-	public ItemProvideraddPropertyDescriptoroverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ListList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object _ListParameter : _ListList) {

-

-							this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-							this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-							this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-							this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-							this._List = (java.lang.String) _ListParameter;

-

-							if (preCondition(ctx)) {

-								ctx.setNode(new Node.Container(currentNode, getClass()));

-								orchestration(ctx);

-							}

-

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_31);

-		stringBuffer.append(TEXT_32);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("_List", this._List);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.String _List = null;

-

-	public void set__List(java.lang.String object) {

-		this._List = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("_List", this._List);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ComposeableAdapterFactory"));

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getGenClass().getName());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getName());

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genModel.getNonNLS());

-		if (genFeature.getPropertyDescription() == null || genFeature.getPropertyDescription().length() == 0) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genFeature.getGenClass().getName());

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genFeature.getName());

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genFeature.getGenClass().getName());

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(genModel.getNonNLS(2));

-			stringBuffer.append(genModel.getNonNLS(3));

-		} else {

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genFeature.getGenClass().getName());

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genFeature.getName());

-			stringBuffer.append(TEXT_11);

-			stringBuffer.append(genModel.getNonNLS());

-		}

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-		stringBuffer.append(TEXT_13);

-		stringBuffer.append(genFeature.getProperty() == GenPropertyKind.EDITABLE_LITERAL ? "true" : "false");

-		stringBuffer.append(TEXT_14);

-		stringBuffer.append(genFeature.isPropertyMultiLine() ? "true" : "false");

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(genFeature.isPropertySortChoices() ? "true" : "false");

-		stringBuffer.append(TEXT_16);

-		if (genFeature.isReferenceType()) {

-			stringBuffer.append(TEXT_17);

-		} else {

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ItemPropertyDescriptor"));

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genFeature.getPropertyImageName());

-			stringBuffer.append(TEXT_20);

-		}

-		if (genFeature.getPropertyCategory() == null || genFeature.getPropertyCategory().length() == 0) {

-			stringBuffer.append(TEXT_21);

-		} else {

-			stringBuffer.append(TEXT_22);

-			stringBuffer.append(genModel.getPropertyCategoryKey(genFeature.getPropertyCategory()));

-			stringBuffer.append(TEXT_23);

-			stringBuffer.append(genModel.getNonNLS());

-		}

-		if (genFeature.getPropertyFilterFlags().isEmpty()) {

-			stringBuffer.append(TEXT_24);

-		} else {

-			stringBuffer.append(TEXT_25);

-			for (Iterator<String> j = genFeature.getPropertyFilterFlags().iterator(); j.hasNext();) {

-				String filterFlag = j.next();

-				if (filterFlag != null && filterFlag.length() > 0) {

-					stringBuffer.append(TEXT_26);

-					stringBuffer.append(filterFlag);

-					stringBuffer.append(TEXT_27);

-					if (j.hasNext()) {

-						stringBuffer.append(TEXT_28);

-					}

-					stringBuffer.append(genModel.getNonNLS());

-				}

-			}

-			stringBuffer.append(TEXT_29);

-		}

-		stringBuffer.append(TEXT_30);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvideraddPropertyDescriptoroverride {
+	protected static String nl;
+
+	public static synchronized ItemProvideraddPropertyDescriptoroverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ItemProvideraddPropertyDescriptoroverride result = new ItemProvideraddPropertyDescriptoroverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\titemPropertyDescriptors.add" + NL + "\t\t\t(createItemPropertyDescriptor"
+			+ NL + "\t\t\t\t(((";
+	protected final String TEXT_2 = ")adapterFactory).getRootAdapterFactory()," + NL + "\t\t\t\t getResourceLocator(),"
+			+ NL + "\t\t\t\t getString(\"_UI_";
+	protected final String TEXT_3 = "_";
+	protected final String TEXT_4 = "_feature\"),";
+	protected final String TEXT_5 = NL + "\t\t\t\t getString(\"_UI_PropertyDescriptor_description\", \"_UI_";
+	protected final String TEXT_6 = "_";
+	protected final String TEXT_7 = "_feature\", \"_UI_";
+	protected final String TEXT_8 = "_type\"),";
+	protected final String TEXT_9 = NL + "\t\t\t\t getString(\"_UI_";
+	protected final String TEXT_10 = "_";
+	protected final String TEXT_11 = "_description\"),";
+	protected final String TEXT_12 = NL + "\t\t\t\t ";
+	protected final String TEXT_13 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_14 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_15 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_16 = ",";
+	protected final String TEXT_17 = NL + "\t\t\t\t null,";
+	protected final String TEXT_18 = NL + "\t\t\t\t ";
+	protected final String TEXT_19 = ".";
+	protected final String TEXT_20 = ",";
+	protected final String TEXT_21 = NL + "\t\t\t\t null,";
+	protected final String TEXT_22 = NL + "\t\t\t\t getString(\"";
+	protected final String TEXT_23 = "\"),";
+	protected final String TEXT_24 = NL + "\t\t\t\t null));";
+	protected final String TEXT_25 = NL + "\t\t\t\t new String[] {";
+	protected final String TEXT_26 = NL + "\t\t\t\t\t\"";
+	protected final String TEXT_27 = "\"";
+	protected final String TEXT_28 = ",";
+	protected final String TEXT_29 = NL + "\t\t\t\t }));";
+	protected final String TEXT_30 = NL;
+	protected final String TEXT_31 = NL;
+	protected final String TEXT_32 = NL;
+
+	public ItemProvideraddPropertyDescriptoroverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ListList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object _ListParameter : _ListList) {
+
+							this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+							this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+							this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+							this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+							this._List = (java.lang.String) _ListParameter;
+
+							if (preCondition(ctx)) {
+								ctx.setNode(new Node.Container(currentNode, getClass()));
+								orchestration(ctx);
+							}
+
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_31);
+		stringBuffer.append(TEXT_32);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("_List", this._List);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.String _List = null;
+
+	public void set__List(java.lang.String object) {
+		this._List = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("_List", this._List);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ComposeableAdapterFactory"));
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getGenClass().getName());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getName());
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genModel.getNonNLS());
+		if (genFeature.getPropertyDescription() == null || genFeature.getPropertyDescription().length() == 0) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genFeature.getGenClass().getName());
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genFeature.getName());
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genFeature.getGenClass().getName());
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(genModel.getNonNLS(2));
+			stringBuffer.append(genModel.getNonNLS(3));
+		} else {
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genFeature.getGenClass().getName());
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genFeature.getName());
+			stringBuffer.append(TEXT_11);
+			stringBuffer.append(genModel.getNonNLS());
+		}
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+		stringBuffer.append(TEXT_13);
+		stringBuffer.append(genFeature.getProperty() == GenPropertyKind.EDITABLE_LITERAL ? "true" : "false");
+		stringBuffer.append(TEXT_14);
+		stringBuffer.append(genFeature.isPropertyMultiLine() ? "true" : "false");
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(genFeature.isPropertySortChoices() ? "true" : "false");
+		stringBuffer.append(TEXT_16);
+		if (genFeature.isReferenceType()) {
+			stringBuffer.append(TEXT_17);
+		} else {
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ItemPropertyDescriptor"));
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genFeature.getPropertyImageName());
+			stringBuffer.append(TEXT_20);
+		}
+		if (genFeature.getPropertyCategory() == null || genFeature.getPropertyCategory().length() == 0) {
+			stringBuffer.append(TEXT_21);
+		} else {
+			stringBuffer.append(TEXT_22);
+			stringBuffer.append(genModel.getPropertyCategoryKey(genFeature.getPropertyCategory()));
+			stringBuffer.append(TEXT_23);
+			stringBuffer.append(genModel.getNonNLS());
+		}
+		if (genFeature.getPropertyFilterFlags().isEmpty()) {
+			stringBuffer.append(TEXT_24);
+		} else {
+			stringBuffer.append(TEXT_25);
+			for (Iterator<String> j = genFeature.getPropertyFilterFlags().iterator(); j.hasNext();) {
+				String filterFlag = j.next();
+				if (filterFlag != null && filterFlag.length() > 0) {
+					stringBuffer.append(TEXT_26);
+					stringBuffer.append(filterFlag);
+					stringBuffer.append(TEXT_27);
+					if (j.hasNext()) {
+						stringBuffer.append(TEXT_28);
+					}
+					stringBuffer.append(genModel.getNonNLS());
+				}
+			}
+			stringBuffer.append(TEXT_29);
+		}
+		stringBuffer.append(TEXT_30);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetStyledTextoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetStyledTextoverride.java
index 69ce2d3..5d2b6b6 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetStyledTextoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetStyledTextoverride.java
@@ -1,360 +1,360 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProvidergetStyledTextoverride {

-	protected static String nl;

-

-	public static synchronized ItemProvidergetStyledTextoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ItemProvidergetStyledTextoverride result = new ItemProvidergetStyledTextoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t\t";

-	protected final String TEXT_3 = "<?, ?>";

-	protected final String TEXT_4 = " ";

-	protected final String TEXT_5 = " = (";

-	protected final String TEXT_6 = "<?, ?>";

-	protected final String TEXT_7 = ")object;";

-	protected final String TEXT_8 = NL + "\t\treturn new ";

-	protected final String TEXT_9 = "(\"\" + ";

-	protected final String TEXT_10 = ".getKey()).append(\" -> \", ";

-	protected final String TEXT_11 = ".QUALIFIER_STYLER).append(\"\" + ";

-	protected final String TEXT_12 = ".getValue());";

-	protected final String TEXT_13 = NL + "\t\tString key = crop(\"\" + ";

-	protected final String TEXT_14 = ".getKey());";

-	protected final String TEXT_15 = NL + "\t\tString key = \"\" + ";

-	protected final String TEXT_16 = ".getKey();";

-	protected final String TEXT_17 = NL + "\t\tString value = crop(\"\" + ";

-	protected final String TEXT_18 = ".getValue());";

-	protected final String TEXT_19 = NL + "\t\tString value = \"\" + ";

-	protected final String TEXT_20 = ".getValue();";

-	protected final String TEXT_21 = NL + "\t\treturn new ";

-	protected final String TEXT_22 = "(key).append(\" -> \", ";

-	protected final String TEXT_23 = ".QUALIFIER_STYLER).append(value);";

-	protected final String TEXT_24 = NL + "\t\t";

-	protected final String TEXT_25 = " ";

-	protected final String TEXT_26 = " = (";

-	protected final String TEXT_27 = ")object;" + NL + "\t\treturn new ";

-	protected final String TEXT_28 = "(getString(\"_UI_";

-	protected final String TEXT_29 = "_type\"), ";

-	protected final String TEXT_30 = ".QUALIFIER_STYLER).append(\" \").append(";

-	protected final String TEXT_31 = ".toString(";

-	protected final String TEXT_32 = ".";

-	protected final String TEXT_33 = "()));";

-	protected final String TEXT_34 = NL + "\t\tString label = crop(((";

-	protected final String TEXT_35 = ")object).";

-	protected final String TEXT_36 = "());";

-	protected final String TEXT_37 = NL + "\t\tString label = ((";

-	protected final String TEXT_38 = ")object).";

-	protected final String TEXT_39 = "();";

-	protected final String TEXT_40 = NL + "\t\t";

-	protected final String TEXT_41 = " labelValue = ((";

-	protected final String TEXT_42 = ")object).eGet(";

-	protected final String TEXT_43 = ");";

-	protected final String TEXT_44 = NL + "\t\t";

-	protected final String TEXT_45 = " labelValue = ((";

-	protected final String TEXT_46 = ")object).";

-	protected final String TEXT_47 = "();";

-	protected final String TEXT_48 = NL + "\t\tString label = labelValue == null ? null : labelValue.toString();";

-	protected final String TEXT_49 = NL + "    \t";

-	protected final String TEXT_50 = " styledLabel = new ";

-	protected final String TEXT_51 = "();" + NL + "\t\tif (label == null || label.length() == 0) " + NL + "\t\t{" + NL

-			+ "\t\t\tstyledLabel.append(getString(\"_UI_";

-	protected final String TEXT_52 = "_type\"), ";

-	protected final String TEXT_53 = ".QUALIFIER_STYLER); ";

-	protected final String TEXT_54 = NL + "\t\t} else {" + NL + "\t\t\tstyledLabel.append(getString(\"_UI_";

-	protected final String TEXT_55 = "_type\"), ";

-	protected final String TEXT_56 = ".QUALIFIER_STYLER).append(\" \" + label);";

-	protected final String TEXT_57 = NL + "\t\t}" + NL + "\t\treturn styledLabel;";

-	protected final String TEXT_58 = NL + "\t\treturn new ";

-	protected final String TEXT_59 = "(getString(\"_UI_";

-	protected final String TEXT_60 = "_type\"));";

-	protected final String TEXT_61 = NL;

-	protected final String TEXT_62 = NL;

-	protected final String TEXT_63 = NL;

-

-	public ItemProvidergetStyledTextoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ListList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object _ListParameter : _ListList) {

-

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-						this._List = (java.lang.String) _ListParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_62);

-		stringBuffer.append(TEXT_63);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("_List", this._List);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.String _List = null;

-

-	public void set__List(java.lang.String object) {

-		this._List = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("_List", this._List);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genClass.isMapEntry()) {

-			stringBuffer.append(TEXT_2);

-			stringBuffer.append(genClass.getImportedInterfaceName());

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_3);

-			}

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(genClass.getSafeUncapName());

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genClass.getImportedInterfaceName());

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_6);

-			}

-			stringBuffer.append(TEXT_7);

-			if (!genClass.getMapEntryKeyFeature().isPropertyMultiLine()

-					&& !genClass.getMapEntryValueFeature().isPropertyMultiLine()) {

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

-				stringBuffer.append(TEXT_9);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_10);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));

-				stringBuffer.append(TEXT_11);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_12);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(genModel.getNonNLS(2));

-			} else {

-				if (genClass.getMapEntryKeyFeature().isPropertyMultiLine()) {

-					stringBuffer.append(TEXT_13);

-					stringBuffer.append(genClass.getSafeUncapName());

-					stringBuffer.append(TEXT_14);

-					stringBuffer.append(genModel.getNonNLS());

-				} else {

-					stringBuffer.append(TEXT_15);

-					stringBuffer.append(genClass.getSafeUncapName());

-					stringBuffer.append(TEXT_16);

-					stringBuffer.append(genModel.getNonNLS());

-				}

-				if (genClass.getMapEntryValueFeature().isPropertyMultiLine()) {

-					stringBuffer.append(TEXT_17);

-					stringBuffer.append(genClass.getSafeUncapName());

-					stringBuffer.append(TEXT_18);

-					stringBuffer.append(genModel.getNonNLS());

-				} else {

-					stringBuffer.append(TEXT_19);

-					stringBuffer.append(genClass.getSafeUncapName());

-					stringBuffer.append(TEXT_20);

-					stringBuffer.append(genModel.getNonNLS());

-				}

-				stringBuffer.append(TEXT_21);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

-				stringBuffer.append(TEXT_22);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));

-				stringBuffer.append(TEXT_23);

-				stringBuffer.append(genModel.getNonNLS());

-			}

-		} else if (genClass.getLabelFeature() != null) {

-			GenFeature labelFeature = genClass.getLabelFeature();

-			if (labelFeature.isPrimitiveType() && !labelFeature.getGenClass().isDynamic()

-					&& !labelFeature.isSuppressedGetVisibility()) {

-				stringBuffer.append(TEXT_24);

-				stringBuffer.append(genClass.getImportedInterfaceName());

-				stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-				stringBuffer.append(TEXT_25);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_26);

-				stringBuffer.append(genClass.getImportedInterfaceName());

-				stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-				stringBuffer.append(TEXT_27);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

-				stringBuffer.append(TEXT_28);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(labelFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_31);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genClass.getLabelFeature().getGetAccessor());

-				stringBuffer.append(TEXT_33);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(genModel.getNonNLS(2));

-			} else {

-				if (labelFeature.isStringType() && !labelFeature.getGenClass().isDynamic()

-						&& !labelFeature.isSuppressedGetVisibility()) {

-					if (labelFeature.isPropertyMultiLine()) {

-						stringBuffer.append(TEXT_34);

-						stringBuffer.append(genClass.getImportedInterfaceName());

-						stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-						stringBuffer.append(TEXT_35);

-						stringBuffer.append(labelFeature.getGetAccessor());

-						stringBuffer.append(TEXT_36);

-					} else {

-						stringBuffer.append(TEXT_37);

-						stringBuffer.append(genClass.getImportedInterfaceName());

-						stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-						stringBuffer.append(TEXT_38);

-						stringBuffer.append(labelFeature.getGetAccessor());

-						stringBuffer.append(TEXT_39);

-					}

-				} else {

-					if (labelFeature.isSuppressedGetVisibility() || labelFeature.getGenClass().isDynamic()) {

-						stringBuffer.append(TEXT_40);

-						stringBuffer.append(genModel.getImportedName("java.lang.Object"));

-						stringBuffer.append(TEXT_41);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

-						stringBuffer.append(TEXT_42);

-						stringBuffer.append(labelFeature.getQualifiedFeatureAccessor());

-						stringBuffer.append(TEXT_43);

-					} else {

-						stringBuffer.append(TEXT_44);

-						stringBuffer.append(labelFeature.getRawImportedType());

-						stringBuffer.append(TEXT_45);

-						stringBuffer.append(genClass.getImportedInterfaceName());

-						stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-						stringBuffer.append(TEXT_46);

-						stringBuffer.append(labelFeature.getGetAccessor());

-						stringBuffer.append(TEXT_47);

-					}

-					stringBuffer.append(TEXT_48);

-				}

-				stringBuffer.append(TEXT_49);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

-				stringBuffer.append(TEXT_50);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

-				stringBuffer.append(TEXT_51);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_52);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));

-				stringBuffer.append(TEXT_53);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(TEXT_54);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_55);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));

-				stringBuffer.append(TEXT_56);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(genModel.getNonNLS(2));

-				stringBuffer.append(TEXT_57);

-			}

-		} else {

-			stringBuffer.append(TEXT_58);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

-			stringBuffer.append(TEXT_59);

-			stringBuffer.append(genClass.getName());

-			stringBuffer.append(TEXT_60);

-			stringBuffer.append(genModel.getNonNLS());

-		}

-		stringBuffer.append(TEXT_61);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidergetStyledTextoverride {
+	protected static String nl;
+
+	public static synchronized ItemProvidergetStyledTextoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ItemProvidergetStyledTextoverride result = new ItemProvidergetStyledTextoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t\t";
+	protected final String TEXT_3 = "<?, ?>";
+	protected final String TEXT_4 = " ";
+	protected final String TEXT_5 = " = (";
+	protected final String TEXT_6 = "<?, ?>";
+	protected final String TEXT_7 = ")object;";
+	protected final String TEXT_8 = NL + "\t\treturn new ";
+	protected final String TEXT_9 = "(\"\" + ";
+	protected final String TEXT_10 = ".getKey()).append(\" -> \", ";
+	protected final String TEXT_11 = ".QUALIFIER_STYLER).append(\"\" + ";
+	protected final String TEXT_12 = ".getValue());";
+	protected final String TEXT_13 = NL + "\t\tString key = crop(\"\" + ";
+	protected final String TEXT_14 = ".getKey());";
+	protected final String TEXT_15 = NL + "\t\tString key = \"\" + ";
+	protected final String TEXT_16 = ".getKey();";
+	protected final String TEXT_17 = NL + "\t\tString value = crop(\"\" + ";
+	protected final String TEXT_18 = ".getValue());";
+	protected final String TEXT_19 = NL + "\t\tString value = \"\" + ";
+	protected final String TEXT_20 = ".getValue();";
+	protected final String TEXT_21 = NL + "\t\treturn new ";
+	protected final String TEXT_22 = "(key).append(\" -> \", ";
+	protected final String TEXT_23 = ".QUALIFIER_STYLER).append(value);";
+	protected final String TEXT_24 = NL + "\t\t";
+	protected final String TEXT_25 = " ";
+	protected final String TEXT_26 = " = (";
+	protected final String TEXT_27 = ")object;" + NL + "\t\treturn new ";
+	protected final String TEXT_28 = "(getString(\"_UI_";
+	protected final String TEXT_29 = "_type\"), ";
+	protected final String TEXT_30 = ".QUALIFIER_STYLER).append(\" \").append(";
+	protected final String TEXT_31 = ".toString(";
+	protected final String TEXT_32 = ".";
+	protected final String TEXT_33 = "()));";
+	protected final String TEXT_34 = NL + "\t\tString label = crop(((";
+	protected final String TEXT_35 = ")object).";
+	protected final String TEXT_36 = "());";
+	protected final String TEXT_37 = NL + "\t\tString label = ((";
+	protected final String TEXT_38 = ")object).";
+	protected final String TEXT_39 = "();";
+	protected final String TEXT_40 = NL + "\t\t";
+	protected final String TEXT_41 = " labelValue = ((";
+	protected final String TEXT_42 = ")object).eGet(";
+	protected final String TEXT_43 = ");";
+	protected final String TEXT_44 = NL + "\t\t";
+	protected final String TEXT_45 = " labelValue = ((";
+	protected final String TEXT_46 = ")object).";
+	protected final String TEXT_47 = "();";
+	protected final String TEXT_48 = NL + "\t\tString label = labelValue == null ? null : labelValue.toString();";
+	protected final String TEXT_49 = NL + "    \t";
+	protected final String TEXT_50 = " styledLabel = new ";
+	protected final String TEXT_51 = "();" + NL + "\t\tif (label == null || label.length() == 0) " + NL + "\t\t{" + NL
+			+ "\t\t\tstyledLabel.append(getString(\"_UI_";
+	protected final String TEXT_52 = "_type\"), ";
+	protected final String TEXT_53 = ".QUALIFIER_STYLER); ";
+	protected final String TEXT_54 = NL + "\t\t} else {" + NL + "\t\t\tstyledLabel.append(getString(\"_UI_";
+	protected final String TEXT_55 = "_type\"), ";
+	protected final String TEXT_56 = ".QUALIFIER_STYLER).append(\" \" + label);";
+	protected final String TEXT_57 = NL + "\t\t}" + NL + "\t\treturn styledLabel;";
+	protected final String TEXT_58 = NL + "\t\treturn new ";
+	protected final String TEXT_59 = "(getString(\"_UI_";
+	protected final String TEXT_60 = "_type\"));";
+	protected final String TEXT_61 = NL;
+	protected final String TEXT_62 = NL;
+	protected final String TEXT_63 = NL;
+
+	public ItemProvidergetStyledTextoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ListList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object _ListParameter : _ListList) {
+
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+						this._List = (java.lang.String) _ListParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_62);
+		stringBuffer.append(TEXT_63);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("_List", this._List);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.String _List = null;
+
+	public void set__List(java.lang.String object) {
+		this._List = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("_List", this._List);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genClass.isMapEntry()) {
+			stringBuffer.append(TEXT_2);
+			stringBuffer.append(genClass.getImportedInterfaceName());
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_3);
+			}
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(genClass.getSafeUncapName());
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genClass.getImportedInterfaceName());
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_6);
+			}
+			stringBuffer.append(TEXT_7);
+			if (!genClass.getMapEntryKeyFeature().isPropertyMultiLine()
+					&& !genClass.getMapEntryValueFeature().isPropertyMultiLine()) {
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+				stringBuffer.append(TEXT_9);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_10);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));
+				stringBuffer.append(TEXT_11);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_12);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(genModel.getNonNLS(2));
+			} else {
+				if (genClass.getMapEntryKeyFeature().isPropertyMultiLine()) {
+					stringBuffer.append(TEXT_13);
+					stringBuffer.append(genClass.getSafeUncapName());
+					stringBuffer.append(TEXT_14);
+					stringBuffer.append(genModel.getNonNLS());
+				} else {
+					stringBuffer.append(TEXT_15);
+					stringBuffer.append(genClass.getSafeUncapName());
+					stringBuffer.append(TEXT_16);
+					stringBuffer.append(genModel.getNonNLS());
+				}
+				if (genClass.getMapEntryValueFeature().isPropertyMultiLine()) {
+					stringBuffer.append(TEXT_17);
+					stringBuffer.append(genClass.getSafeUncapName());
+					stringBuffer.append(TEXT_18);
+					stringBuffer.append(genModel.getNonNLS());
+				} else {
+					stringBuffer.append(TEXT_19);
+					stringBuffer.append(genClass.getSafeUncapName());
+					stringBuffer.append(TEXT_20);
+					stringBuffer.append(genModel.getNonNLS());
+				}
+				stringBuffer.append(TEXT_21);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+				stringBuffer.append(TEXT_22);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));
+				stringBuffer.append(TEXT_23);
+				stringBuffer.append(genModel.getNonNLS());
+			}
+		} else if (genClass.getLabelFeature() != null) {
+			GenFeature labelFeature = genClass.getLabelFeature();
+			if (labelFeature.isPrimitiveType() && !labelFeature.getGenClass().isDynamic()
+					&& !labelFeature.isSuppressedGetVisibility()) {
+				stringBuffer.append(TEXT_24);
+				stringBuffer.append(genClass.getImportedInterfaceName());
+				stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+				stringBuffer.append(TEXT_25);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_26);
+				stringBuffer.append(genClass.getImportedInterfaceName());
+				stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+				stringBuffer.append(TEXT_27);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+				stringBuffer.append(TEXT_28);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(labelFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_31);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genClass.getLabelFeature().getGetAccessor());
+				stringBuffer.append(TEXT_33);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(genModel.getNonNLS(2));
+			} else {
+				if (labelFeature.isStringType() && !labelFeature.getGenClass().isDynamic()
+						&& !labelFeature.isSuppressedGetVisibility()) {
+					if (labelFeature.isPropertyMultiLine()) {
+						stringBuffer.append(TEXT_34);
+						stringBuffer.append(genClass.getImportedInterfaceName());
+						stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+						stringBuffer.append(TEXT_35);
+						stringBuffer.append(labelFeature.getGetAccessor());
+						stringBuffer.append(TEXT_36);
+					} else {
+						stringBuffer.append(TEXT_37);
+						stringBuffer.append(genClass.getImportedInterfaceName());
+						stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+						stringBuffer.append(TEXT_38);
+						stringBuffer.append(labelFeature.getGetAccessor());
+						stringBuffer.append(TEXT_39);
+					}
+				} else {
+					if (labelFeature.isSuppressedGetVisibility() || labelFeature.getGenClass().isDynamic()) {
+						stringBuffer.append(TEXT_40);
+						stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+						stringBuffer.append(TEXT_41);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+						stringBuffer.append(TEXT_42);
+						stringBuffer.append(labelFeature.getQualifiedFeatureAccessor());
+						stringBuffer.append(TEXT_43);
+					} else {
+						stringBuffer.append(TEXT_44);
+						stringBuffer.append(labelFeature.getRawImportedType());
+						stringBuffer.append(TEXT_45);
+						stringBuffer.append(genClass.getImportedInterfaceName());
+						stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+						stringBuffer.append(TEXT_46);
+						stringBuffer.append(labelFeature.getGetAccessor());
+						stringBuffer.append(TEXT_47);
+					}
+					stringBuffer.append(TEXT_48);
+				}
+				stringBuffer.append(TEXT_49);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+				stringBuffer.append(TEXT_50);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+				stringBuffer.append(TEXT_51);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_52);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));
+				stringBuffer.append(TEXT_53);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(TEXT_54);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_55);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString$Style"));
+				stringBuffer.append(TEXT_56);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(genModel.getNonNLS(2));
+				stringBuffer.append(TEXT_57);
+			}
+		} else {
+			stringBuffer.append(TEXT_58);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+			stringBuffer.append(TEXT_59);
+			stringBuffer.append(genClass.getName());
+			stringBuffer.append(TEXT_60);
+			stringBuffer.append(genModel.getNonNLS());
+		}
+		stringBuffer.append(TEXT_61);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetTextoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetTextoverride.java
index 488000b..f39d58a 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetTextoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidergetTextoverride.java
@@ -1,330 +1,330 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProvidergetTextoverride {

-	protected static String nl;

-

-	public static synchronized ItemProvidergetTextoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ItemProvidergetTextoverride result = new ItemProvidergetTextoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t\treturn ((";

-	protected final String TEXT_3 = ")getStyledText(object)).getString();";

-	protected final String TEXT_4 = NL + "\t\t";

-	protected final String TEXT_5 = "<?, ?>";

-	protected final String TEXT_6 = " ";

-	protected final String TEXT_7 = " = (";

-	protected final String TEXT_8 = "<?, ?>";

-	protected final String TEXT_9 = ")object;";

-	protected final String TEXT_10 = NL + "\t\treturn \"\" + ";

-	protected final String TEXT_11 = ".getKey() + \" -> \" + ";

-	protected final String TEXT_12 = ".getValue();";

-	protected final String TEXT_13 = NL + "\t\tString key = crop(\"\" + ";

-	protected final String TEXT_14 = ".getKey());";

-	protected final String TEXT_15 = NL + "\t\tString key = \"\" + ";

-	protected final String TEXT_16 = ".getKey();";

-	protected final String TEXT_17 = NL + "\t\tString value = crop(\"\" + ";

-	protected final String TEXT_18 = ".getValue());";

-	protected final String TEXT_19 = NL + "\t\tString value = \"\" + ";

-	protected final String TEXT_20 = ".getValue();";

-	protected final String TEXT_21 = NL + "\t\treturn key + \" -> \" + value;";

-	protected final String TEXT_22 = NL + "\t\t";

-	protected final String TEXT_23 = " ";

-	protected final String TEXT_24 = " = (";

-	protected final String TEXT_25 = ")object;" + NL + "\t\treturn getString(\"_UI_";

-	protected final String TEXT_26 = "_type\") + \" \" + ";

-	protected final String TEXT_27 = ".";

-	protected final String TEXT_28 = "();";

-	protected final String TEXT_29 = NL + "\t\tString label = crop(((";

-	protected final String TEXT_30 = ")object).";

-	protected final String TEXT_31 = "());";

-	protected final String TEXT_32 = NL + "\t\tString label = ((";

-	protected final String TEXT_33 = ")object).";

-	protected final String TEXT_34 = "();";

-	protected final String TEXT_35 = NL + "\t\t";

-	protected final String TEXT_36 = " labelValue = ((";

-	protected final String TEXT_37 = ")object).eGet(";

-	protected final String TEXT_38 = ");";

-	protected final String TEXT_39 = NL + "\t\t";

-	protected final String TEXT_40 = " labelValue = ((";

-	protected final String TEXT_41 = ")object).";

-	protected final String TEXT_42 = "();";

-	protected final String TEXT_43 = NL + "\t\tString label = labelValue == null ? null : labelValue.toString();";

-	protected final String TEXT_44 = NL + "\t\treturn label == null || label.length() == 0 ?" + NL

-			+ "\t\t\tgetString(\"_UI_";

-	protected final String TEXT_45 = "_type\") :";

-	protected final String TEXT_46 = NL + "\t\t\tgetString(\"_UI_";

-	protected final String TEXT_47 = "_type\") + \" \" + label;";

-	protected final String TEXT_48 = NL + "\t\treturn getString(\"_UI_";

-	protected final String TEXT_49 = "_type\");";

-	protected final String TEXT_50 = NL;

-	protected final String TEXT_51 = NL;

-	protected final String TEXT_52 = NL;

-

-	public ItemProvidergetTextoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ListList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object _ListParameter : _ListList) {

-

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-						this._List = (java.lang.String) _ListParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_51);

-		stringBuffer.append(TEXT_52);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("_List", this._List);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.String _List = null;

-

-	public void set__List(java.lang.String object) {

-		this._List = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("_List", this._List);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genModel.isStyleProviders()) {

-			stringBuffer.append(TEXT_2);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));

-			stringBuffer.append(TEXT_3);

-		} else {

-			if (genClass.isMapEntry()) {

-				stringBuffer.append(TEXT_4);

-				stringBuffer.append(genClass.getImportedInterfaceName());

-				if (genModel.useGenerics()) {

-					stringBuffer.append(TEXT_5);

-				}

-				stringBuffer.append(TEXT_6);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_7);

-				stringBuffer.append(genClass.getImportedInterfaceName());

-				if (genModel.useGenerics()) {

-					stringBuffer.append(TEXT_8);

-				}

-				stringBuffer.append(TEXT_9);

-				if (!genClass.getMapEntryKeyFeature().isPropertyMultiLine()

-						&& !genClass.getMapEntryValueFeature().isPropertyMultiLine()) {

-					stringBuffer.append(TEXT_10);

-					stringBuffer.append(genClass.getSafeUncapName());

-					stringBuffer.append(TEXT_11);

-					stringBuffer.append(genClass.getSafeUncapName());

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(genModel.getNonNLS(2));

-				} else {

-					if (genClass.getMapEntryKeyFeature().isPropertyMultiLine()) {

-						stringBuffer.append(TEXT_13);

-						stringBuffer.append(genClass.getSafeUncapName());

-						stringBuffer.append(TEXT_14);

-						stringBuffer.append(genModel.getNonNLS());

-					} else {

-						stringBuffer.append(TEXT_15);

-						stringBuffer.append(genClass.getSafeUncapName());

-						stringBuffer.append(TEXT_16);

-						stringBuffer.append(genModel.getNonNLS());

-					}

-					if (genClass.getMapEntryValueFeature().isPropertyMultiLine()) {

-						stringBuffer.append(TEXT_17);

-						stringBuffer.append(genClass.getSafeUncapName());

-						stringBuffer.append(TEXT_18);

-						stringBuffer.append(genModel.getNonNLS());

-					} else {

-						stringBuffer.append(TEXT_19);

-						stringBuffer.append(genClass.getSafeUncapName());

-						stringBuffer.append(TEXT_20);

-						stringBuffer.append(genModel.getNonNLS());

-					}

-					stringBuffer.append(TEXT_21);

-					stringBuffer.append(genModel.getNonNLS());

-				}

-			} else if (genClass.getLabelFeature() != null) {

-				GenFeature labelFeature = genClass.getLabelFeature();

-				if (labelFeature.isPrimitiveType() && !labelFeature.getGenClass().isDynamic()

-						&& !labelFeature.isSuppressedGetVisibility()) {

-					stringBuffer.append(TEXT_22);

-					stringBuffer.append(genClass.getImportedInterfaceName());

-					stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-					stringBuffer.append(TEXT_23);

-					stringBuffer.append(genClass.getSafeUncapName());

-					stringBuffer.append(TEXT_24);

-					stringBuffer.append(genClass.getImportedInterfaceName());

-					stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(genClass.getName());

-					stringBuffer.append(TEXT_26);

-					stringBuffer.append(genClass.getSafeUncapName());

-					stringBuffer.append(TEXT_27);

-					stringBuffer.append(genClass.getLabelFeature().getGetAccessor());

-					stringBuffer.append(TEXT_28);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(genModel.getNonNLS(2));

-				} else {

-					if (labelFeature.isStringType() && !labelFeature.getGenClass().isDynamic()

-							&& !labelFeature.isSuppressedGetVisibility()) {

-						if (labelFeature.isPropertyMultiLine()) {

-							stringBuffer.append(TEXT_29);

-							stringBuffer.append(genClass.getImportedInterfaceName());

-							stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-							stringBuffer.append(TEXT_30);

-							stringBuffer.append(labelFeature.getGetAccessor());

-							stringBuffer.append(TEXT_31);

-						} else {

-							stringBuffer.append(TEXT_32);

-							stringBuffer.append(genClass.getImportedInterfaceName());

-							stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-							stringBuffer.append(TEXT_33);

-							stringBuffer.append(labelFeature.getGetAccessor());

-							stringBuffer.append(TEXT_34);

-						}

-					} else {

-						if (labelFeature.isSuppressedGetVisibility() || labelFeature.getGenClass().isDynamic()) {

-							stringBuffer.append(TEXT_35);

-							stringBuffer.append(genModel.getImportedName("java.lang.Object"));

-							stringBuffer.append(TEXT_36);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

-							stringBuffer.append(TEXT_37);

-							stringBuffer.append(labelFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_38);

-						} else {

-							stringBuffer.append(TEXT_39);

-							stringBuffer.append(labelFeature.getRawImportedType());

-							stringBuffer.append(TEXT_40);

-							stringBuffer.append(genClass.getImportedInterfaceName());

-							stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-							stringBuffer.append(TEXT_41);

-							stringBuffer.append(labelFeature.getGetAccessor());

-							stringBuffer.append(TEXT_42);

-						}

-						stringBuffer.append(TEXT_43);

-					}

-					stringBuffer.append(TEXT_44);

-					stringBuffer.append(genClass.getName());

-					stringBuffer.append(TEXT_45);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(genClass.getName());

-					stringBuffer.append(TEXT_47);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(genModel.getNonNLS(2));

-				}

-			} else {

-				stringBuffer.append(TEXT_48);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_49);

-				stringBuffer.append(genModel.getNonNLS());

-			}

-		}

-		stringBuffer.append(TEXT_50);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidergetTextoverride {
+	protected static String nl;
+
+	public static synchronized ItemProvidergetTextoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ItemProvidergetTextoverride result = new ItemProvidergetTextoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t\treturn ((";
+	protected final String TEXT_3 = ")getStyledText(object)).getString();";
+	protected final String TEXT_4 = NL + "\t\t";
+	protected final String TEXT_5 = "<?, ?>";
+	protected final String TEXT_6 = " ";
+	protected final String TEXT_7 = " = (";
+	protected final String TEXT_8 = "<?, ?>";
+	protected final String TEXT_9 = ")object;";
+	protected final String TEXT_10 = NL + "\t\treturn \"\" + ";
+	protected final String TEXT_11 = ".getKey() + \" -> \" + ";
+	protected final String TEXT_12 = ".getValue();";
+	protected final String TEXT_13 = NL + "\t\tString key = crop(\"\" + ";
+	protected final String TEXT_14 = ".getKey());";
+	protected final String TEXT_15 = NL + "\t\tString key = \"\" + ";
+	protected final String TEXT_16 = ".getKey();";
+	protected final String TEXT_17 = NL + "\t\tString value = crop(\"\" + ";
+	protected final String TEXT_18 = ".getValue());";
+	protected final String TEXT_19 = NL + "\t\tString value = \"\" + ";
+	protected final String TEXT_20 = ".getValue();";
+	protected final String TEXT_21 = NL + "\t\treturn key + \" -> \" + value;";
+	protected final String TEXT_22 = NL + "\t\t";
+	protected final String TEXT_23 = " ";
+	protected final String TEXT_24 = " = (";
+	protected final String TEXT_25 = ")object;" + NL + "\t\treturn getString(\"_UI_";
+	protected final String TEXT_26 = "_type\") + \" \" + ";
+	protected final String TEXT_27 = ".";
+	protected final String TEXT_28 = "();";
+	protected final String TEXT_29 = NL + "\t\tString label = crop(((";
+	protected final String TEXT_30 = ")object).";
+	protected final String TEXT_31 = "());";
+	protected final String TEXT_32 = NL + "\t\tString label = ((";
+	protected final String TEXT_33 = ")object).";
+	protected final String TEXT_34 = "();";
+	protected final String TEXT_35 = NL + "\t\t";
+	protected final String TEXT_36 = " labelValue = ((";
+	protected final String TEXT_37 = ")object).eGet(";
+	protected final String TEXT_38 = ");";
+	protected final String TEXT_39 = NL + "\t\t";
+	protected final String TEXT_40 = " labelValue = ((";
+	protected final String TEXT_41 = ")object).";
+	protected final String TEXT_42 = "();";
+	protected final String TEXT_43 = NL + "\t\tString label = labelValue == null ? null : labelValue.toString();";
+	protected final String TEXT_44 = NL + "\t\treturn label == null || label.length() == 0 ?" + NL
+			+ "\t\t\tgetString(\"_UI_";
+	protected final String TEXT_45 = "_type\") :";
+	protected final String TEXT_46 = NL + "\t\t\tgetString(\"_UI_";
+	protected final String TEXT_47 = "_type\") + \" \" + label;";
+	protected final String TEXT_48 = NL + "\t\treturn getString(\"_UI_";
+	protected final String TEXT_49 = "_type\");";
+	protected final String TEXT_50 = NL;
+	protected final String TEXT_51 = NL;
+	protected final String TEXT_52 = NL;
+
+	public ItemProvidergetTextoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ListList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object _ListParameter : _ListList) {
+
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+						this._List = (java.lang.String) _ListParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_51);
+		stringBuffer.append(TEXT_52);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("_List", this._List);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.String _List = null;
+
+	public void set__List(java.lang.String object) {
+		this._List = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("_List", this._List);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genModel.isStyleProviders()) {
+			stringBuffer.append(TEXT_2);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.StyledString"));
+			stringBuffer.append(TEXT_3);
+		} else {
+			if (genClass.isMapEntry()) {
+				stringBuffer.append(TEXT_4);
+				stringBuffer.append(genClass.getImportedInterfaceName());
+				if (genModel.useGenerics()) {
+					stringBuffer.append(TEXT_5);
+				}
+				stringBuffer.append(TEXT_6);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_7);
+				stringBuffer.append(genClass.getImportedInterfaceName());
+				if (genModel.useGenerics()) {
+					stringBuffer.append(TEXT_8);
+				}
+				stringBuffer.append(TEXT_9);
+				if (!genClass.getMapEntryKeyFeature().isPropertyMultiLine()
+						&& !genClass.getMapEntryValueFeature().isPropertyMultiLine()) {
+					stringBuffer.append(TEXT_10);
+					stringBuffer.append(genClass.getSafeUncapName());
+					stringBuffer.append(TEXT_11);
+					stringBuffer.append(genClass.getSafeUncapName());
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(genModel.getNonNLS(2));
+				} else {
+					if (genClass.getMapEntryKeyFeature().isPropertyMultiLine()) {
+						stringBuffer.append(TEXT_13);
+						stringBuffer.append(genClass.getSafeUncapName());
+						stringBuffer.append(TEXT_14);
+						stringBuffer.append(genModel.getNonNLS());
+					} else {
+						stringBuffer.append(TEXT_15);
+						stringBuffer.append(genClass.getSafeUncapName());
+						stringBuffer.append(TEXT_16);
+						stringBuffer.append(genModel.getNonNLS());
+					}
+					if (genClass.getMapEntryValueFeature().isPropertyMultiLine()) {
+						stringBuffer.append(TEXT_17);
+						stringBuffer.append(genClass.getSafeUncapName());
+						stringBuffer.append(TEXT_18);
+						stringBuffer.append(genModel.getNonNLS());
+					} else {
+						stringBuffer.append(TEXT_19);
+						stringBuffer.append(genClass.getSafeUncapName());
+						stringBuffer.append(TEXT_20);
+						stringBuffer.append(genModel.getNonNLS());
+					}
+					stringBuffer.append(TEXT_21);
+					stringBuffer.append(genModel.getNonNLS());
+				}
+			} else if (genClass.getLabelFeature() != null) {
+				GenFeature labelFeature = genClass.getLabelFeature();
+				if (labelFeature.isPrimitiveType() && !labelFeature.getGenClass().isDynamic()
+						&& !labelFeature.isSuppressedGetVisibility()) {
+					stringBuffer.append(TEXT_22);
+					stringBuffer.append(genClass.getImportedInterfaceName());
+					stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+					stringBuffer.append(TEXT_23);
+					stringBuffer.append(genClass.getSafeUncapName());
+					stringBuffer.append(TEXT_24);
+					stringBuffer.append(genClass.getImportedInterfaceName());
+					stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(genClass.getName());
+					stringBuffer.append(TEXT_26);
+					stringBuffer.append(genClass.getSafeUncapName());
+					stringBuffer.append(TEXT_27);
+					stringBuffer.append(genClass.getLabelFeature().getGetAccessor());
+					stringBuffer.append(TEXT_28);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(genModel.getNonNLS(2));
+				} else {
+					if (labelFeature.isStringType() && !labelFeature.getGenClass().isDynamic()
+							&& !labelFeature.isSuppressedGetVisibility()) {
+						if (labelFeature.isPropertyMultiLine()) {
+							stringBuffer.append(TEXT_29);
+							stringBuffer.append(genClass.getImportedInterfaceName());
+							stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+							stringBuffer.append(TEXT_30);
+							stringBuffer.append(labelFeature.getGetAccessor());
+							stringBuffer.append(TEXT_31);
+						} else {
+							stringBuffer.append(TEXT_32);
+							stringBuffer.append(genClass.getImportedInterfaceName());
+							stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+							stringBuffer.append(TEXT_33);
+							stringBuffer.append(labelFeature.getGetAccessor());
+							stringBuffer.append(TEXT_34);
+						}
+					} else {
+						if (labelFeature.isSuppressedGetVisibility() || labelFeature.getGenClass().isDynamic()) {
+							stringBuffer.append(TEXT_35);
+							stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+							stringBuffer.append(TEXT_36);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+							stringBuffer.append(TEXT_37);
+							stringBuffer.append(labelFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_38);
+						} else {
+							stringBuffer.append(TEXT_39);
+							stringBuffer.append(labelFeature.getRawImportedType());
+							stringBuffer.append(TEXT_40);
+							stringBuffer.append(genClass.getImportedInterfaceName());
+							stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+							stringBuffer.append(TEXT_41);
+							stringBuffer.append(labelFeature.getGetAccessor());
+							stringBuffer.append(TEXT_42);
+						}
+						stringBuffer.append(TEXT_43);
+					}
+					stringBuffer.append(TEXT_44);
+					stringBuffer.append(genClass.getName());
+					stringBuffer.append(TEXT_45);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(genClass.getName());
+					stringBuffer.append(TEXT_47);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(genModel.getNonNLS(2));
+				}
+			} else {
+				stringBuffer.append(TEXT_48);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_49);
+				stringBuffer.append(genModel.getNonNLS());
+			}
+		}
+		stringBuffer.append(TEXT_50);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProviderinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProviderinsert.java
index fd8ec00..f01336f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProviderinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProviderinsert.java
@@ -1,146 +1,146 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProviderinsert {

-	protected static String nl;

-

-	public static synchronized ItemProviderinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ItemProviderinsert result = new ItemProviderinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ItemProviderinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ListList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object _ListParameter : _ListList) {

-

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-						this._List = (java.lang.String) _ListParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("_List", this._List);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.String _List = null;

-

-	public void set__List(java.lang.String object) {

-		this._List = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("_List", this._List);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProviderinsert {
+	protected static String nl;
+
+	public static synchronized ItemProviderinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ItemProviderinsert result = new ItemProviderinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ItemProviderinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ListList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object _ListParameter : _ListList) {
+
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+						this._List = (java.lang.String) _ListParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("_List", this._List);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.String _List = null;
+
+	public void set__List(java.lang.String object) {
+		this._List = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("_List", this._List);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert.java
index 6ec9018..6d0467f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert.java
@@ -1,199 +1,199 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert {

-	protected static String nl;

-

-	public static synchronized ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert create(

-			String lineSeparator) {

-		nl = lineSeparator;

-		ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert result = new ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> createDataTypeList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> delegatedFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createClassifierList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> childCreationDataList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object createDataTypeParameter : createDataTypeList) {

-			for (Object createFeatureParameter : createFeatureList) {

-				for (Object delegatedFeatureParameter : delegatedFeatureList) {

-					for (Object createClassifierParameter : createClassifierList) {

-						for (Object childCreationDataParameter : childCreationDataList) {

-							for (Object genClassParameter : genClassList) {

-								for (Object genPackageParameter : genPackageList) {

-									for (Object genModelParameter : genModelList) {

-

-										this.createDataType = (org.eclipse.emf.codegen.ecore.genmodel.GenDataType) createDataTypeParameter;

-										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;

-										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;

-										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;

-										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;

-										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-										if (preCondition(ctx)) {

-											ctx.setNode(new Node.Container(currentNode, getClass()));

-											orchestration(ctx);

-										}

-

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("createDataType", this.createDataType);

-			parameterValues.put("createFeature", this.createFeature);

-			parameterValues.put("delegatedFeature", this.delegatedFeature);

-			parameterValues.put("createClassifier", this.createClassifier);

-			parameterValues.put("childCreationData", this.childCreationData);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenDataType createDataType = null;

-

-	public void set_createDataType(org.eclipse.emf.codegen.ecore.genmodel.GenDataType object) {

-		this.createDataType = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;

-

-	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.createFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;

-

-	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.delegatedFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;

-

-	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {

-		this.createClassifier = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;

-

-	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {

-		this.childCreationData = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("createDataType", this.createDataType);

-		parameters.put("createFeature", this.createFeature);

-		parameters.put("delegatedFeature", this.delegatedFeature);

-		parameters.put("createClassifier", this.createClassifier);

-		parameters.put("childCreationData", this.childCreationData);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert {
+	protected static String nl;
+
+	public static synchronized ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert create(
+			String lineSeparator) {
+		nl = lineSeparator;
+		ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert result = new ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ItemProvidernewChildDescriptorsAttributeDelegatedFeatureinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> createDataTypeList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> delegatedFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createClassifierList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> childCreationDataList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object createDataTypeParameter : createDataTypeList) {
+			for (Object createFeatureParameter : createFeatureList) {
+				for (Object delegatedFeatureParameter : delegatedFeatureList) {
+					for (Object createClassifierParameter : createClassifierList) {
+						for (Object childCreationDataParameter : childCreationDataList) {
+							for (Object genClassParameter : genClassList) {
+								for (Object genPackageParameter : genPackageList) {
+									for (Object genModelParameter : genModelList) {
+
+										this.createDataType = (org.eclipse.emf.codegen.ecore.genmodel.GenDataType) createDataTypeParameter;
+										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+										if (preCondition(ctx)) {
+											ctx.setNode(new Node.Container(currentNode, getClass()));
+											orchestration(ctx);
+										}
+
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("createDataType", this.createDataType);
+			parameterValues.put("createFeature", this.createFeature);
+			parameterValues.put("delegatedFeature", this.delegatedFeature);
+			parameterValues.put("createClassifier", this.createClassifier);
+			parameterValues.put("childCreationData", this.childCreationData);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenDataType createDataType = null;
+
+	public void set_createDataType(org.eclipse.emf.codegen.ecore.genmodel.GenDataType object) {
+		this.createDataType = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.createFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.delegatedFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+		this.createClassifier = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+		this.childCreationData = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("createDataType", this.createDataType);
+		parameters.put("createFeature", this.createFeature);
+		parameters.put("delegatedFeature", this.delegatedFeature);
+		parameters.put("createClassifier", this.createClassifier);
+		parameters.put("childCreationData", this.childCreationData);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride.java
index 2308078..6b13d4b 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride.java
@@ -1,271 +1,271 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride create(

-			String lineSeparator) {

-		nl = lineSeparator;

-		ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride result = new ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t\t\tnewChildDescriptors.add" + NL + "\t\t\t\t\t(createChildParameter"

-			+ NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_2 = "," + NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_3 = ".createEntry" + NL + "\t\t\t\t\t\t\t(";

-	protected final String TEXT_4 = ",";

-	protected final String TEXT_5 = NL + "\t\t\t\t\t\t\t ";

-	protected final String TEXT_6 = ")));";

-	protected final String TEXT_7 = NL + "\t\t\t\t\t\t\t ";

-	protected final String TEXT_8 = ")));";

-	protected final String TEXT_9 = NL + "\t\t\t\t\t\t\t ";

-	protected final String TEXT_10 = ".createFromString(";

-	protected final String TEXT_11 = ", ";

-	protected final String TEXT_12 = "))));";

-	protected final String TEXT_13 = " // TODO: ensure this is a valid literal value";

-	protected final String TEXT_14 = NL;

-	protected final String TEXT_15 = NL;

-	protected final String TEXT_16 = NL;

-	protected final String TEXT_17 = NL;

-

-	public ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> createDataTypeList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> delegatedFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createClassifierList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> childCreationDataList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object createDataTypeParameter : createDataTypeList) {

-			for (Object createFeatureParameter : createFeatureList) {

-				for (Object delegatedFeatureParameter : delegatedFeatureList) {

-					for (Object createClassifierParameter : createClassifierList) {

-						for (Object childCreationDataParameter : childCreationDataList) {

-							for (Object genClassParameter : genClassList) {

-								for (Object genPackageParameter : genPackageList) {

-									for (Object genModelParameter : genModelList) {

-

-										this.createDataType = (org.eclipse.emf.codegen.ecore.genmodel.GenDataType) createDataTypeParameter;

-										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;

-										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;

-										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;

-										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;

-										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-										if (preCondition(ctx)) {

-											ctx.setNode(new Node.Container(currentNode, getClass()));

-											orchestration(ctx);

-										}

-

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_16);

-		stringBuffer.append(TEXT_17);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("createDataType", this.createDataType);

-			parameterValues.put("createFeature", this.createFeature);

-			parameterValues.put("delegatedFeature", this.delegatedFeature);

-			parameterValues.put("createClassifier", this.createClassifier);

-			parameterValues.put("childCreationData", this.childCreationData);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenDataType createDataType = null;

-

-	public void set_createDataType(org.eclipse.emf.codegen.ecore.genmodel.GenDataType object) {

-		this.createDataType = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;

-

-	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.createFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;

-

-	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.delegatedFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;

-

-	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {

-		this.createClassifier = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;

-

-	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {

-		this.childCreationData = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("createDataType", this.createDataType);

-		parameters.put("createFeature", this.createFeature);

-		parameters.put("delegatedFeature", this.delegatedFeature);

-		parameters.put("createClassifier", this.createClassifier);

-		parameters.put("childCreationData", this.childCreationData);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(createFeature.getQualifiedFeatureAccessor());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil"));

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(delegatedFeature.getQualifiedFeatureAccessor());

-		stringBuffer.append(TEXT_4);

-		if (delegatedFeature.isEnumBasedType()) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(delegatedFeature.getTypeGenEnum().getStaticValue(

-					delegatedFeature.getEcoreFeature().getDefaultValueLiteral()));

-			stringBuffer.append(TEXT_6);

-		} else if (delegatedFeature.isStringBasedType()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(delegatedFeature.getCreateChildValueLiteral());

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getNonNLS());

-		} else {

-			String literal = delegatedFeature.getCreateChildValueLiteral();

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(createDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(createDataType.getQualifiedClassifierAccessor());

-			stringBuffer.append(TEXT_11);

-			stringBuffer.append(literal);

-			stringBuffer.append(TEXT_12);

-			if (literal != null) {

-				stringBuffer.append(genModel.getNonNLS());

-			} else {

-				stringBuffer.append(TEXT_13);

-			}

-		}

-		stringBuffer.append(TEXT_14);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.insert" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("createDataType", createDataType);

-			callParameters.put("createFeature", createFeature);

-			callParameters.put("delegatedFeature", delegatedFeature);

-			callParameters.put("createClassifier", createClassifier);

-			callParameters.put("childCreationData", childCreationData);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04f78GJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_15);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride create(
+			String lineSeparator) {
+		nl = lineSeparator;
+		ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride result = new ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + NL + "\t\tnewChildDescriptors.add" + NL + "\t\t\t(createChildParameter" + NL
+			+ "\t\t\t\t(";
+	protected final String TEXT_2 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_3 = ".createEntry" + NL + "\t\t\t\t\t(";
+	protected final String TEXT_4 = ",";
+	protected final String TEXT_5 = NL + "\t\t\t\t\t ";
+	protected final String TEXT_6 = ")));";
+	protected final String TEXT_7 = NL + "\t\t\t\t\t ";
+	protected final String TEXT_8 = ")));";
+	protected final String TEXT_9 = NL + "\t\t\t\t\t ";
+	protected final String TEXT_10 = ".createFromString(";
+	protected final String TEXT_11 = ", ";
+	protected final String TEXT_12 = "))));";
+	protected final String TEXT_13 = " // TODO: ensure this is a valid literal value";
+	protected final String TEXT_14 = NL;
+	protected final String TEXT_15 = NL;
+	protected final String TEXT_16 = NL;
+	protected final String TEXT_17 = NL;
+
+	public ItemProvidernewChildDescriptorsAttributeDelegatedFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> createDataTypeList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> delegatedFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createClassifierList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> childCreationDataList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object createDataTypeParameter : createDataTypeList) {
+			for (Object createFeatureParameter : createFeatureList) {
+				for (Object delegatedFeatureParameter : delegatedFeatureList) {
+					for (Object createClassifierParameter : createClassifierList) {
+						for (Object childCreationDataParameter : childCreationDataList) {
+							for (Object genClassParameter : genClassList) {
+								for (Object genPackageParameter : genPackageList) {
+									for (Object genModelParameter : genModelList) {
+
+										this.createDataType = (org.eclipse.emf.codegen.ecore.genmodel.GenDataType) createDataTypeParameter;
+										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+										if (preCondition(ctx)) {
+											ctx.setNode(new Node.Container(currentNode, getClass()));
+											orchestration(ctx);
+										}
+
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_16);
+		stringBuffer.append(TEXT_17);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("createDataType", this.createDataType);
+			parameterValues.put("createFeature", this.createFeature);
+			parameterValues.put("delegatedFeature", this.delegatedFeature);
+			parameterValues.put("createClassifier", this.createClassifier);
+			parameterValues.put("childCreationData", this.childCreationData);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenDataType createDataType = null;
+
+	public void set_createDataType(org.eclipse.emf.codegen.ecore.genmodel.GenDataType object) {
+		this.createDataType = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.createFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.delegatedFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+		this.createClassifier = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+		this.childCreationData = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("createDataType", this.createDataType);
+		parameters.put("createFeature", this.createFeature);
+		parameters.put("delegatedFeature", this.delegatedFeature);
+		parameters.put("createClassifier", this.createClassifier);
+		parameters.put("childCreationData", this.childCreationData);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(createFeature.getQualifiedFeatureAccessor());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil"));
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(delegatedFeature.getQualifiedFeatureAccessor());
+		stringBuffer.append(TEXT_4);
+		if (delegatedFeature.isEnumBasedType()) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(delegatedFeature.getTypeGenEnum()
+					.getStaticValue(delegatedFeature.getEcoreFeature().getDefaultValueLiteral()));
+			stringBuffer.append(TEXT_6);
+		} else if (delegatedFeature.isStringBasedType()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(delegatedFeature.getCreateChildValueLiteral());
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getNonNLS());
+		} else {
+			String literal = delegatedFeature.getCreateChildValueLiteral();
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(createDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(createDataType.getQualifiedClassifierAccessor());
+			stringBuffer.append(TEXT_11);
+			stringBuffer.append(literal);
+			stringBuffer.append(TEXT_12);
+			if (literal != null) {
+				stringBuffer.append(genModel.getNonNLS());
+			} else {
+				stringBuffer.append(TEXT_13);
+			}
+		}
+		stringBuffer.append(TEXT_14);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeDelegatedFeature.insert" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("createDataType", createDataType);
+			callParameters.put("createFeature", createFeature);
+			callParameters.put("delegatedFeature", delegatedFeature);
+			callParameters.put("createClassifier", createClassifier);
+			callParameters.put("childCreationData", childCreationData);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04f78GJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_15);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureinsert.java
index 36bc85e..46e82ad 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureinsert.java
@@ -1,198 +1,198 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProvidernewChildDescriptorsAttributeFeatureinsert {

-	protected static String nl;

-

-	public static synchronized ItemProvidernewChildDescriptorsAttributeFeatureinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ItemProvidernewChildDescriptorsAttributeFeatureinsert result = new ItemProvidernewChildDescriptorsAttributeFeatureinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ItemProvidernewChildDescriptorsAttributeFeatureinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> createDataTypeList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> delegatedFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createClassifierList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> childCreationDataList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object createDataTypeParameter : createDataTypeList) {

-			for (Object createFeatureParameter : createFeatureList) {

-				for (Object delegatedFeatureParameter : delegatedFeatureList) {

-					for (Object createClassifierParameter : createClassifierList) {

-						for (Object childCreationDataParameter : childCreationDataList) {

-							for (Object genClassParameter : genClassList) {

-								for (Object genPackageParameter : genPackageList) {

-									for (Object genModelParameter : genModelList) {

-

-										this.createDataType = (org.eclipse.emf.codegen.ecore.genmodel.GenDataType) createDataTypeParameter;

-										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;

-										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;

-										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;

-										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;

-										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-										if (preCondition(ctx)) {

-											ctx.setNode(new Node.Container(currentNode, getClass()));

-											orchestration(ctx);

-										}

-

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("createDataType", this.createDataType);

-			parameterValues.put("createFeature", this.createFeature);

-			parameterValues.put("delegatedFeature", this.delegatedFeature);

-			parameterValues.put("createClassifier", this.createClassifier);

-			parameterValues.put("childCreationData", this.childCreationData);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenDataType createDataType = null;

-

-	public void set_createDataType(org.eclipse.emf.codegen.ecore.genmodel.GenDataType object) {

-		this.createDataType = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;

-

-	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.createFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;

-

-	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.delegatedFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;

-

-	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {

-		this.createClassifier = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;

-

-	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {

-		this.childCreationData = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("createDataType", this.createDataType);

-		parameters.put("createFeature", this.createFeature);

-		parameters.put("delegatedFeature", this.delegatedFeature);

-		parameters.put("createClassifier", this.createClassifier);

-		parameters.put("childCreationData", this.childCreationData);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsAttributeFeatureinsert {
+	protected static String nl;
+
+	public static synchronized ItemProvidernewChildDescriptorsAttributeFeatureinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ItemProvidernewChildDescriptorsAttributeFeatureinsert result = new ItemProvidernewChildDescriptorsAttributeFeatureinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ItemProvidernewChildDescriptorsAttributeFeatureinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> createDataTypeList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> delegatedFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createClassifierList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> childCreationDataList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object createDataTypeParameter : createDataTypeList) {
+			for (Object createFeatureParameter : createFeatureList) {
+				for (Object delegatedFeatureParameter : delegatedFeatureList) {
+					for (Object createClassifierParameter : createClassifierList) {
+						for (Object childCreationDataParameter : childCreationDataList) {
+							for (Object genClassParameter : genClassList) {
+								for (Object genPackageParameter : genPackageList) {
+									for (Object genModelParameter : genModelList) {
+
+										this.createDataType = (org.eclipse.emf.codegen.ecore.genmodel.GenDataType) createDataTypeParameter;
+										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+										if (preCondition(ctx)) {
+											ctx.setNode(new Node.Container(currentNode, getClass()));
+											orchestration(ctx);
+										}
+
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("createDataType", this.createDataType);
+			parameterValues.put("createFeature", this.createFeature);
+			parameterValues.put("delegatedFeature", this.delegatedFeature);
+			parameterValues.put("createClassifier", this.createClassifier);
+			parameterValues.put("childCreationData", this.childCreationData);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenDataType createDataType = null;
+
+	public void set_createDataType(org.eclipse.emf.codegen.ecore.genmodel.GenDataType object) {
+		this.createDataType = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.createFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.delegatedFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+		this.createClassifier = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+		this.childCreationData = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("createDataType", this.createDataType);
+		parameters.put("createFeature", this.createFeature);
+		parameters.put("delegatedFeature", this.delegatedFeature);
+		parameters.put("createClassifier", this.createClassifier);
+		parameters.put("childCreationData", this.childCreationData);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureoverride.java
index c84eb15..2a49360 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsAttributeFeatureoverride.java
@@ -1,264 +1,264 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProvidernewChildDescriptorsAttributeFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ItemProvidernewChildDescriptorsAttributeFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ItemProvidernewChildDescriptorsAttributeFeatureoverride result = new ItemProvidernewChildDescriptorsAttributeFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t\t\tnewChildDescriptors.add" + NL + "\t\t\t\t\t(createChildParameter"

-			+ NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_2 = ",";

-	protected final String TEXT_3 = NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_4 = "));";

-	protected final String TEXT_5 = NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_6 = "));";

-	protected final String TEXT_7 = NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_8 = ".createFromString(";

-	protected final String TEXT_9 = ", ";

-	protected final String TEXT_10 = ")));";

-	protected final String TEXT_11 = " // TODO: ensure this is a valid literal value";

-	protected final String TEXT_12 = NL;

-	protected final String TEXT_13 = NL;

-	protected final String TEXT_14 = NL;

-	protected final String TEXT_15 = NL;

-

-	public ItemProvidernewChildDescriptorsAttributeFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> createDataTypeList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> delegatedFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createClassifierList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> childCreationDataList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object createDataTypeParameter : createDataTypeList) {

-			for (Object createFeatureParameter : createFeatureList) {

-				for (Object delegatedFeatureParameter : delegatedFeatureList) {

-					for (Object createClassifierParameter : createClassifierList) {

-						for (Object childCreationDataParameter : childCreationDataList) {

-							for (Object genClassParameter : genClassList) {

-								for (Object genPackageParameter : genPackageList) {

-									for (Object genModelParameter : genModelList) {

-

-										this.createDataType = (org.eclipse.emf.codegen.ecore.genmodel.GenDataType) createDataTypeParameter;

-										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;

-										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;

-										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;

-										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;

-										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-										if (preCondition(ctx)) {

-											ctx.setNode(new Node.Container(currentNode, getClass()));

-											orchestration(ctx);

-										}

-

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_14);

-		stringBuffer.append(TEXT_15);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("createDataType", this.createDataType);

-			parameterValues.put("createFeature", this.createFeature);

-			parameterValues.put("delegatedFeature", this.delegatedFeature);

-			parameterValues.put("createClassifier", this.createClassifier);

-			parameterValues.put("childCreationData", this.childCreationData);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenDataType createDataType = null;

-

-	public void set_createDataType(org.eclipse.emf.codegen.ecore.genmodel.GenDataType object) {

-		this.createDataType = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;

-

-	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.createFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;

-

-	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.delegatedFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;

-

-	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {

-		this.createClassifier = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;

-

-	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {

-		this.childCreationData = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("createDataType", this.createDataType);

-		parameters.put("createFeature", this.createFeature);

-		parameters.put("delegatedFeature", this.delegatedFeature);

-		parameters.put("createClassifier", this.createClassifier);

-		parameters.put("childCreationData", this.childCreationData);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(createFeature.getQualifiedFeatureAccessor());

-		stringBuffer.append(TEXT_2);

-		if (createFeature.isEnumBasedType()) {

-			stringBuffer.append(TEXT_3);

-			stringBuffer.append(createFeature.getTypeGenEnum().getStaticValue(

-					createFeature.getEcoreFeature().getDefaultValueLiteral()));

-			stringBuffer.append(TEXT_4);

-		} else if (createFeature.isStringBasedType()) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(createFeature.getCreateChildValueLiteral());

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genModel.getNonNLS());

-		} else {

-			String literal = createFeature.getCreateChildValueLiteral();

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(createDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(createDataType.getQualifiedClassifierAccessor());

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(literal);

-			stringBuffer.append(TEXT_10);

-			if (literal != null) {

-				stringBuffer.append(genModel.getNonNLS());

-			} else {

-				stringBuffer.append(TEXT_11);

-			}

-		}

-		stringBuffer.append(TEXT_12);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.insert" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("createDataType", createDataType);

-			callParameters.put("createFeature", createFeature);

-			callParameters.put("delegatedFeature", delegatedFeature);

-			callParameters.put("createClassifier", createClassifier);

-			callParameters.put("childCreationData", childCreationData);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_05ZT0GJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_13);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsAttributeFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ItemProvidernewChildDescriptorsAttributeFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ItemProvidernewChildDescriptorsAttributeFeatureoverride result = new ItemProvidernewChildDescriptorsAttributeFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + NL + "\t\tnewChildDescriptors.add" + NL + "\t\t\t(createChildParameter" + NL
+			+ "\t\t\t\t(";
+	protected final String TEXT_2 = ",";
+	protected final String TEXT_3 = NL + "\t\t\t\t ";
+	protected final String TEXT_4 = "));";
+	protected final String TEXT_5 = NL + "\t\t\t\t ";
+	protected final String TEXT_6 = "));";
+	protected final String TEXT_7 = NL + "\t\t\t\t ";
+	protected final String TEXT_8 = ".createFromString(";
+	protected final String TEXT_9 = ", ";
+	protected final String TEXT_10 = ")));";
+	protected final String TEXT_11 = " // TODO: ensure this is a valid literal value";
+	protected final String TEXT_12 = NL;
+	protected final String TEXT_13 = NL;
+	protected final String TEXT_14 = NL;
+	protected final String TEXT_15 = NL;
+
+	public ItemProvidernewChildDescriptorsAttributeFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> createDataTypeList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> delegatedFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createClassifierList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> childCreationDataList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object createDataTypeParameter : createDataTypeList) {
+			for (Object createFeatureParameter : createFeatureList) {
+				for (Object delegatedFeatureParameter : delegatedFeatureList) {
+					for (Object createClassifierParameter : createClassifierList) {
+						for (Object childCreationDataParameter : childCreationDataList) {
+							for (Object genClassParameter : genClassList) {
+								for (Object genPackageParameter : genPackageList) {
+									for (Object genModelParameter : genModelList) {
+
+										this.createDataType = (org.eclipse.emf.codegen.ecore.genmodel.GenDataType) createDataTypeParameter;
+										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+										if (preCondition(ctx)) {
+											ctx.setNode(new Node.Container(currentNode, getClass()));
+											orchestration(ctx);
+										}
+
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_14);
+		stringBuffer.append(TEXT_15);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("createDataType", this.createDataType);
+			parameterValues.put("createFeature", this.createFeature);
+			parameterValues.put("delegatedFeature", this.delegatedFeature);
+			parameterValues.put("createClassifier", this.createClassifier);
+			parameterValues.put("childCreationData", this.childCreationData);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenDataType createDataType = null;
+
+	public void set_createDataType(org.eclipse.emf.codegen.ecore.genmodel.GenDataType object) {
+		this.createDataType = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.createFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.delegatedFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+		this.createClassifier = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+		this.childCreationData = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("createDataType", this.createDataType);
+		parameters.put("createFeature", this.createFeature);
+		parameters.put("delegatedFeature", this.delegatedFeature);
+		parameters.put("createClassifier", this.createClassifier);
+		parameters.put("childCreationData", this.childCreationData);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(createFeature.getQualifiedFeatureAccessor());
+		stringBuffer.append(TEXT_2);
+		if (createFeature.isEnumBasedType()) {
+			stringBuffer.append(TEXT_3);
+			stringBuffer.append(createFeature.getTypeGenEnum()
+					.getStaticValue(createFeature.getEcoreFeature().getDefaultValueLiteral()));
+			stringBuffer.append(TEXT_4);
+		} else if (createFeature.isStringBasedType()) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(createFeature.getCreateChildValueLiteral());
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genModel.getNonNLS());
+		} else {
+			String literal = createFeature.getCreateChildValueLiteral();
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(createDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(createDataType.getQualifiedClassifierAccessor());
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(literal);
+			stringBuffer.append(TEXT_10);
+			if (literal != null) {
+				stringBuffer.append(genModel.getNonNLS());
+			} else {
+				stringBuffer.append(TEXT_11);
+			}
+		}
+		stringBuffer.append(TEXT_12);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsAttributeFeature.insert" args="createDataType:createDataType,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("createDataType", createDataType);
+			callParameters.put("createFeature", createFeature);
+			callParameters.put("delegatedFeature", delegatedFeature);
+			callParameters.put("createClassifier", createClassifier);
+			callParameters.put("childCreationData", childCreationData);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_05ZT0GJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_13);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert.java
index d954cfd..4c20bb8 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert.java
@@ -1,199 +1,199 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert {

-	protected static String nl;

-

-	public static synchronized ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert create(

-			String lineSeparator) {

-		nl = lineSeparator;

-		ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert result = new ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> createClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> delegatedFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createClassifierList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> childCreationDataList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object createClassParameter : createClassList) {

-			for (Object createFeatureParameter : createFeatureList) {

-				for (Object delegatedFeatureParameter : delegatedFeatureList) {

-					for (Object createClassifierParameter : createClassifierList) {

-						for (Object childCreationDataParameter : childCreationDataList) {

-							for (Object genClassParameter : genClassList) {

-								for (Object genPackageParameter : genPackageList) {

-									for (Object genModelParameter : genModelList) {

-

-										this.createClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) createClassParameter;

-										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;

-										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;

-										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;

-										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;

-										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-										if (preCondition(ctx)) {

-											ctx.setNode(new Node.Container(currentNode, getClass()));

-											orchestration(ctx);

-										}

-

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("createClass", this.createClass);

-			parameterValues.put("createFeature", this.createFeature);

-			parameterValues.put("delegatedFeature", this.delegatedFeature);

-			parameterValues.put("createClassifier", this.createClassifier);

-			parameterValues.put("childCreationData", this.childCreationData);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass createClass = null;

-

-	public void set_createClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.createClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;

-

-	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.createFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;

-

-	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.delegatedFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;

-

-	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {

-		this.createClassifier = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;

-

-	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {

-		this.childCreationData = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("createClass", this.createClass);

-		parameters.put("createFeature", this.createFeature);

-		parameters.put("delegatedFeature", this.delegatedFeature);

-		parameters.put("createClassifier", this.createClassifier);

-		parameters.put("childCreationData", this.childCreationData);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert {
+	protected static String nl;
+
+	public static synchronized ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert create(
+			String lineSeparator) {
+		nl = lineSeparator;
+		ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert result = new ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ItemProvidernewChildDescriptorsReferenceDelegatedFeatureinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> createClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> delegatedFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createClassifierList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> childCreationDataList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object createClassParameter : createClassList) {
+			for (Object createFeatureParameter : createFeatureList) {
+				for (Object delegatedFeatureParameter : delegatedFeatureList) {
+					for (Object createClassifierParameter : createClassifierList) {
+						for (Object childCreationDataParameter : childCreationDataList) {
+							for (Object genClassParameter : genClassList) {
+								for (Object genPackageParameter : genPackageList) {
+									for (Object genModelParameter : genModelList) {
+
+										this.createClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) createClassParameter;
+										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+										if (preCondition(ctx)) {
+											ctx.setNode(new Node.Container(currentNode, getClass()));
+											orchestration(ctx);
+										}
+
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("createClass", this.createClass);
+			parameterValues.put("createFeature", this.createFeature);
+			parameterValues.put("delegatedFeature", this.delegatedFeature);
+			parameterValues.put("createClassifier", this.createClassifier);
+			parameterValues.put("childCreationData", this.childCreationData);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass createClass = null;
+
+	public void set_createClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.createClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.createFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.delegatedFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+		this.createClassifier = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+		this.childCreationData = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("createClass", this.createClass);
+		parameters.put("createFeature", this.createFeature);
+		parameters.put("delegatedFeature", this.delegatedFeature);
+		parameters.put("createClassifier", this.createClassifier);
+		parameters.put("childCreationData", this.childCreationData);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride.java
index f8a9389..3096937 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride.java
@@ -1,256 +1,256 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride create(

-			String lineSeparator) {

-		nl = lineSeparator;

-		ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride result = new ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t\t\tnewChildDescriptors.add" + NL + "\t\t\t\t\t(createChildParameter"

-			+ NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_2 = "," + NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_3 = ".createEntry" + NL + "\t\t\t\t\t\t\t(";

-	protected final String TEXT_4 = ",";

-	protected final String TEXT_5 = NL + "\t\t\t\t\t\t\t ";

-	protected final String TEXT_6 = ".create(";

-	protected final String TEXT_7 = "))));";

-	protected final String TEXT_8 = NL + "\t\t\t\t\t\t\t ";

-	protected final String TEXT_9 = ".create";

-	protected final String TEXT_10 = "())));";

-	protected final String TEXT_11 = NL;

-	protected final String TEXT_12 = NL;

-	protected final String TEXT_13 = NL;

-	protected final String TEXT_14 = NL;

-

-	public ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> createClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> delegatedFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createClassifierList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> childCreationDataList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object createClassParameter : createClassList) {

-			for (Object createFeatureParameter : createFeatureList) {

-				for (Object delegatedFeatureParameter : delegatedFeatureList) {

-					for (Object createClassifierParameter : createClassifierList) {

-						for (Object childCreationDataParameter : childCreationDataList) {

-							for (Object genClassParameter : genClassList) {

-								for (Object genPackageParameter : genPackageList) {

-									for (Object genModelParameter : genModelList) {

-

-										this.createClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) createClassParameter;

-										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;

-										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;

-										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;

-										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;

-										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-										if (preCondition(ctx)) {

-											ctx.setNode(new Node.Container(currentNode, getClass()));

-											orchestration(ctx);

-										}

-

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_13);

-		stringBuffer.append(TEXT_14);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("createClass", this.createClass);

-			parameterValues.put("createFeature", this.createFeature);

-			parameterValues.put("delegatedFeature", this.delegatedFeature);

-			parameterValues.put("createClassifier", this.createClassifier);

-			parameterValues.put("childCreationData", this.childCreationData);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass createClass = null;

-

-	public void set_createClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.createClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;

-

-	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.createFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;

-

-	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.delegatedFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;

-

-	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {

-		this.createClassifier = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;

-

-	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {

-		this.childCreationData = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("createClass", this.createClass);

-		parameters.put("createFeature", this.createFeature);

-		parameters.put("delegatedFeature", this.delegatedFeature);

-		parameters.put("createClassifier", this.createClassifier);

-		parameters.put("childCreationData", this.childCreationData);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(createFeature.getQualifiedFeatureAccessor());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil"));

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(delegatedFeature.getQualifiedFeatureAccessor());

-		stringBuffer.append(TEXT_4);

-		if (createClass.isMapEntry()) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(createClass.getGenPackage().getQualifiedEFactoryInstanceAccessor());

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(createClass.getQualifiedClassifierAccessor());

-			stringBuffer.append(TEXT_7);

-		} else {

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(createClass.getGenPackage().getQualifiedFactoryInstanceAccessor());

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(createClass.getName());

-			stringBuffer.append(TEXT_10);

-		}

-		stringBuffer.append(TEXT_11);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.insert" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("createClass", createClass);

-			callParameters.put("createFeature", createFeature);

-			callParameters.put("delegatedFeature", delegatedFeature);

-			callParameters.put("createClassifier", createClassifier);

-			callParameters.put("childCreationData", childCreationData);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04NBAGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_12);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride create(
+			String lineSeparator) {
+		nl = lineSeparator;
+		ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride result = new ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + NL + "\t\tnewChildDescriptors.add" + NL + "\t\t\t(createChildParameter" + NL
+			+ "\t\t\t\t(";
+	protected final String TEXT_2 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_3 = ".createEntry" + NL + "\t\t\t\t\t(";
+	protected final String TEXT_4 = ",";
+	protected final String TEXT_5 = NL + "\t\t\t\t\t ";
+	protected final String TEXT_6 = ".create(";
+	protected final String TEXT_7 = "))));";
+	protected final String TEXT_8 = NL + "\t\t\t\t\t ";
+	protected final String TEXT_9 = ".create";
+	protected final String TEXT_10 = "())));";
+	protected final String TEXT_11 = NL;
+	protected final String TEXT_12 = NL;
+	protected final String TEXT_13 = NL;
+	protected final String TEXT_14 = NL;
+
+	public ItemProvidernewChildDescriptorsReferenceDelegatedFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> createClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> delegatedFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createClassifierList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> childCreationDataList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object createClassParameter : createClassList) {
+			for (Object createFeatureParameter : createFeatureList) {
+				for (Object delegatedFeatureParameter : delegatedFeatureList) {
+					for (Object createClassifierParameter : createClassifierList) {
+						for (Object childCreationDataParameter : childCreationDataList) {
+							for (Object genClassParameter : genClassList) {
+								for (Object genPackageParameter : genPackageList) {
+									for (Object genModelParameter : genModelList) {
+
+										this.createClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) createClassParameter;
+										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+										if (preCondition(ctx)) {
+											ctx.setNode(new Node.Container(currentNode, getClass()));
+											orchestration(ctx);
+										}
+
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_13);
+		stringBuffer.append(TEXT_14);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("createClass", this.createClass);
+			parameterValues.put("createFeature", this.createFeature);
+			parameterValues.put("delegatedFeature", this.delegatedFeature);
+			parameterValues.put("createClassifier", this.createClassifier);
+			parameterValues.put("childCreationData", this.childCreationData);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass createClass = null;
+
+	public void set_createClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.createClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.createFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.delegatedFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+		this.createClassifier = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+		this.childCreationData = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("createClass", this.createClass);
+		parameters.put("createFeature", this.createFeature);
+		parameters.put("delegatedFeature", this.delegatedFeature);
+		parameters.put("createClassifier", this.createClassifier);
+		parameters.put("childCreationData", this.childCreationData);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(createFeature.getQualifiedFeatureAccessor());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil"));
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(delegatedFeature.getQualifiedFeatureAccessor());
+		stringBuffer.append(TEXT_4);
+		if (createClass.isMapEntry()) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(createClass.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(createClass.getQualifiedClassifierAccessor());
+			stringBuffer.append(TEXT_7);
+		} else {
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(createClass.getGenPackage().getQualifiedFactoryInstanceAccessor());
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(createClass.getName());
+			stringBuffer.append(TEXT_10);
+		}
+		stringBuffer.append(TEXT_11);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceDelegatedFeature.insert" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("createClass", createClass);
+			callParameters.put("createFeature", createFeature);
+			callParameters.put("delegatedFeature", delegatedFeature);
+			callParameters.put("createClassifier", createClassifier);
+			callParameters.put("childCreationData", childCreationData);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04NBAGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_12);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureinsert.java
index b3afcb3..f6aea2f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureinsert.java
@@ -1,198 +1,198 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProvidernewChildDescriptorsReferenceFeatureinsert {

-	protected static String nl;

-

-	public static synchronized ItemProvidernewChildDescriptorsReferenceFeatureinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ItemProvidernewChildDescriptorsReferenceFeatureinsert result = new ItemProvidernewChildDescriptorsReferenceFeatureinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ItemProvidernewChildDescriptorsReferenceFeatureinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> createClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> delegatedFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createClassifierList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> childCreationDataList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object createClassParameter : createClassList) {

-			for (Object createFeatureParameter : createFeatureList) {

-				for (Object delegatedFeatureParameter : delegatedFeatureList) {

-					for (Object createClassifierParameter : createClassifierList) {

-						for (Object childCreationDataParameter : childCreationDataList) {

-							for (Object genClassParameter : genClassList) {

-								for (Object genPackageParameter : genPackageList) {

-									for (Object genModelParameter : genModelList) {

-

-										this.createClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) createClassParameter;

-										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;

-										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;

-										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;

-										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;

-										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-										if (preCondition(ctx)) {

-											ctx.setNode(new Node.Container(currentNode, getClass()));

-											orchestration(ctx);

-										}

-

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("createClass", this.createClass);

-			parameterValues.put("createFeature", this.createFeature);

-			parameterValues.put("delegatedFeature", this.delegatedFeature);

-			parameterValues.put("createClassifier", this.createClassifier);

-			parameterValues.put("childCreationData", this.childCreationData);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass createClass = null;

-

-	public void set_createClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.createClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;

-

-	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.createFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;

-

-	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.delegatedFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;

-

-	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {

-		this.createClassifier = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;

-

-	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {

-		this.childCreationData = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("createClass", this.createClass);

-		parameters.put("createFeature", this.createFeature);

-		parameters.put("delegatedFeature", this.delegatedFeature);

-		parameters.put("createClassifier", this.createClassifier);

-		parameters.put("childCreationData", this.childCreationData);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsReferenceFeatureinsert {
+	protected static String nl;
+
+	public static synchronized ItemProvidernewChildDescriptorsReferenceFeatureinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ItemProvidernewChildDescriptorsReferenceFeatureinsert result = new ItemProvidernewChildDescriptorsReferenceFeatureinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ItemProvidernewChildDescriptorsReferenceFeatureinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> createClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> delegatedFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createClassifierList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> childCreationDataList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object createClassParameter : createClassList) {
+			for (Object createFeatureParameter : createFeatureList) {
+				for (Object delegatedFeatureParameter : delegatedFeatureList) {
+					for (Object createClassifierParameter : createClassifierList) {
+						for (Object childCreationDataParameter : childCreationDataList) {
+							for (Object genClassParameter : genClassList) {
+								for (Object genPackageParameter : genPackageList) {
+									for (Object genModelParameter : genModelList) {
+
+										this.createClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) createClassParameter;
+										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+										if (preCondition(ctx)) {
+											ctx.setNode(new Node.Container(currentNode, getClass()));
+											orchestration(ctx);
+										}
+
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("createClass", this.createClass);
+			parameterValues.put("createFeature", this.createFeature);
+			parameterValues.put("delegatedFeature", this.delegatedFeature);
+			parameterValues.put("createClassifier", this.createClassifier);
+			parameterValues.put("childCreationData", this.childCreationData);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass createClass = null;
+
+	public void set_createClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.createClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.createFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.delegatedFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+		this.createClassifier = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+		this.childCreationData = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("createClass", this.createClass);
+		parameters.put("createFeature", this.createFeature);
+		parameters.put("delegatedFeature", this.delegatedFeature);
+		parameters.put("createClassifier", this.createClassifier);
+		parameters.put("childCreationData", this.childCreationData);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureoverride.java
index f0fe246..b9d63d0 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/edit/call/ItemProvider/ItemProvidernewChildDescriptorsReferenceFeatureoverride.java
@@ -1,249 +1,249 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ItemProvidernewChildDescriptorsReferenceFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ItemProvidernewChildDescriptorsReferenceFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ItemProvidernewChildDescriptorsReferenceFeatureoverride result = new ItemProvidernewChildDescriptorsReferenceFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t\t\tnewChildDescriptors.add" + NL + "\t\t\t\t\t(createChildParameter"

-			+ NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_2 = ",";

-	protected final String TEXT_3 = NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_4 = ".create(";

-	protected final String TEXT_5 = ")));";

-	protected final String TEXT_6 = NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_7 = ".create";

-	protected final String TEXT_8 = "()));";

-	protected final String TEXT_9 = NL;

-	protected final String TEXT_10 = NL;

-	protected final String TEXT_11 = NL;

-	protected final String TEXT_12 = NL;

-

-	public ItemProvidernewChildDescriptorsReferenceFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> createClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> delegatedFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> createClassifierList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> childCreationDataList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object createClassParameter : createClassList) {

-			for (Object createFeatureParameter : createFeatureList) {

-				for (Object delegatedFeatureParameter : delegatedFeatureList) {

-					for (Object createClassifierParameter : createClassifierList) {

-						for (Object childCreationDataParameter : childCreationDataList) {

-							for (Object genClassParameter : genClassList) {

-								for (Object genPackageParameter : genPackageList) {

-									for (Object genModelParameter : genModelList) {

-

-										this.createClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) createClassParameter;

-										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;

-										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;

-										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;

-										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;

-										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-										if (preCondition(ctx)) {

-											ctx.setNode(new Node.Container(currentNode, getClass()));

-											orchestration(ctx);

-										}

-

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(TEXT_12);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("createClass", this.createClass);

-			parameterValues.put("createFeature", this.createFeature);

-			parameterValues.put("delegatedFeature", this.delegatedFeature);

-			parameterValues.put("createClassifier", this.createClassifier);

-			parameterValues.put("childCreationData", this.childCreationData);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass createClass = null;

-

-	public void set_createClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.createClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;

-

-	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.createFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;

-

-	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.delegatedFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;

-

-	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {

-		this.createClassifier = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;

-

-	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {

-		this.childCreationData = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("createClass", this.createClass);

-		parameters.put("createFeature", this.createFeature);

-		parameters.put("delegatedFeature", this.delegatedFeature);

-		parameters.put("createClassifier", this.createClassifier);

-		parameters.put("childCreationData", this.childCreationData);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(createFeature.getQualifiedFeatureAccessor());

-		stringBuffer.append(TEXT_2);

-		if (createClass.isMapEntry()) {

-			stringBuffer.append(TEXT_3);

-			stringBuffer.append(createClass.getGenPackage().getQualifiedEFactoryInstanceAccessor());

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(createClass.getQualifiedClassifierAccessor());

-			stringBuffer.append(TEXT_5);

-		} else {

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(createClass.getGenPackage().getQualifiedFactoryInstanceAccessor());

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(createClass.getName());

-			stringBuffer.append(TEXT_8);

-		}

-		stringBuffer.append(TEXT_9);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.insert" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("createClass", createClass);

-			callParameters.put("createFeature", createFeature);

-			callParameters.put("delegatedFeature", delegatedFeature);

-			callParameters.put("createClassifier", createClassifier);

-			callParameters.put("childCreationData", childCreationData);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04y24GJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_10);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.edit.call.ItemProvider;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ItemProvidernewChildDescriptorsReferenceFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ItemProvidernewChildDescriptorsReferenceFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ItemProvidernewChildDescriptorsReferenceFeatureoverride result = new ItemProvidernewChildDescriptorsReferenceFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + NL + "\t\tnewChildDescriptors.add" + NL + "\t\t\t(createChildParameter" + NL
+			+ "\t\t\t\t(";
+	protected final String TEXT_2 = ",";
+	protected final String TEXT_3 = NL + "\t\t\t\t ";
+	protected final String TEXT_4 = ".create(";
+	protected final String TEXT_5 = ")));";
+	protected final String TEXT_6 = NL + "\t\t\t\t ";
+	protected final String TEXT_7 = ".create";
+	protected final String TEXT_8 = "()));";
+	protected final String TEXT_9 = NL;
+	protected final String TEXT_10 = NL;
+	protected final String TEXT_11 = NL;
+	protected final String TEXT_12 = NL;
+
+	public ItemProvidernewChildDescriptorsReferenceFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> createClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> delegatedFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> createClassifierList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> childCreationDataList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object createClassParameter : createClassList) {
+			for (Object createFeatureParameter : createFeatureList) {
+				for (Object delegatedFeatureParameter : delegatedFeatureList) {
+					for (Object createClassifierParameter : createClassifierList) {
+						for (Object childCreationDataParameter : childCreationDataList) {
+							for (Object genClassParameter : genClassList) {
+								for (Object genPackageParameter : genPackageList) {
+									for (Object genModelParameter : genModelList) {
+
+										this.createClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) createClassParameter;
+										this.createFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) createFeatureParameter;
+										this.delegatedFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) delegatedFeatureParameter;
+										this.createClassifier = (org.eclipse.emf.codegen.ecore.genmodel.GenClassifier) createClassifierParameter;
+										this.childCreationData = (org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData) childCreationDataParameter;
+										this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+										this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+										this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+										if (preCondition(ctx)) {
+											ctx.setNode(new Node.Container(currentNode, getClass()));
+											orchestration(ctx);
+										}
+
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(TEXT_12);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("createClass", this.createClass);
+			parameterValues.put("createFeature", this.createFeature);
+			parameterValues.put("delegatedFeature", this.delegatedFeature);
+			parameterValues.put("createClassifier", this.createClassifier);
+			parameterValues.put("childCreationData", this.childCreationData);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass createClass = null;
+
+	public void set_createClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.createClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature createFeature = null;
+
+	public void set_createFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.createFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature delegatedFeature = null;
+
+	public void set_delegatedFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.delegatedFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClassifier createClassifier = null;
+
+	public void set_createClassifier(org.eclipse.emf.codegen.ecore.genmodel.GenClassifier object) {
+		this.createClassifier = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData childCreationData = null;
+
+	public void set_childCreationData(org.eclipse.emf.codegen.ecore.genmodel.GenClass.ChildCreationData object) {
+		this.childCreationData = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("createClass", this.createClass);
+		parameters.put("createFeature", this.createFeature);
+		parameters.put("delegatedFeature", this.delegatedFeature);
+		parameters.put("createClassifier", this.createClassifier);
+		parameters.put("childCreationData", this.childCreationData);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(createFeature.getQualifiedFeatureAccessor());
+		stringBuffer.append(TEXT_2);
+		if (createClass.isMapEntry()) {
+			stringBuffer.append(TEXT_3);
+			stringBuffer.append(createClass.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(createClass.getQualifiedClassifierAccessor());
+			stringBuffer.append(TEXT_5);
+		} else {
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(createClass.getGenPackage().getQualifiedFactoryInstanceAccessor());
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(createClass.getName());
+			stringBuffer.append(TEXT_8);
+		}
+		stringBuffer.append(TEXT_9);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.edit.call.ItemProvider.ItemProvider.newChildDescriptorsReferenceFeature.insert" args="createClass:createClass,createFeature:createFeature,delegatedFeature:delegatedFeature,createClassifier:createClassifier,childCreationData:childCreationData,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("createClass", createClass);
+			callParameters.put("createFeature", createFeature);
+			callParameters.put("delegatedFeature", delegatedFeature);
+			callParameters.put("createClassifier", createClassifier);
+			callParameters.put("childCreationData", childCreationData);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_04y24GJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_10);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ActionBarContributor.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ActionBarContributor.java
index 165290b..e5fb867 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ActionBarContributor.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ActionBarContributor.java
@@ -1,1260 +1,1139 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ActionBarContributor extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized ActionBarContributor create(String lineSeparator) {

-		nl = lineSeparator;

-		ActionBarContributor result = new ActionBarContributor();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the action bar contributor for the ";

-	protected final String TEXT_5 = " model editor." + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public class ";

-	protected final String TEXT_6 = NL + "\textends ";

-	protected final String TEXT_7 = NL + "\timplements ";

-	protected final String TEXT_8 = NL + "{";

-	protected final String TEXT_9 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static final String copyright = ";

-	protected final String TEXT_10 = ";";

-	protected final String TEXT_11 = NL;

-	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * Action to create objects from the ";

-	protected final String TEXT_13 = " model." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static class NewAction extends ";

-	protected final String TEXT_14 = NL + "\t{" + NL + "\t\t/**" + NL

-			+ "\t\t * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)" + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tpublic void run(";

-	protected final String TEXT_15 = " action)" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_16 = " wizard = new ";

-	protected final String TEXT_17 = "();" + NL + "\t\t\twizard.init(getWindow().getWorkbench(), ";

-	protected final String TEXT_18 = ".EMPTY);" + NL + "\t\t\t";

-	protected final String TEXT_19 = " wizardDialog = new ";

-	protected final String TEXT_20 = "(getWindow().getShell(), wizard);" + NL + "\t\t\twizardDialog.open();" + NL

-			+ "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_21 = NL + "\t/**" + NL + "\t * This keeps track of the active editor." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_22 = " activeEditorPart;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This keeps track of the current selection provider." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_23 = " selectionProvider;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This action opens the Properties view." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_24 = " showPropertiesViewAction =" + NL + "\t\tnew ";

-	protected final String TEXT_25 = "(";

-	protected final String TEXT_26 = ".INSTANCE.getString(\"_UI_ShowPropertiesView_menu_item\"))";

-	protected final String TEXT_27 = NL + "\t\t{";

-	protected final String TEXT_28 = NL + "\t\t\t@Override";

-	protected final String TEXT_29 = NL + "\t\t\tpublic void run()" + NL + "\t\t\t{" + NL + "\t\t\t\ttry" + NL

-			+ "\t\t\t\t{" + NL + "\t\t\t\t\tgetPage().showView(\"org.eclipse.ui.views.PropertySheet\");";

-	protected final String TEXT_30 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";

-	protected final String TEXT_31 = " exception)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";

-	protected final String TEXT_32 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t};"

-			+ NL + "" + NL + "\t/**" + NL + "\t * This action refreshes the viewer of the current editor if the editor"

-			+ NL + "\t * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_33 = " refreshViewerAction =" + NL + "\t\tnew ";

-	protected final String TEXT_34 = "(";

-	protected final String TEXT_35 = ".INSTANCE.getString(\"_UI_RefreshViewer_menu_item\"))";

-	protected final String TEXT_36 = NL + "\t\t{";

-	protected final String TEXT_37 = NL + "\t\t\t@Override";

-	protected final String TEXT_38 = NL + "\t\t\tpublic boolean isEnabled()" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\treturn activeEditorPart instanceof ";

-	protected final String TEXT_39 = ";" + NL + "\t\t\t}" + NL;

-	protected final String TEXT_40 = NL + "\t\t\t@Override";

-	protected final String TEXT_41 = NL + "\t\t\tpublic void run()" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tif (activeEditorPart instanceof ";

-	protected final String TEXT_42 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";

-	protected final String TEXT_43 = " viewer = ((";

-	protected final String TEXT_44 = ")activeEditorPart).getViewer();" + NL + "\t\t\t\t\tif (viewer != null)" + NL

-			+ "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tviewer.refresh();" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t}" + NL + "\t\t};" + NL;

-	protected final String TEXT_45 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor"

-			+ NL + "\t * generated for the current selection by the item provider." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_46 = " createChildActions;" + NL;

-	protected final String TEXT_47 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateChildAction}s, keyed by sub-menu text."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_48 = " createChildSubmenuActions;" + NL;

-	protected final String TEXT_49 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This is the menu manager into which menu contribution items should be added for CreateChild actions."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_50 = " createChildMenuManager;"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor"

-			+ NL + "\t * generated for the current selection by the item provider." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_51 = " createSiblingActions;" + NL;

-	protected final String TEXT_52 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction}s, keyed by submenu text."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_53 = " createSiblingSubmenuActions;" + NL;

-	protected final String TEXT_54 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This is the menu manager into which menu contribution items should be added for CreateSibling actions."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_55 = " createSiblingMenuManager;" + NL;

-	protected final String TEXT_56 = NL + "\t/**" + NL + "\t * This creates an instance of the contributor." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_57 = "()" + NL + "\t{" + NL + "\t\tsuper(ADDITIONS_LAST_STYLE);" + NL

-			+ "\t\tloadResourceAction = new ";

-	protected final String TEXT_58 = "();" + NL + "\t\tvalidateAction = new ";

-	protected final String TEXT_59 = "();";

-	protected final String TEXT_60 = NL + "\t\tliveValidationAction = new ";

-	protected final String TEXT_61 = ".LiveValidator.LiveValidationAction(";

-	protected final String TEXT_62 = ".getPlugin().getDialogSettings());";

-	protected final String TEXT_63 = NL + "\t\tcontrolAction = new ";

-	protected final String TEXT_64 = "();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This adds Separators for editor additions to the tool bar." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_65 = NL + "\t@Override";

-	protected final String TEXT_66 = NL + "\tpublic void contributeToToolBar(";

-	protected final String TEXT_67 = " toolBarManager)" + NL + "\t{" + NL + "\t\ttoolBarManager.add(new ";

-	protected final String TEXT_68 = "(\"";

-	protected final String TEXT_69 = "-settings\"));";

-	protected final String TEXT_70 = NL + "\t\ttoolBarManager.add(new ";

-	protected final String TEXT_71 = "(\"";

-	protected final String TEXT_72 = "-additions\"));";

-	protected final String TEXT_73 = NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This adds to the menu bar a menu and some separators for editor additions," + NL

-			+ "\t * as well as the sub-menus for object creation items." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_74 = NL + "\t@Override";

-	protected final String TEXT_75 = NL + "\tpublic void contributeToMenu(";

-	protected final String TEXT_76 = " menuManager)" + NL + "\t{" + NL + "\t\tsuper.contributeToMenu(menuManager);"

-			+ NL + "" + NL + "\t\t";

-	protected final String TEXT_77 = " submenuManager = new ";

-	protected final String TEXT_78 = "(";

-	protected final String TEXT_79 = ".INSTANCE.getString(\"_UI_";

-	protected final String TEXT_80 = "_menu\"), \"";

-	protected final String TEXT_81 = "MenuID\");";

-	protected final String TEXT_82 = NL + "\t\tmenuManager.insertAfter(\"additions\", submenuManager);";

-	protected final String TEXT_83 = NL + "\t\tsubmenuManager.add(new ";

-	protected final String TEXT_84 = "(\"settings\"));";

-	protected final String TEXT_85 = NL + "\t\tsubmenuManager.add(new ";

-	protected final String TEXT_86 = "(\"actions\"));";

-	protected final String TEXT_87 = NL + "\t\tsubmenuManager.add(new ";

-	protected final String TEXT_88 = "(\"additions\"));";

-	protected final String TEXT_89 = NL + "\t\tsubmenuManager.add(new ";

-	protected final String TEXT_90 = "(\"additions-end\"));";

-	protected final String TEXT_91 = NL;

-	protected final String TEXT_92 = NL + "\t\t// Prepare for CreateChild item addition or removal." + NL + "\t\t//"

-			+ NL + "\t\tcreateChildMenuManager = new ";

-	protected final String TEXT_93 = "(";

-	protected final String TEXT_94 = ".INSTANCE.getString(\"_UI_CreateChild_menu_item\"));";

-	protected final String TEXT_95 = NL + "\t\tsubmenuManager.insertBefore(\"additions\", createChildMenuManager);";

-	protected final String TEXT_96 = NL + NL + "\t\t// Prepare for CreateSibling item addition or removal." + NL

-			+ "\t\t//" + NL + "\t\tcreateSiblingMenuManager = new ";

-	protected final String TEXT_97 = "(";

-	protected final String TEXT_98 = ".INSTANCE.getString(\"_UI_CreateSibling_menu_item\"));";

-	protected final String TEXT_99 = NL + "\t\tsubmenuManager.insertBefore(\"additions\", createSiblingMenuManager);";

-	protected final String TEXT_100 = NL + NL + "\t\t// Force an update because Eclipse hides empty menus now." + NL

-			+ "\t\t//" + NL + "\t\tsubmenuManager.addMenuListener" + NL + "\t\t\t(new ";

-	protected final String TEXT_101 = "()" + NL + "\t\t\t {" + NL + "\t\t\t\t public void menuAboutToShow(";

-	protected final String TEXT_102 = " menuManager)" + NL + "\t\t\t\t {" + NL

-			+ "\t\t\t\t\t menuManager.updateAll(true);" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;

-	protected final String TEXT_103 = NL + "\t\t// Add your contributions." + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL;

-	protected final String TEXT_104 = NL

-			+ "\t\taddGlobalActions(submenuManager);"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * When the active editor changes, this remembers the change and registers with it as a selection provider."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_105 = NL + "\t@Override";

-	protected final String TEXT_106 = NL + "\tpublic void setActiveEditor(";

-	protected final String TEXT_107 = " part)" + NL + "\t{" + NL + "\t\tsuper.setActiveEditor(part);" + NL

-			+ "\t\tactiveEditorPart = part;" + NL + "" + NL + "\t\t// Switch to the new selection provider." + NL

-			+ "\t\t//" + NL + "\t\tif (selectionProvider != null)" + NL + "\t\t{" + NL

-			+ "\t\t\tselectionProvider.removeSelectionChangedListener(this);" + NL + "\t\t}" + NL

-			+ "\t\tif (part == null)" + NL + "\t\t{" + NL + "\t\t\tselectionProvider = null;" + NL + "\t\t}" + NL

-			+ "\t\telse" + NL + "\t\t{" + NL + "\t\t\tselectionProvider = part.getSite().getSelectionProvider();" + NL

-			+ "\t\t\tselectionProvider.addSelectionChangedListener(this);" + NL + "" + NL

-			+ "\t\t\t// Fake a selection changed event to update the menus." + NL + "\t\t\t//" + NL

-			+ "\t\t\tif (selectionProvider.getSelection() != null)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tselectionChanged(new ";

-	protected final String TEXT_108 = "(selectionProvider, selectionProvider.getSelection()));"

-			+ NL

-			+ "\t\t\t}"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},"

-			+ NL

-			+ "\t * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings"

-			+ NL + "\t * that can be added to the selected object and updating the menus accordingly." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void selectionChanged(";

-	protected final String TEXT_109 = " event)" + NL + "\t{";

-	protected final String TEXT_110 = NL + "\t\t// Remove any menu items for old selection." + NL + "\t\t//" + NL

-			+ "\t\tif (createChildMenuManager != null)" + NL + "\t\t{";

-	protected final String TEXT_111 = NL

-			+ "\t\t\tdepopulateManager(createChildMenuManager, createChildSubmenuActions);";

-	protected final String TEXT_112 = NL + "\t\t\tdepopulateManager(createChildMenuManager, createChildActions);" + NL

-			+ "\t\t}" + NL + "\t\tif (createSiblingMenuManager != null)" + NL + "\t\t{";

-	protected final String TEXT_113 = NL

-			+ "\t\t\tdepopulateManager(createSiblingMenuManager, createSiblingSubmenuActions);";

-	protected final String TEXT_114 = NL + "\t\t\tdepopulateManager(createSiblingMenuManager, createSiblingActions);"

-			+ NL + "\t\t}" + NL + "" + NL

-			+ "\t\t// Query the new selection for appropriate new child/sibling descriptors" + NL + "\t\t//" + NL

-			+ "\t\t";

-	protected final String TEXT_115 = " newChildDescriptors = null;" + NL + "\t\t";

-	protected final String TEXT_116 = " newSiblingDescriptors = null;" + NL + "" + NL + "\t\t";

-	protected final String TEXT_117 = " selection = event.getSelection();" + NL + "\t\tif (selection instanceof ";

-	protected final String TEXT_118 = " && ((IStructuredSelection)selection).size() == 1)" + NL + "\t\t{" + NL

-			+ "\t\t\tObject object = ((";

-	protected final String TEXT_119 = ")selection).getFirstElement();" + NL + "" + NL + "\t\t\t";

-	protected final String TEXT_120 = " domain = ((";

-	protected final String TEXT_121 = ")activeEditorPart).getEditingDomain();" + NL + "" + NL

-			+ "\t\t\tnewChildDescriptors = domain.getNewChildDescriptors(object, null);" + NL

-			+ "\t\t\tnewSiblingDescriptors = domain.getNewChildDescriptors(null, object);" + NL + "\t\t}" + NL + ""

-			+ NL + "\t\t// Generate actions for selection; populate and redraw the menus." + NL + "\t\t//" + NL

-			+ "\t\tcreateChildActions = generateCreateChildActions(newChildDescriptors, selection);";

-	protected final String TEXT_122 = NL + "\t\tcreateChildSubmenuActions = extractSubmenuActions(createChildActions);";

-	protected final String TEXT_123 = NL

-			+ "\t\tcreateSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);";

-	protected final String TEXT_124 = NL

-			+ "\t\tcreateSiblingSubmenuActions = extractSubmenuActions(createSiblingActions);";

-	protected final String TEXT_125 = NL + NL + "\t\tif (createChildMenuManager != null)" + NL + "\t\t{";

-	protected final String TEXT_126 = NL

-			+ "\t\t\tpopulateManager(createChildMenuManager, createChildSubmenuActions, null);";

-	protected final String TEXT_127 = NL + "\t\t\tpopulateManager(createChildMenuManager, createChildActions, null);"

-			+ NL + "\t\t\tcreateChildMenuManager.update(true);" + NL + "\t\t}" + NL

-			+ "\t\tif (createSiblingMenuManager != null)" + NL + "\t\t{";

-	protected final String TEXT_128 = NL

-			+ "\t\t\tpopulateManager(createSiblingMenuManager, createSiblingSubmenuActions, null);";

-	protected final String TEXT_129 = NL

-			+ "\t\t\tpopulateManager(createSiblingMenuManager, createSiblingActions, null);" + NL

-			+ "\t\t\tcreateSiblingMenuManager.update(true);" + NL + "\t\t}";

-	protected final String TEXT_130 = NL + "\t\t// Add your contributions." + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT";

-	protected final String TEXT_131 = NL + "\t}" + NL;

-	protected final String TEXT_132 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,"

-			+ NL + "\t * and returns the collection of these actions." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_133 = " generateCreateChildActions(";

-	protected final String TEXT_134 = " descriptors, ";

-	protected final String TEXT_135 = " selection)" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_136 = " actions = new ";

-	protected final String TEXT_137 = "();" + NL + "\t\tif (descriptors != null)" + NL + "\t\t{";

-	protected final String TEXT_138 = NL + "\t\t\tfor (";

-	protected final String TEXT_139 = " descriptor : descriptors)";

-	protected final String TEXT_140 = NL + "\t\t\tfor (";

-	protected final String TEXT_141 = " i = descriptors.iterator(); i.hasNext(); )";

-	protected final String TEXT_142 = NL + "\t\t\t{" + NL + "\t\t\t\tactions.add(new ";

-	protected final String TEXT_143 = "(activeEditorPart, selection, ";

-	protected final String TEXT_144 = "descriptor";

-	protected final String TEXT_145 = "i.next()";

-	protected final String TEXT_146 = "));"

-			+ NL

-			+ "\t\t\t}"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\treturn actions;"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,"

-			+ NL + "\t * and returns the collection of these actions." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_147 = " generateCreateSiblingActions(";

-	protected final String TEXT_148 = " descriptors, ";

-	protected final String TEXT_149 = " selection)" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_150 = " actions = new ";

-	protected final String TEXT_151 = "();" + NL + "\t\tif (descriptors != null)" + NL + "\t\t{";

-	protected final String TEXT_152 = NL + "\t\t\tfor (";

-	protected final String TEXT_153 = " descriptor : descriptors)";

-	protected final String TEXT_154 = NL + "\t\t\tfor (";

-	protected final String TEXT_155 = " i = descriptors.iterator(); i.hasNext(); )";

-	protected final String TEXT_156 = NL + "\t\t\t{" + NL + "\t\t\t\tactions.add(new ";

-	protected final String TEXT_157 = "(activeEditorPart, selection, ";

-	protected final String TEXT_158 = "descriptor";

-	protected final String TEXT_159 = "i.next()";

-	protected final String TEXT_160 = "));"

-			+ NL

-			+ "\t\t\t}"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\treturn actions;"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s"

-			+ NL

-			+ "\t * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,"

-			+ NL + "\t * by inserting them before the specified contribution item <code>contributionID</code>." + NL

-			+ "\t * If <code>contributionID</code> is <code>null</code>, they are simply added." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected void populateManager(";

-	protected final String TEXT_161 = " manager, ";

-	protected final String TEXT_162 = " actions, String contributionID)" + NL + "\t{" + NL + "\t\tif (actions != null)"

-			+ NL + "\t\t{";

-	protected final String TEXT_163 = NL + "\t\t\tfor (";

-	protected final String TEXT_164 = " action : actions)";

-	protected final String TEXT_165 = NL + "\t\t\tfor (";

-	protected final String TEXT_166 = " i = actions.iterator(); i.hasNext(); )";

-	protected final String TEXT_167 = NL + "\t\t\t{";

-	protected final String TEXT_168 = NL + "\t\t\t\t";

-	protected final String TEXT_169 = " action = (IAction)i.next();";

-	protected final String TEXT_170 = NL

-			+ "\t\t\t\tif (contributionID != null)"

-			+ NL

-			+ "\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\tmanager.insertBefore(contributionID, action);"

-			+ NL

-			+ "\t\t\t\t}"

-			+ NL

-			+ "\t\t\t\telse"

-			+ NL

-			+ "\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\tmanager.add(action);"

-			+ NL

-			+ "\t\t\t\t}"

-			+ NL

-			+ "\t\t\t}"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ "\t\t"

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s"

-			+ NL

-			+ "\t * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected void depopulateManager(";

-	protected final String TEXT_171 = " manager, ";

-	protected final String TEXT_172 = " actions)" + NL + "\t{" + NL + "\t\tif (actions != null)" + NL + "\t\t{" + NL

-			+ "\t\t\t";

-	protected final String TEXT_173 = "[] items = manager.getItems();" + NL

-			+ "\t\t\tfor (int i = 0; i < items.length; i++)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t// Look into SubContributionItems" + NL + "\t\t\t\t//" + NL + "\t\t\t\t";

-	protected final String TEXT_174 = " contributionItem = items[i];" + NL

-			+ "\t\t\t\twhile (contributionItem instanceof ";

-	protected final String TEXT_175 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tcontributionItem = ((";

-	protected final String TEXT_176 = ")contributionItem).getInnerItem();" + NL + "\t\t\t\t}" + NL + "" + NL

-			+ "\t\t\t\t// Delete the ActionContributionItems with matching action." + NL + "\t\t\t\t//" + NL

-			+ "\t\t\t\tif (contributionItem instanceof ";

-	protected final String TEXT_177 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";

-	protected final String TEXT_178 = " action = ((";

-	protected final String TEXT_179 = ")contributionItem).getAction();" + NL

-			+ "\t\t\t\t\tif (actions.contains(action))" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\tmanager.remove(contributionItem);" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}"

-			+ NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_180 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This extracts those actions in the <code>submenuActions</code> collection whose text is qualified and returns"

-			+ NL + "\t * a map of these actions, keyed by submenu text." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_181 = " extractSubmenuActions(";

-	protected final String TEXT_182 = " createActions)" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_183 = " createSubmenuActions = new ";

-	protected final String TEXT_184 = "();" + NL + "\t\tif (createActions != null)" + NL + "\t\t{" + NL + "\t\t\tfor (";

-	protected final String TEXT_185 = " actions = createActions.iterator(); actions.hasNext(); )" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t";

-	protected final String TEXT_186 = " action = ";

-	protected final String TEXT_187 = "(";

-	protected final String TEXT_188 = ")";

-	protected final String TEXT_189 = "actions.next();" + NL + "\t\t\t\t";

-	protected final String TEXT_190 = " st = new ";

-	protected final String TEXT_191 = "(action.getText(), \"|\");";

-	protected final String TEXT_192 = NL + "\t\t\t\tif (st.countTokens() == 2)" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tString text = st.nextToken().trim();" + NL + "\t\t\t\t\t";

-	protected final String TEXT_193 = " submenuActions = ";

-	protected final String TEXT_194 = "(";

-	protected final String TEXT_195 = ")";

-	protected final String TEXT_196 = "createSubmenuActions.get(text);" + NL + "\t\t\t\t\tif (submenuActions == null)"

-			+ NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tcreateSubmenuActions.put(text, submenuActions = new ";

-	protected final String TEXT_197 = "());"

-			+ NL

-			+ "\t\t\t\t\t}"

-			+ NL

-			+ "\t\t\t\t\taction.setText(st.nextToken().trim());"

-			+ NL

-			+ "\t\t\t\t\tsubmenuActions.add(action);"

-			+ NL

-			+ "\t\t\t\t\tactions.remove();"

-			+ NL

-			+ "\t\t\t\t}"

-			+ NL

-			+ "\t\t\t}"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\treturn createSubmenuActions;"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.MenuManager}s containing"

-			+ NL

-			+ "\t * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s"

-			+ NL

-			+ "\t * contained in the <code>submenuActions</code> collection, by inserting them before the specified contribution"

-			+ NL + "\t * item <code>contributionID</code>." + NL

-			+ "\t * If <code>contributionID</code> is <code>null</code>, they are simply added." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected void populateManager(";

-	protected final String TEXT_198 = " manager, ";

-	protected final String TEXT_199 = " submenuActions, String contributionID)" + NL + "\t{" + NL

-			+ "\t\tif (submenuActions != null)" + NL + "\t\t{";

-	protected final String TEXT_200 = NL + "\t\t\tfor (";

-	protected final String TEXT_201 = " entry : submenuActions.entrySet())" + NL + "\t\t\t{";

-	protected final String TEXT_202 = NL + "\t\t\tfor (";

-	protected final String TEXT_203 = " entries = submenuActions.entrySet().iterator(); entries.hasNext();)" + NL

-			+ "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_204 = " entry = (";

-	protected final String TEXT_205 = ")entries.next();";

-	protected final String TEXT_206 = NL + "\t\t\t\t";

-	protected final String TEXT_207 = " submenuManager = new ";

-	protected final String TEXT_208 = "(";

-	protected final String TEXT_209 = "(String)";

-	protected final String TEXT_210 = "entry.getKey());" + NL + "\t\t\t\tif (contributionID != null)" + NL

-			+ "\t\t\t\t{" + NL + "\t\t\t\t\tmanager.insertBefore(contributionID, submenuManager);" + NL + "\t\t\t\t}"

-			+ NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tmanager.add(submenuManager);" + NL + "\t\t\t\t}"

-			+ NL + "\t\t\t\tpopulateManager(submenuManager, ";

-	protected final String TEXT_211 = "(";

-	protected final String TEXT_212 = ")";

-	protected final String TEXT_213 = "entry.getValue(), null);"

-			+ NL

-			+ "\t\t\t}"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.MenuManager}s and their"

-			+ NL

-			+ "\t * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s"

-			+ NL + "\t * contained in the <code>submenuActions</code> map." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected void depopulateManager(";

-	protected final String TEXT_214 = " manager, ";

-	protected final String TEXT_215 = " submenuActions)" + NL + "\t{" + NL + "\t\tif (submenuActions != null)" + NL

-			+ "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_216 = "[] items = manager.getItems();" + NL

-			+ "\t\t\tfor (int i = 0; i < items.length; i++)" + NL + "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_217 = " contributionItem = items[i];" + NL + "\t\t\t\tif (contributionItem instanceof ";

-	protected final String TEXT_218 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";

-	protected final String TEXT_219 = " submenuManager = (";

-	protected final String TEXT_220 = ")contributionItem;" + NL

-			+ "\t\t\t\t\tif (submenuActions.containsKey(submenuManager.getMenuText()))" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\tdepopulateManager(submenuManager, ";

-	protected final String TEXT_221 = "(";

-	protected final String TEXT_222 = ")";

-	protected final String TEXT_223 = "submenuActions.get(contributionItem));" + NL

-			+ "\t\t\t\t\t\tmanager.remove(contributionItem);" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}"

-			+ NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_224 = NL + "\t/**" + NL + "\t * This populates the pop-up menu before it appears." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_225 = NL + "\t@Override";

-	protected final String TEXT_226 = NL + "\tpublic void menuAboutToShow(";

-	protected final String TEXT_227 = " menuManager)" + NL + "\t{" + NL + "\t\tsuper.menuAboutToShow(menuManager);";

-	protected final String TEXT_228 = NL + "\t\t";

-	protected final String TEXT_229 = " submenuManager = null;" + NL + "" + NL + "\t\tsubmenuManager = new ";

-	protected final String TEXT_230 = "(";

-	protected final String TEXT_231 = ".INSTANCE.getString(\"_UI_CreateChild_menu_item\"));";

-	protected final String TEXT_232 = NL + "\t\tpopulateManager(submenuManager, createChildSubmenuActions, null);";

-	protected final String TEXT_233 = NL + "\t\tpopulateManager(submenuManager, createChildActions, null);" + NL

-			+ "\t\tmenuManager.insertBefore(\"edit\", submenuManager);";

-	protected final String TEXT_234 = NL + NL + "\t\tsubmenuManager = new ";

-	protected final String TEXT_235 = "(";

-	protected final String TEXT_236 = ".INSTANCE.getString(\"_UI_CreateSibling_menu_item\"));";

-	protected final String TEXT_237 = NL + "\t\tpopulateManager(submenuManager, createSiblingSubmenuActions, null);";

-	protected final String TEXT_238 = NL + "\t\tpopulateManager(submenuManager, createSiblingActions, null);" + NL

-			+ "\t\tmenuManager.insertBefore(\"edit\", submenuManager);";

-	protected final String TEXT_239 = NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This inserts global actions before the \"additions-end\" separator." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_240 = NL + "\t@Override";

-	protected final String TEXT_241 = NL + "\tprotected void addGlobalActions(";

-	protected final String TEXT_242 = " menuManager)" + NL + "\t{" + NL

-			+ "\t\tmenuManager.insertAfter(\"additions-end\", new ";

-	protected final String TEXT_243 = "(\"ui-actions\"));";

-	protected final String TEXT_244 = NL + "\t\tmenuManager.insertAfter(\"ui-actions\", showPropertiesViewAction);";

-	protected final String TEXT_245 = NL + NL

-			+ "\t\trefreshViewerAction.setEnabled(refreshViewerAction.isEnabled());\t\t" + NL

-			+ "\t\tmenuManager.insertAfter(\"ui-actions\", refreshViewerAction);";

-	protected final String TEXT_246 = NL + NL + "\t\tsuper.addGlobalActions(menuManager);" + NL + "\t}" + NL + "" + NL

-			+ "\t/**" + NL + "\t * This ensures that a delete action will clean up all references to deleted objects."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_247 = NL + "\t@Override";

-	protected final String TEXT_248 = NL + "\tprotected boolean removeAllReferencesOnDelete()" + NL + "\t{" + NL

-			+ "\t\treturn true;" + NL + "\t}" + NL + "" + NL + "}";

-	protected final String TEXT_249 = NL;

-	protected final String TEXT_250 = NL;

-	protected final String TEXT_251 = NL;

-

-	public ActionBarContributor() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_250);

-		stringBuffer.append(TEXT_251);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getEditorDirectory();

-		packageName = genPackage.getPresentationPackageName();

-		className = genPackage.getActionBarContributorClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2007 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) argument;

-		GenModel genModel = genPackage.getGenModel();

-

-		String _CollectionOfAnything = null;

-		String _CollectionOfIAction = null;

-		String _ArrayListOfIAction = null;

-		String _CollectionOfExtendsIAction = null;

-		String _IteratorOfIAction = null;

-		String _MapOfStringToCollectionOfIAction = null;

-		String _MapEntryOfStringToCollectionOfIAction = null;

-		String _LinkedHashMapOfStringToCollectionOfIAction = null;

-		if (genModel.isCreationCommands()) {

-			_CollectionOfAnything = genModel.getImportedName("Collection" + (genModel.useGenerics() ? "<?>" : ""));

-			_CollectionOfIAction = genModel

-					.getImportedName(genModel.useGenerics() ? "java.util.Collection<org.eclipse.jface.action.IAction>"

-							: "java.util.Collection");

-			_ArrayListOfIAction = genModel

-					.getImportedName(genModel.useGenerics() ? "java.util.ArrayList<org.eclipse.jface.action.IAction>"

-							: "java.util.ArrayList");

-			_CollectionOfExtendsIAction = genModel

-					.getImportedName(genModel.useGenerics() ? "java.util.Collection<? extends org.eclipse.jface.action.IAction>"

-							: "java.util.Collection");

-			if (genModel.isCreationSubmenus()) {

-				_IteratorOfIAction = genModel

-						.getImportedName(genModel.useGenerics() ? "java.util.Iterator<org.eclipse.jface.action.IAction>"

-								: "java.util.Iterator");

-				_MapOfStringToCollectionOfIAction = genModel.getImportedName("java.util.Map")

-						+ (genModel.useGenerics() ? ("<String, " + _CollectionOfIAction + ">") : "");

-				_MapEntryOfStringToCollectionOfIAction = genModel.getImportedName("java.util.Map") + ".Entry"

-						+ (genModel.useGenerics() ? ("<String, " + _CollectionOfIAction + ">") : "");

-				_LinkedHashMapOfStringToCollectionOfIAction = genModel.getImportedName("java.util.LinkedHashMap")

-						+ (genModel.useGenerics() ? ("<String, " + _CollectionOfIAction + ">") : "");

-			}

-		}

-

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getPresentationPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genPackage.getPrefix());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genPackage.getActionBarContributorClassName());

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(genModel

-				.getImportedName("org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor"));

-		stringBuffer.append(TEXT_7);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelectionChangedListener"));

-		stringBuffer.append(TEXT_8);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_11);

-		}

-		if (genModel.isRichClientPlatform() && genPackage.isGenerateModelWizard()) {

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genPackage.getPrefix());

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(genModel

-					.getImportedName("org.eclipse.emf.common.ui.action.WorkbenchWindowActionDelegate"));

-			stringBuffer.append(TEXT_14);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genPackage.getModelWizardClassName());

-			stringBuffer.append(TEXT_16);

-			stringBuffer.append(genPackage.getModelWizardClassName());

-			stringBuffer.append(TEXT_17);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection"));

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.wizard.WizardDialog"));

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.wizard.WizardDialog"));

-			stringBuffer.append(TEXT_20);

-		}

-		stringBuffer.append(TEXT_21);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IEditorPart"));

-		stringBuffer.append(TEXT_22);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelectionProvider"));

-		stringBuffer.append(TEXT_23);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

-		stringBuffer.append(TEXT_24);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Action"));

-		stringBuffer.append(TEXT_25);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_26);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_27);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_28);

-		}

-		stringBuffer.append(TEXT_29);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_30);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.ui.PartInitException"));

-		stringBuffer.append(TEXT_31);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_32);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

-		stringBuffer.append(TEXT_33);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Action"));

-		stringBuffer.append(TEXT_34);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_35);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_36);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_37);

-		}

-		stringBuffer.append(TEXT_38);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider"));

-		stringBuffer.append(TEXT_39);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_40);

-		}

-		stringBuffer.append(TEXT_41);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider"));

-		stringBuffer.append(TEXT_42);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.Viewer"));

-		stringBuffer.append(TEXT_43);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider"));

-		stringBuffer.append(TEXT_44);

-		if (genModel.isCreationCommands()) {

-			stringBuffer.append(TEXT_45);

-			stringBuffer.append(_CollectionOfIAction);

-			stringBuffer.append(TEXT_46);

-			if (genModel.isCreationSubmenus()) {

-				stringBuffer.append(TEXT_47);

-				stringBuffer.append(_MapOfStringToCollectionOfIAction);

-				stringBuffer.append(TEXT_48);

-			}

-			stringBuffer.append(TEXT_49);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

-			stringBuffer.append(TEXT_50);

-			stringBuffer.append(_CollectionOfIAction);

-			stringBuffer.append(TEXT_51);

-			if (genModel.isCreationSubmenus()) {

-				stringBuffer.append(TEXT_52);

-				stringBuffer.append(_MapOfStringToCollectionOfIAction);

-				stringBuffer.append(TEXT_53);

-			}

-			stringBuffer.append(TEXT_54);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

-			stringBuffer.append(TEXT_55);

-		}

-		stringBuffer.append(TEXT_56);

-		stringBuffer.append(genPackage.getActionBarContributorClassName());

-		stringBuffer.append(TEXT_57);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.LoadResourceAction"));

-		stringBuffer.append(TEXT_58);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.ValidateAction"));

-		stringBuffer.append(TEXT_59);

-		if (genModel.getDecoration() == GenDecoration.LIVE) {

-			stringBuffer.append(TEXT_60);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DiagnosticDecorator"));

-			stringBuffer.append(TEXT_61);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_62);

-		}

-		stringBuffer.append(TEXT_63);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.ControlAction"));

-		stringBuffer.append(TEXT_64);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_65);

-		}

-		stringBuffer.append(TEXT_66);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IToolBarManager"));

-		stringBuffer.append(TEXT_67);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

-		stringBuffer.append(TEXT_68);

-		stringBuffer.append(genPackage.getPrefix().toLowerCase(genModel.getLocale()));

-		stringBuffer.append(TEXT_69);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_70);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

-		stringBuffer.append(TEXT_71);

-		stringBuffer.append(genPackage.getPrefix().toLowerCase(genModel.getLocale()));

-		stringBuffer.append(TEXT_72);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_73);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_74);

-		}

-		stringBuffer.append(TEXT_75);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

-		stringBuffer.append(TEXT_76);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

-		stringBuffer.append(TEXT_77);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

-		stringBuffer.append(TEXT_78);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_79);

-		stringBuffer.append(genPackage.getEditorClassName());

-		stringBuffer.append(TEXT_80);

-		stringBuffer.append(genPackage.getInterfacePackageName());

-		stringBuffer.append(TEXT_81);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(genModel.getNonNLS(2));

-		stringBuffer.append(TEXT_82);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_83);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

-		stringBuffer.append(TEXT_84);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_85);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

-		stringBuffer.append(TEXT_86);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_87);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

-		stringBuffer.append(TEXT_88);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_89);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

-		stringBuffer.append(TEXT_90);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_91);

-		if (genModel.isCreationCommands()) {

-			stringBuffer.append(TEXT_92);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

-			stringBuffer.append(TEXT_93);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_94);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_95);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_96);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

-			stringBuffer.append(TEXT_97);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_98);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_99);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_100);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuListener"));

-			stringBuffer.append(TEXT_101);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

-			stringBuffer.append(TEXT_102);

-		} else {

-			stringBuffer.append(TEXT_103);

-		}

-		stringBuffer.append(TEXT_104);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_105);

-		}

-		stringBuffer.append(TEXT_106);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IEditorPart"));

-		stringBuffer.append(TEXT_107);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.SelectionChangedEvent"));

-		stringBuffer.append(TEXT_108);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.SelectionChangedEvent"));

-		stringBuffer.append(TEXT_109);

-		if (genModel.isCreationCommands()) {

-			stringBuffer.append(TEXT_110);

-			if (genModel.isCreationSubmenus()) {

-				stringBuffer.append(TEXT_111);

-			}

-			stringBuffer.append(TEXT_112);

-			if (genModel.isCreationSubmenus()) {

-				stringBuffer.append(TEXT_113);

-			}

-			stringBuffer.append(TEXT_114);

-			stringBuffer.append(_CollectionOfAnything);

-			stringBuffer.append(TEXT_115);

-			stringBuffer.append(_CollectionOfAnything);

-			stringBuffer.append(TEXT_116);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));

-			stringBuffer.append(TEXT_117);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.IStructuredSelection"));

-			stringBuffer.append(TEXT_118);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.IStructuredSelection"));

-			stringBuffer.append(TEXT_119);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));

-			stringBuffer.append(TEXT_120);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.IEditingDomainProvider"));

-			stringBuffer.append(TEXT_121);

-			if (genModel.isCreationSubmenus()) {

-				stringBuffer.append(TEXT_122);

-			}

-			stringBuffer.append(TEXT_123);

-			if (genModel.isCreationSubmenus()) {

-				stringBuffer.append(TEXT_124);

-			}

-			stringBuffer.append(TEXT_125);

-			if (genModel.isCreationSubmenus()) {

-				stringBuffer.append(TEXT_126);

-			}

-			stringBuffer.append(TEXT_127);

-			if (genModel.isCreationSubmenus()) {

-				stringBuffer.append(TEXT_128);

-			}

-			stringBuffer.append(TEXT_129);

-		} else {

-			stringBuffer.append(TEXT_130);

-		}

-		stringBuffer.append(TEXT_131);

-		if (genModel.isCreationCommands()) {

-			stringBuffer.append(TEXT_132);

-			stringBuffer.append(_CollectionOfIAction);

-			stringBuffer.append(TEXT_133);

-			stringBuffer.append(_CollectionOfAnything);

-			stringBuffer.append(TEXT_134);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));

-			stringBuffer.append(TEXT_135);

-			stringBuffer.append(_CollectionOfIAction);

-			stringBuffer.append(TEXT_136);

-			stringBuffer.append(_ArrayListOfIAction);

-			stringBuffer.append(TEXT_137);

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_138);

-				stringBuffer.append(genModel.getImportedName("java.lang.Object"));

-				stringBuffer.append(TEXT_139);

-			} else {

-				stringBuffer.append(TEXT_140);

-				stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

-				stringBuffer.append(TEXT_141);

-			}

-			stringBuffer.append(TEXT_142);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.CreateChildAction"));

-			stringBuffer.append(TEXT_143);

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_144);

-			} else {

-				stringBuffer.append(TEXT_145);

-			}

-			stringBuffer.append(TEXT_146);

-			stringBuffer.append(_CollectionOfIAction);

-			stringBuffer.append(TEXT_147);

-			stringBuffer.append(_CollectionOfAnything);

-			stringBuffer.append(TEXT_148);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));

-			stringBuffer.append(TEXT_149);

-			stringBuffer.append(_CollectionOfIAction);

-			stringBuffer.append(TEXT_150);

-			stringBuffer.append(_ArrayListOfIAction);

-			stringBuffer.append(TEXT_151);

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_152);

-				stringBuffer.append(genModel.getImportedName("java.lang.Object"));

-				stringBuffer.append(TEXT_153);

-			} else {

-				stringBuffer.append(TEXT_154);

-				stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

-				stringBuffer.append(TEXT_155);

-			}

-			stringBuffer.append(TEXT_156);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.CreateSiblingAction"));

-			stringBuffer.append(TEXT_157);

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_158);

-			} else {

-				stringBuffer.append(TEXT_159);

-			}

-			stringBuffer.append(TEXT_160);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));

-			stringBuffer.append(TEXT_161);

-			stringBuffer.append(_CollectionOfExtendsIAction);

-			stringBuffer.append(TEXT_162);

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_163);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

-				stringBuffer.append(TEXT_164);

-			} else {

-				stringBuffer.append(TEXT_165);

-				stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

-				stringBuffer.append(TEXT_166);

-			}

-			stringBuffer.append(TEXT_167);

-			if (!genModel.useGenerics()) {

-				stringBuffer.append(TEXT_168);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

-				stringBuffer.append(TEXT_169);

-			}

-			stringBuffer.append(TEXT_170);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));

-			stringBuffer.append(TEXT_171);

-			stringBuffer.append(_CollectionOfExtendsIAction);

-			stringBuffer.append(TEXT_172);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));

-			stringBuffer.append(TEXT_173);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));

-			stringBuffer.append(TEXT_174);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.SubContributionItem"));

-			stringBuffer.append(TEXT_175);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.SubContributionItem"));

-			stringBuffer.append(TEXT_176);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.ActionContributionItem"));

-			stringBuffer.append(TEXT_177);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

-			stringBuffer.append(TEXT_178);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.ActionContributionItem"));

-			stringBuffer.append(TEXT_179);

-			if (genModel.isCreationSubmenus()) {

-				stringBuffer.append(TEXT_180);

-				stringBuffer.append(_MapOfStringToCollectionOfIAction);

-				stringBuffer.append(TEXT_181);

-				stringBuffer.append(_CollectionOfIAction);

-				stringBuffer.append(TEXT_182);

-				stringBuffer.append(_MapOfStringToCollectionOfIAction);

-				stringBuffer.append(TEXT_183);

-				stringBuffer.append(_LinkedHashMapOfStringToCollectionOfIAction);

-				stringBuffer.append(TEXT_184);

-				stringBuffer.append(_IteratorOfIAction);

-				stringBuffer.append(TEXT_185);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

-				stringBuffer.append(TEXT_186);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_187);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));

-					stringBuffer.append(TEXT_188);

-				}

-				stringBuffer.append(TEXT_189);

-				stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

-				stringBuffer.append(TEXT_190);

-				stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

-				stringBuffer.append(TEXT_191);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(TEXT_192);

-				stringBuffer.append(_CollectionOfIAction);

-				stringBuffer.append(TEXT_193);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_194);

-					stringBuffer.append(_CollectionOfIAction);

-					stringBuffer.append(TEXT_195);

-				}

-				stringBuffer.append(TEXT_196);

-				stringBuffer.append(_ArrayListOfIAction);

-				stringBuffer.append(TEXT_197);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));

-				stringBuffer.append(TEXT_198);

-				stringBuffer.append(_MapOfStringToCollectionOfIAction);

-				stringBuffer.append(TEXT_199);

-				if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {

-					stringBuffer.append(TEXT_200);

-					stringBuffer.append(_MapEntryOfStringToCollectionOfIAction);

-					stringBuffer.append(TEXT_201);

-				} else {

-					stringBuffer.append(TEXT_202);

-					stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

-					stringBuffer.append(TEXT_203);

-					stringBuffer.append(_MapEntryOfStringToCollectionOfIAction);

-					stringBuffer.append(TEXT_204);

-					stringBuffer.append(_MapEntryOfStringToCollectionOfIAction);

-					stringBuffer.append(TEXT_205);

-				}

-				stringBuffer.append(TEXT_206);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

-				stringBuffer.append(TEXT_207);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

-				stringBuffer.append(TEXT_208);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_209);

-				}

-				stringBuffer.append(TEXT_210);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_211);

-					stringBuffer.append(_CollectionOfIAction);

-					stringBuffer.append(TEXT_212);

-				}

-				stringBuffer.append(TEXT_213);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));

-				stringBuffer.append(TEXT_214);

-				stringBuffer.append(_MapOfStringToCollectionOfIAction);

-				stringBuffer.append(TEXT_215);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));

-				stringBuffer.append(TEXT_216);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));

-				stringBuffer.append(TEXT_217);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

-				stringBuffer.append(TEXT_218);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

-				stringBuffer.append(TEXT_219);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

-				stringBuffer.append(TEXT_220);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_221);

-					stringBuffer.append(_CollectionOfIAction);

-					stringBuffer.append(TEXT_222);

-				}

-				stringBuffer.append(TEXT_223);

-			}

-		}

-		stringBuffer.append(TEXT_224);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_225);

-		}

-		stringBuffer.append(TEXT_226);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

-		stringBuffer.append(TEXT_227);

-		if (genModel.isCreationCommands()) {

-			stringBuffer.append(TEXT_228);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

-			stringBuffer.append(TEXT_229);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

-			stringBuffer.append(TEXT_230);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_231);

-			stringBuffer.append(genModel.getNonNLS());

-			if (genModel.isCreationSubmenus()) {

-				stringBuffer.append(TEXT_232);

-			}

-			stringBuffer.append(TEXT_233);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_234);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));

-			stringBuffer.append(TEXT_235);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_236);

-			stringBuffer.append(genModel.getNonNLS());

-			if (genModel.isCreationSubmenus()) {

-				stringBuffer.append(TEXT_237);

-			}

-			stringBuffer.append(TEXT_238);

-			stringBuffer.append(genModel.getNonNLS());

-		}

-		stringBuffer.append(TEXT_239);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_240);

-		}

-		stringBuffer.append(TEXT_241);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));

-		stringBuffer.append(TEXT_242);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));

-		stringBuffer.append(TEXT_243);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(genModel.getNonNLS(2));

-		stringBuffer.append(TEXT_244);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_245);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_246);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_247);

-		}

-		stringBuffer.append(TEXT_248);

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_249);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate

-				&& (genPackage.hasConcreteClasses() && genPackage.getGenModel().getRuntimePlatform() != GenRuntimePlatform.GWT);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ActionBarContributor extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized ActionBarContributor create(String lineSeparator) {
+		nl = lineSeparator;
+		ActionBarContributor result = new ActionBarContributor();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the action bar contributor for the ";
+	protected final String TEXT_5 = " model editor." + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public class ";
+	protected final String TEXT_6 = NL + "\textends ";
+	protected final String TEXT_7 = NL + "\timplements ";
+	protected final String TEXT_8 = NL + "{";
+	protected final String TEXT_9 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static final String copyright = ";
+	protected final String TEXT_10 = ";";
+	protected final String TEXT_11 = NL;
+	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * Action to create objects from the ";
+	protected final String TEXT_13 = " model." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static class NewAction extends ";
+	protected final String TEXT_14 = NL + "\t{" + NL + "\t\t/**" + NL
+			+ "\t\t * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic void run(";
+	protected final String TEXT_15 = " action)" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_16 = " wizard = new ";
+	protected final String TEXT_17 = "();" + NL + "\t\t\twizard.init(getWindow().getWorkbench(), ";
+	protected final String TEXT_18 = ".EMPTY);" + NL + "\t\t\t";
+	protected final String TEXT_19 = " wizardDialog = new ";
+	protected final String TEXT_20 = "(getWindow().getShell(), wizard);" + NL + "\t\t\twizardDialog.open();" + NL
+			+ "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_21 = NL + "\t/**" + NL + "\t * This keeps track of the active editor." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ";
+	protected final String TEXT_22 = " activeEditorPart;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This keeps track of the current selection provider." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_23 = " selectionProvider;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This action opens the Properties view." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_24 = " showPropertiesViewAction =" + NL + "\t\tnew ";
+	protected final String TEXT_25 = "(";
+	protected final String TEXT_26 = ".INSTANCE.getString(\"_UI_ShowPropertiesView_menu_item\"))";
+	protected final String TEXT_27 = NL + "\t\t{";
+	protected final String TEXT_28 = NL + "\t\t\t@Override";
+	protected final String TEXT_29 = NL + "\t\t\tpublic void run()" + NL + "\t\t\t{" + NL + "\t\t\t\ttry" + NL
+			+ "\t\t\t\t{" + NL + "\t\t\t\t\tgetPage().showView(\"org.eclipse.ui.views.PropertySheet\");";
+	protected final String TEXT_30 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";
+	protected final String TEXT_31 = " exception)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+	protected final String TEXT_32 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t};"
+			+ NL + "" + NL + "\t/**" + NL + "\t * This action refreshes the viewer of the current editor if the editor"
+			+ NL + "\t * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ";
+	protected final String TEXT_33 = " refreshViewerAction =" + NL + "\t\tnew ";
+	protected final String TEXT_34 = "(";
+	protected final String TEXT_35 = ".INSTANCE.getString(\"_UI_RefreshViewer_menu_item\"))";
+	protected final String TEXT_36 = NL + "\t\t{";
+	protected final String TEXT_37 = NL + "\t\t\t@Override";
+	protected final String TEXT_38 = NL + "\t\t\tpublic boolean isEnabled()" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\treturn activeEditorPart instanceof ";
+	protected final String TEXT_39 = ";" + NL + "\t\t\t}" + NL;
+	protected final String TEXT_40 = NL + "\t\t\t@Override";
+	protected final String TEXT_41 = NL + "\t\t\tpublic void run()" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tif (activeEditorPart instanceof ";
+	protected final String TEXT_42 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+	protected final String TEXT_43 = " viewer = ((";
+	protected final String TEXT_44 = ")activeEditorPart).getViewer();" + NL + "\t\t\t\t\tif (viewer != null)" + NL
+			+ "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tviewer.refresh();" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t}" + NL + "\t\t};" + NL;
+	protected final String TEXT_45 = NL + "\t/**" + NL
+			+ "\t * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor"
+			+ NL + "\t * generated for the current selection by the item provider." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ";
+	protected final String TEXT_46 = " createChildActions;" + NL;
+	protected final String TEXT_47 = NL + "\t/**" + NL
+			+ "\t * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateChildAction}s, keyed by sub-menu text."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected ";
+	protected final String TEXT_48 = " createChildSubmenuActions;" + NL;
+	protected final String TEXT_49 = NL + "\t/**" + NL
+			+ "\t * This is the menu manager into which menu contribution items should be added for CreateChild actions."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected ";
+	protected final String TEXT_50 = " createChildMenuManager;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor"
+			+ NL + "\t * generated for the current selection by the item provider." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ";
+	protected final String TEXT_51 = " createSiblingActions;" + NL;
+	protected final String TEXT_52 = NL + "\t/**" + NL
+			+ "\t * This will contain a map of {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction}s, keyed by submenu text."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected ";
+	protected final String TEXT_53 = " createSiblingSubmenuActions;" + NL;
+	protected final String TEXT_54 = NL + "\t/**" + NL
+			+ "\t * This is the menu manager into which menu contribution items should be added for CreateSibling actions."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected ";
+	protected final String TEXT_55 = " createSiblingMenuManager;" + NL;
+	protected final String TEXT_56 = NL + "\t/**" + NL + "\t * This creates an instance of the contributor." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic ";
+	protected final String TEXT_57 = "()" + NL + "\t{" + NL + "\t\tsuper(ADDITIONS_LAST_STYLE);" + NL
+			+ "\t\tloadResourceAction = new ";
+	protected final String TEXT_58 = "();" + NL + "\t\tvalidateAction = new ";
+	protected final String TEXT_59 = "();";
+	protected final String TEXT_60 = NL + "\t\tliveValidationAction = new ";
+	protected final String TEXT_61 = ".LiveValidator.LiveValidationAction(";
+	protected final String TEXT_62 = ".getPlugin().getDialogSettings());";
+	protected final String TEXT_63 = NL + "\t\tcontrolAction = new ";
+	protected final String TEXT_64 = "();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This adds Separators for editor additions to the tool bar." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_65 = NL + "\t@Override";
+	protected final String TEXT_66 = NL + "\tpublic void contributeToToolBar(";
+	protected final String TEXT_67 = " toolBarManager)" + NL + "\t{" + NL + "\t\ttoolBarManager.add(new ";
+	protected final String TEXT_68 = "(\"";
+	protected final String TEXT_69 = "-settings\"));";
+	protected final String TEXT_70 = NL + "\t\ttoolBarManager.add(new ";
+	protected final String TEXT_71 = "(\"";
+	protected final String TEXT_72 = "-additions\"));";
+	protected final String TEXT_73 = NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This adds to the menu bar a menu and some separators for editor additions," + NL
+			+ "\t * as well as the sub-menus for object creation items." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_74 = NL + "\t@Override";
+	protected final String TEXT_75 = NL + "\tpublic void contributeToMenu(";
+	protected final String TEXT_76 = " menuManager)" + NL + "\t{" + NL + "\t\tsuper.contributeToMenu(menuManager);" + NL
+			+ "" + NL + "\t\t";
+	protected final String TEXT_77 = " submenuManager = new ";
+	protected final String TEXT_78 = "(";
+	protected final String TEXT_79 = ".INSTANCE.getString(\"_UI_";
+	protected final String TEXT_80 = "_menu\"), \"";
+	protected final String TEXT_81 = "MenuID\");";
+	protected final String TEXT_82 = NL + "\t\tmenuManager.insertAfter(\"additions\", submenuManager);";
+	protected final String TEXT_83 = NL + "\t\tsubmenuManager.add(new ";
+	protected final String TEXT_84 = "(\"settings\"));";
+	protected final String TEXT_85 = NL + "\t\tsubmenuManager.add(new ";
+	protected final String TEXT_86 = "(\"actions\"));";
+	protected final String TEXT_87 = NL + "\t\tsubmenuManager.add(new ";
+	protected final String TEXT_88 = "(\"additions\"));";
+	protected final String TEXT_89 = NL + "\t\tsubmenuManager.add(new ";
+	protected final String TEXT_90 = "(\"additions-end\"));";
+	protected final String TEXT_91 = NL;
+	protected final String TEXT_92 = NL + "\t\t// Prepare for CreateChild item addition or removal." + NL + "\t\t//"
+			+ NL + "\t\tcreateChildMenuManager = new ";
+	protected final String TEXT_93 = "(";
+	protected final String TEXT_94 = ".INSTANCE.getString(\"_UI_CreateChild_menu_item\"));";
+	protected final String TEXT_95 = NL + "\t\tsubmenuManager.insertBefore(\"additions\", createChildMenuManager);";
+	protected final String TEXT_96 = NL + NL + "\t\t// Prepare for CreateSibling item addition or removal." + NL
+			+ "\t\t//" + NL + "\t\tcreateSiblingMenuManager = new ";
+	protected final String TEXT_97 = "(";
+	protected final String TEXT_98 = ".INSTANCE.getString(\"_UI_CreateSibling_menu_item\"));";
+	protected final String TEXT_99 = NL + "\t\tsubmenuManager.insertBefore(\"additions\", createSiblingMenuManager);";
+	protected final String TEXT_100 = NL + NL + "\t\t// Force an update because Eclipse hides empty menus now." + NL
+			+ "\t\t//" + NL + "\t\tsubmenuManager.addMenuListener" + NL + "\t\t\t(new ";
+	protected final String TEXT_101 = "()" + NL + "\t\t\t {" + NL + "\t\t\t\t public void menuAboutToShow(";
+	protected final String TEXT_102 = " menuManager)" + NL + "\t\t\t\t {" + NL
+			+ "\t\t\t\t\t menuManager.updateAll(true);" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;
+	protected final String TEXT_103 = NL + "\t\t// Add your contributions." + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL;
+	protected final String TEXT_104 = NL + "\t\taddGlobalActions(submenuManager);" + NL + "\t}" + NL + "" + NL + "\t/**"
+			+ NL
+			+ "\t * When the active editor changes, this remembers the change and registers with it as a selection provider."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_105 = NL + "\t@Override";
+	protected final String TEXT_106 = NL + "\tpublic void setActiveEditor(";
+	protected final String TEXT_107 = " part)" + NL + "\t{" + NL + "\t\tsuper.setActiveEditor(part);" + NL
+			+ "\t\tactiveEditorPart = part;" + NL + "" + NL + "\t\t// Switch to the new selection provider." + NL
+			+ "\t\t//" + NL + "\t\tif (selectionProvider != null)" + NL + "\t\t{" + NL
+			+ "\t\t\tselectionProvider.removeSelectionChangedListener(this);" + NL + "\t\t}" + NL
+			+ "\t\tif (part == null)" + NL + "\t\t{" + NL + "\t\t\tselectionProvider = null;" + NL + "\t\t}" + NL
+			+ "\t\telse" + NL + "\t\t{" + NL + "\t\t\tselectionProvider = part.getSite().getSelectionProvider();" + NL
+			+ "\t\t\tselectionProvider.addSelectionChangedListener(this);" + NL + "" + NL
+			+ "\t\t\t// Fake a selection changed event to update the menus." + NL + "\t\t\t//" + NL
+			+ "\t\t\tif (selectionProvider.getSelection() != null)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tselectionChanged(new ";
+	protected final String TEXT_108 = "(selectionProvider, selectionProvider.getSelection()));" + NL + "\t\t\t}" + NL
+			+ "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener}," + NL
+			+ "\t * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings"
+			+ NL + "\t * that can be added to the selected object and updating the menus accordingly." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void selectionChanged(";
+	protected final String TEXT_109 = " event)" + NL + "\t{";
+	protected final String TEXT_110 = NL + "\t\t// Remove any menu items for old selection." + NL + "\t\t//" + NL
+			+ "\t\tif (createChildMenuManager != null)" + NL + "\t\t{";
+	protected final String TEXT_111 = NL
+			+ "\t\t\tdepopulateManager(createChildMenuManager, createChildSubmenuActions);";
+	protected final String TEXT_112 = NL + "\t\t\tdepopulateManager(createChildMenuManager, createChildActions);" + NL
+			+ "\t\t}" + NL + "\t\tif (createSiblingMenuManager != null)" + NL + "\t\t{";
+	protected final String TEXT_113 = NL
+			+ "\t\t\tdepopulateManager(createSiblingMenuManager, createSiblingSubmenuActions);";
+	protected final String TEXT_114 = NL + "\t\t\tdepopulateManager(createSiblingMenuManager, createSiblingActions);"
+			+ NL + "\t\t}" + NL + "" + NL
+			+ "\t\t// Query the new selection for appropriate new child/sibling descriptors" + NL + "\t\t//" + NL
+			+ "\t\t";
+	protected final String TEXT_115 = " newChildDescriptors = null;" + NL + "\t\t";
+	protected final String TEXT_116 = " newSiblingDescriptors = null;" + NL + "" + NL + "\t\t";
+	protected final String TEXT_117 = " selection = event.getSelection();" + NL + "\t\tif (selection instanceof ";
+	protected final String TEXT_118 = " && ((IStructuredSelection)selection).size() == 1)" + NL + "\t\t{" + NL
+			+ "\t\t\tObject object = ((";
+	protected final String TEXT_119 = ")selection).getFirstElement();" + NL + "" + NL + "\t\t\t";
+	protected final String TEXT_120 = " domain = ((";
+	protected final String TEXT_121 = ")activeEditorPart).getEditingDomain();" + NL + "" + NL
+			+ "\t\t\tnewChildDescriptors = domain.getNewChildDescriptors(object, null);" + NL
+			+ "\t\t\tnewSiblingDescriptors = domain.getNewChildDescriptors(null, object);" + NL + "\t\t}" + NL + "" + NL
+			+ "\t\t// Generate actions for selection; populate and redraw the menus." + NL + "\t\t//" + NL
+			+ "\t\tcreateChildActions = generateCreateChildActions(newChildDescriptors, selection);";
+	protected final String TEXT_122 = NL + "\t\tcreateChildSubmenuActions = extractSubmenuActions(createChildActions);";
+	protected final String TEXT_123 = NL
+			+ "\t\tcreateSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);";
+	protected final String TEXT_124 = NL
+			+ "\t\tcreateSiblingSubmenuActions = extractSubmenuActions(createSiblingActions);";
+	protected final String TEXT_125 = NL + NL + "\t\tif (createChildMenuManager != null)" + NL + "\t\t{";
+	protected final String TEXT_126 = NL
+			+ "\t\t\tpopulateManager(createChildMenuManager, createChildSubmenuActions, null);";
+	protected final String TEXT_127 = NL + "\t\t\tpopulateManager(createChildMenuManager, createChildActions, null);"
+			+ NL + "\t\t\tcreateChildMenuManager.update(true);" + NL + "\t\t}" + NL
+			+ "\t\tif (createSiblingMenuManager != null)" + NL + "\t\t{";
+	protected final String TEXT_128 = NL
+			+ "\t\t\tpopulateManager(createSiblingMenuManager, createSiblingSubmenuActions, null);";
+	protected final String TEXT_129 = NL
+			+ "\t\t\tpopulateManager(createSiblingMenuManager, createSiblingActions, null);" + NL
+			+ "\t\t\tcreateSiblingMenuManager.update(true);" + NL + "\t\t}";
+	protected final String TEXT_130 = NL + "\t\t// Add your contributions." + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT";
+	protected final String TEXT_131 = NL + "\t}" + NL;
+	protected final String TEXT_132 = NL + "\t/**" + NL
+			+ "\t * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,"
+			+ NL + "\t * and returns the collection of these actions." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_133 = " generateCreateChildActions(";
+	protected final String TEXT_134 = " descriptors, ";
+	protected final String TEXT_135 = " selection)" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_136 = " actions = new ";
+	protected final String TEXT_137 = "();" + NL + "\t\tif (descriptors != null)" + NL + "\t\t{";
+	protected final String TEXT_138 = NL + "\t\t\tfor (";
+	protected final String TEXT_139 = " descriptor : descriptors)";
+	protected final String TEXT_140 = NL + "\t\t\tfor (";
+	protected final String TEXT_141 = " i = descriptors.iterator(); i.hasNext(); )";
+	protected final String TEXT_142 = NL + "\t\t\t{" + NL + "\t\t\t\tactions.add(new ";
+	protected final String TEXT_143 = "(activeEditorPart, selection, ";
+	protected final String TEXT_144 = "descriptor";
+	protected final String TEXT_145 = "i.next()";
+	protected final String TEXT_146 = "));" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn actions;" + NL + "\t}"
+			+ NL + "" + NL + "\t/**" + NL
+			+ "\t * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,"
+			+ NL + "\t * and returns the collection of these actions." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_147 = " generateCreateSiblingActions(";
+	protected final String TEXT_148 = " descriptors, ";
+	protected final String TEXT_149 = " selection)" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_150 = " actions = new ";
+	protected final String TEXT_151 = "();" + NL + "\t\tif (descriptors != null)" + NL + "\t\t{";
+	protected final String TEXT_152 = NL + "\t\t\tfor (";
+	protected final String TEXT_153 = " descriptor : descriptors)";
+	protected final String TEXT_154 = NL + "\t\t\tfor (";
+	protected final String TEXT_155 = " i = descriptors.iterator(); i.hasNext(); )";
+	protected final String TEXT_156 = NL + "\t\t\t{" + NL + "\t\t\t\tactions.add(new ";
+	protected final String TEXT_157 = "(activeEditorPart, selection, ";
+	protected final String TEXT_158 = "descriptor";
+	protected final String TEXT_159 = "i.next()";
+	protected final String TEXT_160 = "));" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn actions;" + NL + "\t}"
+			+ NL + "" + NL + "\t/**" + NL
+			+ "\t * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s"
+			+ NL
+			+ "\t * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,"
+			+ NL + "\t * by inserting them before the specified contribution item <code>contributionID</code>." + NL
+			+ "\t * If <code>contributionID</code> is <code>null</code>, they are simply added." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected void populateManager(";
+	protected final String TEXT_161 = " manager, ";
+	protected final String TEXT_162 = " actions, String contributionID)" + NL + "\t{" + NL + "\t\tif (actions != null)"
+			+ NL + "\t\t{";
+	protected final String TEXT_163 = NL + "\t\t\tfor (";
+	protected final String TEXT_164 = " action : actions)";
+	protected final String TEXT_165 = NL + "\t\t\tfor (";
+	protected final String TEXT_166 = " i = actions.iterator(); i.hasNext(); )";
+	protected final String TEXT_167 = NL + "\t\t\t{";
+	protected final String TEXT_168 = NL + "\t\t\t\t";
+	protected final String TEXT_169 = " action = (IAction)i.next();";
+	protected final String TEXT_170 = NL + "\t\t\t\tif (contributionID != null)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tmanager.insertBefore(contributionID, action);" + NL + "\t\t\t\t}" + NL + "\t\t\t\telse" + NL
+			+ "\t\t\t\t{" + NL + "\t\t\t\t\tmanager.add(action);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}"
+			+ NL + "\t}" + NL + "\t\t" + NL + "\t/**" + NL
+			+ "\t * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s"
+			+ NL
+			+ "\t * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected void depopulateManager(";
+	protected final String TEXT_171 = " manager, ";
+	protected final String TEXT_172 = " actions)" + NL + "\t{" + NL + "\t\tif (actions != null)" + NL + "\t\t{" + NL
+			+ "\t\t\t";
+	protected final String TEXT_173 = "[] items = manager.getItems();" + NL
+			+ "\t\t\tfor (int i = 0; i < items.length; i++)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t// Look into SubContributionItems" + NL + "\t\t\t\t//" + NL + "\t\t\t\t";
+	protected final String TEXT_174 = " contributionItem = items[i];" + NL
+			+ "\t\t\t\twhile (contributionItem instanceof ";
+	protected final String TEXT_175 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tcontributionItem = ((";
+	protected final String TEXT_176 = ")contributionItem).getInnerItem();" + NL + "\t\t\t\t}" + NL + "" + NL
+			+ "\t\t\t\t// Delete the ActionContributionItems with matching action." + NL + "\t\t\t\t//" + NL
+			+ "\t\t\t\tif (contributionItem instanceof ";
+	protected final String TEXT_177 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+	protected final String TEXT_178 = " action = ((";
+	protected final String TEXT_179 = ")contributionItem).getAction();" + NL + "\t\t\t\t\tif (actions.contains(action))"
+			+ NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tmanager.remove(contributionItem);" + NL + "\t\t\t\t\t}" + NL
+			+ "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_180 = NL + "\t/**" + NL
+			+ "\t * This extracts those actions in the <code>submenuActions</code> collection whose text is qualified and returns"
+			+ NL + "\t * a map of these actions, keyed by submenu text." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_181 = " extractSubmenuActions(";
+	protected final String TEXT_182 = " createActions)" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_183 = " createSubmenuActions = new ";
+	protected final String TEXT_184 = "();" + NL + "\t\tif (createActions != null)" + NL + "\t\t{" + NL + "\t\t\tfor (";
+	protected final String TEXT_185 = " actions = createActions.iterator(); actions.hasNext(); )" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t";
+	protected final String TEXT_186 = " action = ";
+	protected final String TEXT_187 = "(";
+	protected final String TEXT_188 = ")";
+	protected final String TEXT_189 = "actions.next();" + NL + "\t\t\t\t";
+	protected final String TEXT_190 = " st = new ";
+	protected final String TEXT_191 = "(action.getText(), \"|\");";
+	protected final String TEXT_192 = NL + "\t\t\t\tif (st.countTokens() == 2)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tString text = st.nextToken().trim();" + NL + "\t\t\t\t\t";
+	protected final String TEXT_193 = " submenuActions = ";
+	protected final String TEXT_194 = "(";
+	protected final String TEXT_195 = ")";
+	protected final String TEXT_196 = "createSubmenuActions.get(text);" + NL + "\t\t\t\t\tif (submenuActions == null)"
+			+ NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tcreateSubmenuActions.put(text, submenuActions = new ";
+	protected final String TEXT_197 = "());" + NL + "\t\t\t\t\t}" + NL
+			+ "\t\t\t\t\taction.setText(st.nextToken().trim());" + NL + "\t\t\t\t\tsubmenuActions.add(action);" + NL
+			+ "\t\t\t\t\tactions.remove();" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL
+			+ "\t\treturn createSubmenuActions;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.MenuManager}s containing"
+			+ NL
+			+ "\t * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s"
+			+ NL
+			+ "\t * contained in the <code>submenuActions</code> collection, by inserting them before the specified contribution"
+			+ NL + "\t * item <code>contributionID</code>." + NL
+			+ "\t * If <code>contributionID</code> is <code>null</code>, they are simply added." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected void populateManager(";
+	protected final String TEXT_198 = " manager, ";
+	protected final String TEXT_199 = " submenuActions, String contributionID)" + NL + "\t{" + NL
+			+ "\t\tif (submenuActions != null)" + NL + "\t\t{";
+	protected final String TEXT_200 = NL + "\t\t\tfor (";
+	protected final String TEXT_201 = " entry : submenuActions.entrySet())" + NL + "\t\t\t{";
+	protected final String TEXT_202 = NL + "\t\t\tfor (";
+	protected final String TEXT_203 = " entries = submenuActions.entrySet().iterator(); entries.hasNext();)" + NL
+			+ "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_204 = " entry = (";
+	protected final String TEXT_205 = ")entries.next();";
+	protected final String TEXT_206 = NL + "\t\t\t\t";
+	protected final String TEXT_207 = " submenuManager = new ";
+	protected final String TEXT_208 = "(";
+	protected final String TEXT_209 = "(String)";
+	protected final String TEXT_210 = "entry.getKey());" + NL + "\t\t\t\tif (contributionID != null)" + NL + "\t\t\t\t{"
+			+ NL + "\t\t\t\t\tmanager.insertBefore(contributionID, submenuManager);" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tmanager.add(submenuManager);" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t\tpopulateManager(submenuManager, ";
+	protected final String TEXT_211 = "(";
+	protected final String TEXT_212 = ")";
+	protected final String TEXT_213 = "entry.getValue(), null);" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + ""
+			+ NL + "\t/**" + NL
+			+ "\t * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.MenuManager}s and their"
+			+ NL
+			+ "\t * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s"
+			+ NL + "\t * contained in the <code>submenuActions</code> map." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected void depopulateManager(";
+	protected final String TEXT_214 = " manager, ";
+	protected final String TEXT_215 = " submenuActions)" + NL + "\t{" + NL + "\t\tif (submenuActions != null)" + NL
+			+ "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_216 = "[] items = manager.getItems();" + NL
+			+ "\t\t\tfor (int i = 0; i < items.length; i++)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_217 = " contributionItem = items[i];" + NL + "\t\t\t\tif (contributionItem instanceof ";
+	protected final String TEXT_218 = ")" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+	protected final String TEXT_219 = " submenuManager = (";
+	protected final String TEXT_220 = ")contributionItem;" + NL
+			+ "\t\t\t\t\tif (submenuActions.containsKey(submenuManager.getMenuText()))" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tdepopulateManager(submenuManager, ";
+	protected final String TEXT_221 = "(";
+	protected final String TEXT_222 = ")";
+	protected final String TEXT_223 = "submenuActions.get(contributionItem));" + NL
+			+ "\t\t\t\t\t\tmanager.remove(contributionItem);" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}"
+			+ NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_224 = NL + "\t/**" + NL + "\t * This populates the pop-up menu before it appears." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_225 = NL + "\t@Override";
+	protected final String TEXT_226 = NL + "\tpublic void menuAboutToShow(";
+	protected final String TEXT_227 = " menuManager)" + NL + "\t{" + NL + "\t\tsuper.menuAboutToShow(menuManager);";
+	protected final String TEXT_228 = NL + "\t\t";
+	protected final String TEXT_229 = " submenuManager = null;" + NL + "" + NL + "\t\tsubmenuManager = new ";
+	protected final String TEXT_230 = "(";
+	protected final String TEXT_231 = ".INSTANCE.getString(\"_UI_CreateChild_menu_item\"));";
+	protected final String TEXT_232 = NL + "\t\tpopulateManager(submenuManager, createChildSubmenuActions, null);";
+	protected final String TEXT_233 = NL + "\t\tpopulateManager(submenuManager, createChildActions, null);" + NL
+			+ "\t\tmenuManager.insertBefore(\"edit\", submenuManager);";
+	protected final String TEXT_234 = NL + NL + "\t\tsubmenuManager = new ";
+	protected final String TEXT_235 = "(";
+	protected final String TEXT_236 = ".INSTANCE.getString(\"_UI_CreateSibling_menu_item\"));";
+	protected final String TEXT_237 = NL + "\t\tpopulateManager(submenuManager, createSiblingSubmenuActions, null);";
+	protected final String TEXT_238 = NL + "\t\tpopulateManager(submenuManager, createSiblingActions, null);" + NL
+			+ "\t\tmenuManager.insertBefore(\"edit\", submenuManager);";
+	protected final String TEXT_239 = NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This inserts global actions before the \"additions-end\" separator." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_240 = NL + "\t@Override";
+	protected final String TEXT_241 = NL + "\tprotected void addGlobalActions(";
+	protected final String TEXT_242 = " menuManager)" + NL + "\t{" + NL
+			+ "\t\tmenuManager.insertAfter(\"additions-end\", new ";
+	protected final String TEXT_243 = "(\"ui-actions\"));";
+	protected final String TEXT_244 = NL + "\t\tmenuManager.insertAfter(\"ui-actions\", showPropertiesViewAction);";
+	protected final String TEXT_245 = NL + NL
+			+ "\t\trefreshViewerAction.setEnabled(refreshViewerAction.isEnabled());\t\t" + NL
+			+ "\t\tmenuManager.insertAfter(\"ui-actions\", refreshViewerAction);";
+	protected final String TEXT_246 = NL + NL + "\t\tsuper.addGlobalActions(menuManager);" + NL + "\t}" + NL + "" + NL
+			+ "\t/**" + NL + "\t * This ensures that a delete action will clean up all references to deleted objects."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_247 = NL + "\t@Override";
+	protected final String TEXT_248 = NL + "\tprotected boolean removeAllReferencesOnDelete()" + NL + "\t{" + NL
+			+ "\t\treturn true;" + NL + "\t}" + NL + "" + NL + "}";
+	protected final String TEXT_249 = NL;
+	protected final String TEXT_250 = NL;
+	protected final String TEXT_251 = NL;
+
+	public ActionBarContributor() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_250);
+		stringBuffer.append(TEXT_251);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getEditorDirectory();
+		packageName = genPackage.getPresentationPackageName();
+		className = genPackage.getActionBarContributorClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2007 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) argument;
+		GenModel genModel = genPackage.getGenModel();
+
+		String _CollectionOfAnything = null;
+		String _CollectionOfIAction = null;
+		String _ArrayListOfIAction = null;
+		String _CollectionOfExtendsIAction = null;
+		String _IteratorOfIAction = null;
+		String _MapOfStringToCollectionOfIAction = null;
+		String _MapEntryOfStringToCollectionOfIAction = null;
+		String _LinkedHashMapOfStringToCollectionOfIAction = null;
+		if (genModel.isCreationCommands()) {
+			_CollectionOfAnything = genModel.getImportedName("Collection" + (genModel.useGenerics() ? "<?>" : ""));
+			_CollectionOfIAction = genModel.getImportedName(genModel.useGenerics()
+					? "java.util.Collection<org.eclipse.jface.action.IAction>" : "java.util.Collection");
+			_ArrayListOfIAction = genModel.getImportedName(genModel.useGenerics()
+					? "java.util.ArrayList<org.eclipse.jface.action.IAction>" : "java.util.ArrayList");
+			_CollectionOfExtendsIAction = genModel.getImportedName(genModel.useGenerics()
+					? "java.util.Collection<? extends org.eclipse.jface.action.IAction>" : "java.util.Collection");
+			if (genModel.isCreationSubmenus()) {
+				_IteratorOfIAction = genModel.getImportedName(genModel.useGenerics()
+						? "java.util.Iterator<org.eclipse.jface.action.IAction>" : "java.util.Iterator");
+				_MapOfStringToCollectionOfIAction = genModel.getImportedName("java.util.Map")
+						+ (genModel.useGenerics() ? ("<String, " + _CollectionOfIAction + ">") : "");
+				_MapEntryOfStringToCollectionOfIAction = genModel.getImportedName("java.util.Map") + ".Entry"
+						+ (genModel.useGenerics() ? ("<String, " + _CollectionOfIAction + ">") : "");
+				_LinkedHashMapOfStringToCollectionOfIAction = genModel.getImportedName("java.util.LinkedHashMap")
+						+ (genModel.useGenerics() ? ("<String, " + _CollectionOfIAction + ">") : "");
+			}
+		}
+
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getPresentationPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genPackage.getPrefix());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genPackage.getActionBarContributorClassName());
+		stringBuffer.append(TEXT_6);
+		stringBuffer
+				.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor"));
+		stringBuffer.append(TEXT_7);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelectionChangedListener"));
+		stringBuffer.append(TEXT_8);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_11);
+		}
+		if (genModel.isRichClientPlatform() && genPackage.isGenerateModelWizard()) {
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genPackage.getPrefix());
+			stringBuffer.append(TEXT_13);
+			stringBuffer
+					.append(genModel.getImportedName("org.eclipse.emf.common.ui.action.WorkbenchWindowActionDelegate"));
+			stringBuffer.append(TEXT_14);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genPackage.getModelWizardClassName());
+			stringBuffer.append(TEXT_16);
+			stringBuffer.append(genPackage.getModelWizardClassName());
+			stringBuffer.append(TEXT_17);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection"));
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.wizard.WizardDialog"));
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.wizard.WizardDialog"));
+			stringBuffer.append(TEXT_20);
+		}
+		stringBuffer.append(TEXT_21);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IEditorPart"));
+		stringBuffer.append(TEXT_22);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelectionProvider"));
+		stringBuffer.append(TEXT_23);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+		stringBuffer.append(TEXT_24);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Action"));
+		stringBuffer.append(TEXT_25);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_26);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_27);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_28);
+		}
+		stringBuffer.append(TEXT_29);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_30);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.ui.PartInitException"));
+		stringBuffer.append(TEXT_31);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_32);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+		stringBuffer.append(TEXT_33);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Action"));
+		stringBuffer.append(TEXT_34);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_35);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_36);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_37);
+		}
+		stringBuffer.append(TEXT_38);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider"));
+		stringBuffer.append(TEXT_39);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_40);
+		}
+		stringBuffer.append(TEXT_41);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider"));
+		stringBuffer.append(TEXT_42);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.Viewer"));
+		stringBuffer.append(TEXT_43);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.viewer.IViewerProvider"));
+		stringBuffer.append(TEXT_44);
+		if (genModel.isCreationCommands()) {
+			stringBuffer.append(TEXT_45);
+			stringBuffer.append(_CollectionOfIAction);
+			stringBuffer.append(TEXT_46);
+			if (genModel.isCreationSubmenus()) {
+				stringBuffer.append(TEXT_47);
+				stringBuffer.append(_MapOfStringToCollectionOfIAction);
+				stringBuffer.append(TEXT_48);
+			}
+			stringBuffer.append(TEXT_49);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+			stringBuffer.append(TEXT_50);
+			stringBuffer.append(_CollectionOfIAction);
+			stringBuffer.append(TEXT_51);
+			if (genModel.isCreationSubmenus()) {
+				stringBuffer.append(TEXT_52);
+				stringBuffer.append(_MapOfStringToCollectionOfIAction);
+				stringBuffer.append(TEXT_53);
+			}
+			stringBuffer.append(TEXT_54);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+			stringBuffer.append(TEXT_55);
+		}
+		stringBuffer.append(TEXT_56);
+		stringBuffer.append(genPackage.getActionBarContributorClassName());
+		stringBuffer.append(TEXT_57);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.LoadResourceAction"));
+		stringBuffer.append(TEXT_58);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.ValidateAction"));
+		stringBuffer.append(TEXT_59);
+		if (genModel.getDecoration() == GenDecoration.LIVE) {
+			stringBuffer.append(TEXT_60);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DiagnosticDecorator"));
+			stringBuffer.append(TEXT_61);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_62);
+		}
+		stringBuffer.append(TEXT_63);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.ControlAction"));
+		stringBuffer.append(TEXT_64);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_65);
+		}
+		stringBuffer.append(TEXT_66);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IToolBarManager"));
+		stringBuffer.append(TEXT_67);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+		stringBuffer.append(TEXT_68);
+		stringBuffer.append(genPackage.getPrefix().toLowerCase(genModel.getLocale()));
+		stringBuffer.append(TEXT_69);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_70);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+		stringBuffer.append(TEXT_71);
+		stringBuffer.append(genPackage.getPrefix().toLowerCase(genModel.getLocale()));
+		stringBuffer.append(TEXT_72);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_73);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_74);
+		}
+		stringBuffer.append(TEXT_75);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+		stringBuffer.append(TEXT_76);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+		stringBuffer.append(TEXT_77);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+		stringBuffer.append(TEXT_78);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_79);
+		stringBuffer.append(genPackage.getEditorClassName());
+		stringBuffer.append(TEXT_80);
+		stringBuffer.append(genPackage.getInterfacePackageName());
+		stringBuffer.append(TEXT_81);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(genModel.getNonNLS(2));
+		stringBuffer.append(TEXT_82);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_83);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+		stringBuffer.append(TEXT_84);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_85);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+		stringBuffer.append(TEXT_86);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_87);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+		stringBuffer.append(TEXT_88);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_89);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+		stringBuffer.append(TEXT_90);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_91);
+		if (genModel.isCreationCommands()) {
+			stringBuffer.append(TEXT_92);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+			stringBuffer.append(TEXT_93);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_94);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_95);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_96);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+			stringBuffer.append(TEXT_97);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_98);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_99);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_100);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuListener"));
+			stringBuffer.append(TEXT_101);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+			stringBuffer.append(TEXT_102);
+		} else {
+			stringBuffer.append(TEXT_103);
+		}
+		stringBuffer.append(TEXT_104);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_105);
+		}
+		stringBuffer.append(TEXT_106);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IEditorPart"));
+		stringBuffer.append(TEXT_107);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.SelectionChangedEvent"));
+		stringBuffer.append(TEXT_108);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.SelectionChangedEvent"));
+		stringBuffer.append(TEXT_109);
+		if (genModel.isCreationCommands()) {
+			stringBuffer.append(TEXT_110);
+			if (genModel.isCreationSubmenus()) {
+				stringBuffer.append(TEXT_111);
+			}
+			stringBuffer.append(TEXT_112);
+			if (genModel.isCreationSubmenus()) {
+				stringBuffer.append(TEXT_113);
+			}
+			stringBuffer.append(TEXT_114);
+			stringBuffer.append(_CollectionOfAnything);
+			stringBuffer.append(TEXT_115);
+			stringBuffer.append(_CollectionOfAnything);
+			stringBuffer.append(TEXT_116);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));
+			stringBuffer.append(TEXT_117);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.IStructuredSelection"));
+			stringBuffer.append(TEXT_118);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.IStructuredSelection"));
+			stringBuffer.append(TEXT_119);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.EditingDomain"));
+			stringBuffer.append(TEXT_120);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.domain.IEditingDomainProvider"));
+			stringBuffer.append(TEXT_121);
+			if (genModel.isCreationSubmenus()) {
+				stringBuffer.append(TEXT_122);
+			}
+			stringBuffer.append(TEXT_123);
+			if (genModel.isCreationSubmenus()) {
+				stringBuffer.append(TEXT_124);
+			}
+			stringBuffer.append(TEXT_125);
+			if (genModel.isCreationSubmenus()) {
+				stringBuffer.append(TEXT_126);
+			}
+			stringBuffer.append(TEXT_127);
+			if (genModel.isCreationSubmenus()) {
+				stringBuffer.append(TEXT_128);
+			}
+			stringBuffer.append(TEXT_129);
+		} else {
+			stringBuffer.append(TEXT_130);
+		}
+		stringBuffer.append(TEXT_131);
+		if (genModel.isCreationCommands()) {
+			stringBuffer.append(TEXT_132);
+			stringBuffer.append(_CollectionOfIAction);
+			stringBuffer.append(TEXT_133);
+			stringBuffer.append(_CollectionOfAnything);
+			stringBuffer.append(TEXT_134);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));
+			stringBuffer.append(TEXT_135);
+			stringBuffer.append(_CollectionOfIAction);
+			stringBuffer.append(TEXT_136);
+			stringBuffer.append(_ArrayListOfIAction);
+			stringBuffer.append(TEXT_137);
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_138);
+				stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+				stringBuffer.append(TEXT_139);
+			} else {
+				stringBuffer.append(TEXT_140);
+				stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+				stringBuffer.append(TEXT_141);
+			}
+			stringBuffer.append(TEXT_142);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.CreateChildAction"));
+			stringBuffer.append(TEXT_143);
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_144);
+			} else {
+				stringBuffer.append(TEXT_145);
+			}
+			stringBuffer.append(TEXT_146);
+			stringBuffer.append(_CollectionOfIAction);
+			stringBuffer.append(TEXT_147);
+			stringBuffer.append(_CollectionOfAnything);
+			stringBuffer.append(TEXT_148);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));
+			stringBuffer.append(TEXT_149);
+			stringBuffer.append(_CollectionOfIAction);
+			stringBuffer.append(TEXT_150);
+			stringBuffer.append(_ArrayListOfIAction);
+			stringBuffer.append(TEXT_151);
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_152);
+				stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+				stringBuffer.append(TEXT_153);
+			} else {
+				stringBuffer.append(TEXT_154);
+				stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+				stringBuffer.append(TEXT_155);
+			}
+			stringBuffer.append(TEXT_156);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.ui.action.CreateSiblingAction"));
+			stringBuffer.append(TEXT_157);
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_158);
+			} else {
+				stringBuffer.append(TEXT_159);
+			}
+			stringBuffer.append(TEXT_160);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));
+			stringBuffer.append(TEXT_161);
+			stringBuffer.append(_CollectionOfExtendsIAction);
+			stringBuffer.append(TEXT_162);
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_163);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+				stringBuffer.append(TEXT_164);
+			} else {
+				stringBuffer.append(TEXT_165);
+				stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+				stringBuffer.append(TEXT_166);
+			}
+			stringBuffer.append(TEXT_167);
+			if (!genModel.useGenerics()) {
+				stringBuffer.append(TEXT_168);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+				stringBuffer.append(TEXT_169);
+			}
+			stringBuffer.append(TEXT_170);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));
+			stringBuffer.append(TEXT_171);
+			stringBuffer.append(_CollectionOfExtendsIAction);
+			stringBuffer.append(TEXT_172);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));
+			stringBuffer.append(TEXT_173);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));
+			stringBuffer.append(TEXT_174);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.SubContributionItem"));
+			stringBuffer.append(TEXT_175);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.SubContributionItem"));
+			stringBuffer.append(TEXT_176);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.ActionContributionItem"));
+			stringBuffer.append(TEXT_177);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+			stringBuffer.append(TEXT_178);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.ActionContributionItem"));
+			stringBuffer.append(TEXT_179);
+			if (genModel.isCreationSubmenus()) {
+				stringBuffer.append(TEXT_180);
+				stringBuffer.append(_MapOfStringToCollectionOfIAction);
+				stringBuffer.append(TEXT_181);
+				stringBuffer.append(_CollectionOfIAction);
+				stringBuffer.append(TEXT_182);
+				stringBuffer.append(_MapOfStringToCollectionOfIAction);
+				stringBuffer.append(TEXT_183);
+				stringBuffer.append(_LinkedHashMapOfStringToCollectionOfIAction);
+				stringBuffer.append(TEXT_184);
+				stringBuffer.append(_IteratorOfIAction);
+				stringBuffer.append(TEXT_185);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+				stringBuffer.append(TEXT_186);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_187);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IAction"));
+					stringBuffer.append(TEXT_188);
+				}
+				stringBuffer.append(TEXT_189);
+				stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+				stringBuffer.append(TEXT_190);
+				stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+				stringBuffer.append(TEXT_191);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(TEXT_192);
+				stringBuffer.append(_CollectionOfIAction);
+				stringBuffer.append(TEXT_193);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_194);
+					stringBuffer.append(_CollectionOfIAction);
+					stringBuffer.append(TEXT_195);
+				}
+				stringBuffer.append(TEXT_196);
+				stringBuffer.append(_ArrayListOfIAction);
+				stringBuffer.append(TEXT_197);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));
+				stringBuffer.append(TEXT_198);
+				stringBuffer.append(_MapOfStringToCollectionOfIAction);
+				stringBuffer.append(TEXT_199);
+				if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
+					stringBuffer.append(TEXT_200);
+					stringBuffer.append(_MapEntryOfStringToCollectionOfIAction);
+					stringBuffer.append(TEXT_201);
+				} else {
+					stringBuffer.append(TEXT_202);
+					stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+					stringBuffer.append(TEXT_203);
+					stringBuffer.append(_MapEntryOfStringToCollectionOfIAction);
+					stringBuffer.append(TEXT_204);
+					stringBuffer.append(_MapEntryOfStringToCollectionOfIAction);
+					stringBuffer.append(TEXT_205);
+				}
+				stringBuffer.append(TEXT_206);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+				stringBuffer.append(TEXT_207);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+				stringBuffer.append(TEXT_208);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_209);
+				}
+				stringBuffer.append(TEXT_210);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_211);
+					stringBuffer.append(_CollectionOfIAction);
+					stringBuffer.append(TEXT_212);
+				}
+				stringBuffer.append(TEXT_213);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionManager"));
+				stringBuffer.append(TEXT_214);
+				stringBuffer.append(_MapOfStringToCollectionOfIAction);
+				stringBuffer.append(TEXT_215);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));
+				stringBuffer.append(TEXT_216);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IContributionItem"));
+				stringBuffer.append(TEXT_217);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+				stringBuffer.append(TEXT_218);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+				stringBuffer.append(TEXT_219);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+				stringBuffer.append(TEXT_220);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_221);
+					stringBuffer.append(_CollectionOfIAction);
+					stringBuffer.append(TEXT_222);
+				}
+				stringBuffer.append(TEXT_223);
+			}
+		}
+		stringBuffer.append(TEXT_224);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_225);
+		}
+		stringBuffer.append(TEXT_226);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+		stringBuffer.append(TEXT_227);
+		if (genModel.isCreationCommands()) {
+			stringBuffer.append(TEXT_228);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+			stringBuffer.append(TEXT_229);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+			stringBuffer.append(TEXT_230);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_231);
+			stringBuffer.append(genModel.getNonNLS());
+			if (genModel.isCreationSubmenus()) {
+				stringBuffer.append(TEXT_232);
+			}
+			stringBuffer.append(TEXT_233);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_234);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.MenuManager"));
+			stringBuffer.append(TEXT_235);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_236);
+			stringBuffer.append(genModel.getNonNLS());
+			if (genModel.isCreationSubmenus()) {
+				stringBuffer.append(TEXT_237);
+			}
+			stringBuffer.append(TEXT_238);
+			stringBuffer.append(genModel.getNonNLS());
+		}
+		stringBuffer.append(TEXT_239);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_240);
+		}
+		stringBuffer.append(TEXT_241);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.IMenuManager"));
+		stringBuffer.append(TEXT_242);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.jface.action.Separator"));
+		stringBuffer.append(TEXT_243);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(genModel.getNonNLS(2));
+		stringBuffer.append(TEXT_244);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_245);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_246);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_247);
+		}
+		stringBuffer.append(TEXT_248);
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_249);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && (genPackage.hasConcreteClasses()
+				&& genPackage.getGenModel().getRuntimePlatform() != GenRuntimePlatform.GWT);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Advisor.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Advisor.java
index f4de089..4e002bb 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Advisor.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Advisor.java
@@ -1,949 +1,684 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Advisor extends org.eclipse.egf.emf.pattern.base.GenModelJava {

-	protected static String nl;

-

-	public static synchronized Advisor create(String lineSeparator) {

-		nl = lineSeparator;

-		Advisor result = new Advisor();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + "import java.io.File;" + NL + "import java.util.Arrays;";

-	protected final String TEXT_5 = NL + "import java.util.Iterator;";

-	protected final String TEXT_6 = NL + "import java.util.List;";

-	protected final String TEXT_7 = NL + NL + "import org.eclipse.equinox.app.IApplication;" + NL

-			+ "import org.eclipse.equinox.app.IApplicationContext;" + NL + "" + NL

-			+ "import org.eclipse.jface.action.GroupMarker;" + NL + "import org.eclipse.jface.action.IAction;" + NL

-			+ "import org.eclipse.jface.action.IMenuManager;" + NL + "import org.eclipse.jface.action.MenuManager;"

-			+ NL + "import org.eclipse.jface.action.Separator;" + NL

-			+ "import org.eclipse.jface.dialogs.MessageDialog;" + NL + "import org.eclipse.jface.window.Window;";

-	protected final String TEXT_8 = NL + "import org.eclipse.swt.SWT;";

-	protected final String TEXT_9 = NL + "import org.eclipse.swt.graphics.Point;" + NL

-			+ "import org.eclipse.swt.widgets.Display;";

-	protected final String TEXT_10 = NL + "import org.eclipse.swt.widgets.FileDialog;" + NL

-			+ "import org.eclipse.swt.widgets.Shell;";

-	protected final String TEXT_11 = NL + "import org.eclipse.ui.IEditorDescriptor;" + NL

-			+ "import org.eclipse.ui.IFolderLayout;" + NL + "import org.eclipse.ui.IPageLayout;" + NL

-			+ "import org.eclipse.ui.IPerspectiveFactory;" + NL + "import org.eclipse.ui.IWorkbench;" + NL

-			+ "import org.eclipse.ui.IWorkbenchActionConstants;" + NL + "import org.eclipse.ui.IWorkbenchPage;" + NL

-			+ "import org.eclipse.ui.IWorkbenchWindow;" + NL + "import org.eclipse.ui.PartInitException;" + NL

-			+ "import org.eclipse.ui.PlatformUI;" + NL + "import org.eclipse.ui.actions.ActionFactory;";

-	protected final String TEXT_12 = NL + "import org.eclipse.ui.actions.ContributionItemFactory;";

-	protected final String TEXT_13 = NL + "import org.eclipse.ui.application.ActionBarAdvisor;" + NL

-			+ "import org.eclipse.ui.application.IActionBarConfigurer;" + NL

-			+ "import org.eclipse.ui.application.IWorkbenchConfigurer;" + NL

-			+ "import org.eclipse.ui.application.IWorkbenchWindowConfigurer;" + NL

-			+ "import org.eclipse.ui.application.WorkbenchAdvisor;" + NL

-			+ "import org.eclipse.ui.application.WorkbenchWindowAdvisor;" + NL + "" + NL

-			+ "import org.eclipse.emf.common.ui.URIEditorInput;" + NL

-			+ "import org.eclipse.emf.common.ui.action.WorkbenchWindowActionDelegate;" + NL

-			+ "import org.eclipse.emf.common.util.URI;";

-	protected final String TEXT_14 = NL + "import org.eclipse.emf.common.util.UniqueEList;";

-	protected final String TEXT_15 = NL + "import org.eclipse.emf.edit.ui.action.LoadResourceAction;" + NL

-			+ "import org.eclipse.emf.edit.ui.util.EditUIUtil;" + NL + "" + NL + "import ";

-	protected final String TEXT_16 = ";";

-	protected final String TEXT_17 = NL + NL + NL + "/**" + NL

-			+ " * Customized {@link WorkbenchAdvisor} for the RCP application." + NL + " * <!-- begin-user-doc -->"

-			+ NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public final class ";

-	protected final String TEXT_18 = " extends WorkbenchAdvisor" + NL + "{";

-	protected final String TEXT_19 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static final String copyright = ";

-	protected final String TEXT_20 = ";";

-	protected final String TEXT_21 = NL;

-	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The default file extension filters for use in dialogs."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_23 = NL + "\tprivate static final String[] FILE_EXTENSION_FILTERS = ";

-	protected final String TEXT_24 = "(String[])";

-	protected final String TEXT_25 = ".FILE_EXTENSION_FILTERS.toArray(new String[0]);";

-	protected final String TEXT_26 = NL

-			+ "\tprivate static final String[] FILE_EXTENSION_FILTERS = getFileExtensionFilters();"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * Returns the default file extension filters. This method should only be used to initialize {@link #FILE_EXTENSION_FILTERS}."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprivate static String[] getFileExtensionFilters()" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_27 = " result = new ";

-	protected final String TEXT_28 = "();";

-	protected final String TEXT_29 = NL + "\t\tresult.addAll(";

-	protected final String TEXT_30 = ".FILE_EXTENSION_FILTERS);";

-	protected final String TEXT_31 = NL + "\t\treturn ";

-	protected final String TEXT_32 = "(String[])";

-	protected final String TEXT_33 = "result.toArray(new String[0]);" + NL + "\t}";

-	protected final String TEXT_34 = " ";

-	protected final String TEXT_35 = NL + NL + "\t/**" + NL

-			+ "\t * This looks up a string in the plugin's plugin.properties file." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprivate static String getString(String key)" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_36 = ".INSTANCE.getString(key);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This looks up a string in plugin.properties, making a substitution." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprivate static String getString(String key, Object s1)" + NL + "\t{" + NL

-			+ "\t\treturn ";

-	protected final String TEXT_37 = ".INSTANCE.getString(key, new Object [] { s1 });" + NL + "\t}" + NL + "" + NL

-			+ "\t/**" + NL + "\t * RCP's application" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static class Application implements IApplication" + NL + "\t{" + NL + "\t\t/**" + NL

-			+ "\t\t * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)"

-			+ NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"

-			+ NL + "\t\t */" + NL + "\t\tpublic Object start(IApplicationContext context) throws Exception" + NL

-			+ "\t\t{" + NL + "\t\t\tWorkbenchAdvisor workbenchAdvisor = new ";

-	protected final String TEXT_38 = "();" + NL + "\t\t\tDisplay display = PlatformUI.createDisplay();" + NL

-			+ "\t\t\ttry" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tint returnCode = PlatformUI.createAndRunWorkbench(display, workbenchAdvisor);" + NL

-			+ "\t\t\t\tif (returnCode == PlatformUI.RETURN_RESTART)" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\treturn IApplication.EXIT_RESTART;" + NL + "\t\t\t\t}" + NL + "\t\t\t\telse" + NL + "\t\t\t\t{"

-			+ NL + "\t\t\t\t\treturn IApplication.EXIT_OK;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\tfinally"

-			+ NL + "\t\t\t{" + NL + "\t\t\t\tdisplay.dispose();" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "" + NL

-			+ "\t\t/**" + NL + "\t\t * @see org.eclipse.equinox.app.IApplication#stop()" + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tpublic void stop()" + NL + "\t\t{" + NL + "\t\t\t// Do nothing." + NL + "\t\t}"

-			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * RCP's perspective" + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static class Perspective implements IPerspectiveFactory" + NL + "\t{" + NL + "\t\t/**" + NL

-			+ "\t\t * Perspective ID" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->"

-			+ NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic static final String ID_PERSPECTIVE = \"";

-	protected final String TEXT_39 = "Perspective\";";

-	protected final String TEXT_40 = NL

-			+ NL

-			+ "\t\t/**"

-			+ NL

-			+ "\t\t * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)"

-			+ NL

-			+ "\t\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t\t * @generated"

-			+ NL

-			+ "\t\t */"

-			+ NL

-			+ "\t\tpublic void createInitialLayout(IPageLayout layout)"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\tlayout.setEditorAreaVisible(true);"

-			+ NL

-			+ "\t\t\tlayout.addPerspectiveShortcut(ID_PERSPECTIVE);"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t\t\tIFolderLayout right = layout.createFolder(\"right\", IPageLayout.RIGHT, (float)0.66, layout.getEditorArea());";

-	protected final String TEXT_41 = NL

-			+ "\t\t\tright.addView(IPageLayout.ID_OUTLINE);"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t\t\tIFolderLayout bottonRight = layout.createFolder(\"bottonRight\", IPageLayout.BOTTOM, (float)0.60, \"right\");";

-	protected final String TEXT_42 = NL

-			+ "\t\t\tbottonRight.addView(IPageLayout.ID_PROP_SHEET);"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ "\t"

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * RCP's window advisor"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tpublic static class WindowAdvisor extends WorkbenchWindowAdvisor"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\t/**"

-			+ NL

-			+ "\t\t * @see WorkbenchWindowAdvisor#WorkbenchWindowAdvisor(org.eclipse.ui.application.IWorkbenchWindowConfigurer)"

-			+ NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"

-			+ NL + "\t\t */" + NL + "\t\tpublic WindowAdvisor(IWorkbenchWindowConfigurer configurer)" + NL + "\t\t{"

-			+ NL + "\t\t\tsuper(configurer);" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL

-			+ "\t\t * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#preWindowOpen()" + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */";

-	protected final String TEXT_43 = NL + "\t\t@Override";

-	protected final String TEXT_44 = NL + "\t\tpublic void preWindowOpen()" + NL + "\t\t{" + NL

-			+ "\t\t\tIWorkbenchWindowConfigurer configurer = getWindowConfigurer();" + NL

-			+ "\t\t\tconfigurer.setInitialSize(new Point(600, 450));" + NL + "\t\t\tconfigurer.setShowCoolBar(false);"

-			+ NL + "\t\t\tconfigurer.setShowStatusLine(true);" + NL

-			+ "\t\t\tconfigurer.setTitle(getString(\"_UI_Application_title\"));";

-	protected final String TEXT_45 = NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\t"

-			+ NL

-			+ "\t\t/**"

-			+ NL

-			+ "\t\t * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#createActionBarAdvisor(org.eclipse.ui.application.IActionBarConfigurer)"

-			+ NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"

-			+ NL + "\t\t */";

-	protected final String TEXT_46 = NL + "\t\t@Override";

-	protected final String TEXT_47 = NL

-			+ "\t\tpublic ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer)"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\treturn new WindowActionBarAdvisor(configurer);"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * RCP's action bar advisor"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tpublic static class WindowActionBarAdvisor extends ActionBarAdvisor"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\t/**"

-			+ NL

-			+ "\t\t * @see ActionBarAdvisor#ActionBarAdvisor(org.eclipse.ui.application.IActionBarConfigurer)"

-			+ NL

-			+ "\t\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t\t * @generated"

-			+ NL

-			+ "\t\t */"

-			+ NL

-			+ "\t\tpublic WindowActionBarAdvisor(IActionBarConfigurer configurer)"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\tsuper(configurer);"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\t"

-			+ NL

-			+ "\t\t/**"

-			+ NL

-			+ "\t\t * @see org.eclipse.ui.application.ActionBarAdvisor#fillMenuBar(org.eclipse.jface.action.IMenuManager)"

-			+ NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"

-			+ NL + "\t\t */";

-	protected final String TEXT_48 = NL + "\t\t@Override";

-	protected final String TEXT_49 = NL + "\t\tprotected void fillMenuBar(IMenuManager menuBar)" + NL + "\t\t{" + NL

-			+ "\t\t\tIWorkbenchWindow window = getActionBarConfigurer().getWindowConfigurer().getWindow();" + NL

-			+ "\t\t\tmenuBar.add(createFileMenu(window));" + NL + "\t\t\tmenuBar.add(createEditMenu(window));" + NL

-			+ "\t\t\tmenuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));" + NL

-			+ "\t\t\tmenuBar.add(createWindowMenu(window));" + NL

-			+ "\t\t\tmenuBar.add(createHelpMenu(window));\t\t\t\t\t" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL

-			+ "\t\t * Creates the 'File' menu." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL

-			+ "\t\tprotected IMenuManager createFileMenu(IWorkbenchWindow window)" + NL + "\t\t{" + NL

-			+ "\t\t\tIMenuManager menu = new MenuManager(getString(\"_UI_Menu_File_label\"),";

-	protected final String TEXT_50 = NL + "\t\t\tIWorkbenchActionConstants.M_FILE);    " + NL

-			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));" + NL + "\t" + NL

-			+ "\t\t\tIMenuManager newMenu = new MenuManager(getString(\"_UI_Menu_New_label\"), \"new\");";

-	protected final String TEXT_51 = NL + "\t\t\tnewMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));"

-			+ NL + "\t" + NL + "\t\t\tmenu.add(newMenu);" + NL + "\t\t\tmenu.add(new Separator());" + NL

-			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));" + NL

-			+ "\t\t\tmenu.add(new Separator());" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.CLOSE.create(window));" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.CLOSE_ALL.create(window));" + NL

-			+ "\t\t\tmenu.add(new Separator());" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.SAVE.create(window));" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.SAVE_AS.create(window));" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.SAVE_ALL.create(window));" + NL

-			+ "\t\t\tmenu.add(new Separator());" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.QUIT.create(window));" + NL

-			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));" + NL + "\t\t\treturn menu;" + NL

-			+ "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * Creates the 'Edit' menu." + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tprotected IMenuManager createEditMenu(IWorkbenchWindow window)" + NL + "\t\t{" + NL

-			+ "\t\t\tIMenuManager menu = new MenuManager(getString(\"_UI_Menu_Edit_label\"),";

-	protected final String TEXT_52 = NL + "\t\t\tIWorkbenchActionConstants.M_EDIT);" + NL

-			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_START));" + NL + "\t" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.UNDO.create(window));" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.REDO.create(window));" + NL

-			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.UNDO_EXT));" + NL

-			+ "\t\t\tmenu.add(new Separator());" + NL + "\t" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.CUT.create(window));" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.COPY.create(window));" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.PASTE.create(window));" + NL

-			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.CUT_EXT));" + NL

-			+ "\t\t\tmenu.add(new Separator());" + NL + "\t" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.DELETE.create(window));" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.SELECT_ALL.create(window));" + NL

-			+ "\t\t\tmenu.add(new Separator());" + NL + "\t" + NL

-			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.ADD_EXT));" + NL + "\t" + NL

-			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_END));" + NL

-			+ "\t\t\tmenu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));" + NL + "\t\t\treturn menu;" + NL

-			+ "\t\t}" + NL + "\t" + NL + "\t\t/**" + NL + "\t\t * Creates the 'Window' menu." + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tprotected IMenuManager createWindowMenu(IWorkbenchWindow window)" + NL + "\t\t{"

-			+ NL + "\t\t\tIMenuManager menu = new MenuManager(getString(\"_UI_Menu_Window_label\"),";

-	protected final String TEXT_53 = NL + "\t\t\tIWorkbenchActionConstants.M_WINDOW);" + NL + "\t" + NL

-			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.OPEN_NEW_WINDOW.create(window));" + NL

-			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));";

-	protected final String TEXT_54 = NL + "\t\t\tmenu.add(ContributionItemFactory.OPEN_WINDOWS.create(window));";

-	protected final String TEXT_55 = NL

-			+ "\t"

-			+ NL

-			+ "\t\t\treturn menu;"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t"

-			+ NL

-			+ "\t\t/**"

-			+ NL

-			+ "\t\t * Creates the 'Help' menu."

-			+ NL

-			+ "\t\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t\t * @generated"

-			+ NL

-			+ "\t\t */"

-			+ NL

-			+ "\t\tprotected IMenuManager createHelpMenu(IWorkbenchWindow window)"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\tIMenuManager menu = new MenuManager(getString(\"_UI_Menu_Help_label\"), IWorkbenchActionConstants.M_HELP);";

-	protected final String TEXT_56 = NL + "\t\t\t// Welcome or intro page would go here" + NL

-			+ "\t\t\t// Help contents would go here" + NL + "\t\t\t// Tips and tricks page would go here" + NL

-			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.HELP_START));" + NL

-			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.HELP_END));" + NL

-			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));" + NL + "\t\t\treturn menu;"

-			+ NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL

-			+ "\t\t * Adds the specified action to the given menu and also registers the action with the" + NL

-			+ "\t\t * action bar configurer, in order to activate its key binding." + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tprotected void addToMenuAndRegister(IMenuManager menuManager, IAction action)" + NL

-			+ "\t\t{" + NL + "\t\t\tmenuManager.add(action);" + NL

-			+ "\t\t\tgetActionBarConfigurer().registerGlobalAction(action);" + NL + "\t\t}" + NL + "\t}" + NL + "\t"

-			+ NL + "\t/**" + NL + "\t * About action for the RCP application." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static class AboutAction extends WorkbenchWindowActionDelegate" + NL + "\t{" + NL + "\t\t/**"

-			+ NL + "\t\t * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)" + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tpublic void run(IAction action)" + NL + "\t\t{" + NL

-			+ "\t\t\tMessageDialog.openInformation(getWindow().getShell(), getString(\"_UI_About_title\"),";

-	protected final String TEXT_57 = NL + "\t\t\tgetString(\"_UI_About_text\"));";

-	protected final String TEXT_58 = NL + "\t\t}" + NL + "\t}" + NL + "\t";

-	protected final String TEXT_59 = NL + "\t/**" + NL + "\t * Open action for the objects from the ";

-	protected final String TEXT_60 = " model." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static class OpenAction extends WorkbenchWindowActionDelegate" + NL + "\t{" + NL + "\t\t/**"

-			+ NL + "\t\t * Opens the editors for the files selected using the file dialog." + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tpublic void run(IAction action)" + NL + "\t\t{" + NL

-			+ "\t\t\tString[] filePaths = openFilePathDialog(getWindow().getShell(), SWT.OPEN, null);" + NL

-			+ "\t\t\tif (filePaths.length > 0)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\topenEditor(getWindow().getWorkbench(), URI.createFileURI(filePaths[0]));" + NL + "\t\t\t}" + NL

-			+ "\t\t}" + NL + "\t}";

-	protected final String TEXT_61 = NL + "\t" + NL + "\t/**" + NL + "\t * Open URI action for the objects from the ";

-	protected final String TEXT_62 = " model."

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tpublic static class OpenURIAction extends WorkbenchWindowActionDelegate"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\t/**"

-			+ NL

-			+ "\t\t * Opens the editors for the files selected using the LoadResourceDialog."

-			+ NL

-			+ "\t\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t\t * @generated"

-			+ NL

-			+ "\t\t */"

-			+ NL

-			+ "\t\tpublic void run(IAction action)"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\tLoadResourceAction.LoadResourceDialog loadResourceDialog = new LoadResourceAction.LoadResourceDialog(getWindow().getShell());"

-			+ NL + "\t\t\tif (Window.OK == loadResourceDialog.open())" + NL + "\t\t\t{";

-	protected final String TEXT_63 = NL + "\t\t\t\tfor (URI uri : loadResourceDialog.getURIs())" + NL + "\t\t\t\t{"

-			+ NL + "\t\t\t\t\topenEditor(getWindow().getWorkbench(), uri);" + NL + "\t\t\t\t}";

-	protected final String TEXT_64 = NL

-			+ "\t\t\t\tfor (Iterator i = loadResourceDialog.getURIs().iterator(); i.hasNext();)" + NL + "\t\t\t\t{"

-			+ NL + "\t\t\t\t\topenEditor(getWindow().getWorkbench(), (URI)i.next());" + NL + "\t\t\t\t}";

-	protected final String TEXT_65 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + "\t";

-	protected final String TEXT_66 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tpublic static String[] openFilePathDialog(Shell shell, int style, String[] fileExtensionFilters)"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\treturn openFilePathDialog(shell, style, fileExtensionFilters, (style & SWT.OPEN) != 0, (style & SWT.OPEN) != 0, (style & SWT.SAVE) != 0);"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tpublic static String[] openFilePathDialog(Shell shell, int style, String[] fileExtensionFilters, boolean includeGroupFilter, boolean includeAllFilter, boolean addExtension)"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\tFileDialog fileDialog = new FileDialog(shell, style);"

-			+ NL

-			+ "\t\tif (fileExtensionFilters == null)"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\tfileExtensionFilters = FILE_EXTENSION_FILTERS;"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\t"

-			+ NL

-			+ "\t\t// If requested, augment the file extension filters by adding a group of all the other filters (*.ext1;*.ext2;...)"

-			+ NL + "\t\t// at the beginning and/or an all files wildcard (*.*) at the end." + NL + "\t\t//" + NL

-			+ "\t\tincludeGroupFilter &= fileExtensionFilters.length > 1;" + NL

-			+ "\t\tint offset = includeGroupFilter ? 1 : 0;" + NL + "\t\t" + NL

-			+ "\t\tif (includeGroupFilter || includeAllFilter)" + NL + "\t\t{" + NL

-			+ "\t\t\tint size = fileExtensionFilters.length + offset + (includeAllFilter ? 1 : 0);" + NL

-			+ "\t\t\tString[] allFilters = new String[size];" + NL + "\t\t\t";

-	protected final String TEXT_67 = " group = includeGroupFilter ? new ";

-	protected final String TEXT_68 = "() : null;" + NL + "\t\t\t" + NL

-			+ "\t\t\tfor (int i = 0; i < fileExtensionFilters.length; i++)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tif (includeGroupFilter)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tif (i != 0)" + NL + "\t\t\t\t\t{"

-			+ NL + "\t\t\t\t\t\tgroup.append(';');" + NL + "\t\t\t\t\t}" + NL

-			+ "\t\t\t\t\tgroup.append(fileExtensionFilters[i]);" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t\tallFilters[i + offset] = fileExtensionFilters[i];" + NL + "\t\t\t}" + NL + "\t\t\t" + NL

-			+ "\t\t\tif (includeGroupFilter)" + NL + "\t\t\t{" + NL + "\t\t\t\tallFilters[0] = group.toString();" + NL

-			+ "\t\t\t}" + NL + "\t\t\tif (includeAllFilter)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tallFilters[allFilters.length - 1] = \"*.*\";";

-	protected final String TEXT_69 = NL

-			+ "\t\t\t}"

-			+ NL

-			+ "\t\t\t"

-			+ NL

-			+ "\t\t\tfileDialog.setFilterExtensions(allFilters);"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\telse"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\tfileDialog.setFilterExtensions(fileExtensionFilters);"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\tfileDialog.open();"

-			+ NL

-			+ "\t\t"

-			+ NL

-			+ "\t\tString[] filenames = fileDialog.getFileNames();"

-			+ NL

-			+ "\t\tString[] result = new String[filenames.length];"

-			+ NL

-			+ "\t\tString path = fileDialog.getFilterPath() + File.separator;"

-			+ NL

-			+ "\t\tString extension = null;"

-			+ NL

-			+ "\t\t"

-			+ NL

-			+ "\t\t// If extension adding requested, get the dotted extension corresponding to the selected filter."

-			+ NL

-			+ "\t\t//"

-			+ NL

-			+ "\t\tif (addExtension)"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\tint i = fileDialog.getFilterIndex();"

-			+ NL

-			+ "\t\t\tif (i != -1 && (!includeAllFilter || i != fileExtensionFilters.length))"

-			+ NL

-			+ "\t\t\t{"

-			+ NL

-			+ "\t\t\t\ti = includeGroupFilter && i == 0 ? 0 : i - offset;"

-			+ NL

-			+ "\t\t\t\tString filter = fileExtensionFilters[i];"

-			+ NL

-			+ "\t\t\t\tint dot = filter.lastIndexOf('.');"

-			+ NL

-			+ "\t\t\t\tif (dot == 1 && filter.charAt(0) == '*')"

-			+ NL

-			+ "\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\textension = filter.substring(dot);"

-			+ NL

-			+ "\t\t\t\t}"

-			+ NL

-			+ "\t\t\t}"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\t"

-			+ NL

-			+ "\t\t// Build the result by adding the selected path and, if needed, auto-appending the extension."

-			+ NL

-			+ "\t\t//"

-			+ NL

-			+ "\t\tfor (int i = 0; i < filenames.length; i++)"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\tString filename = path + filenames[i];"

-			+ NL

-			+ "\t\t\tif (extension != null)"

-			+ NL

-			+ "\t\t\t{"

-			+ NL

-			+ "\t\t\t\tint dot = filename.lastIndexOf('.');"

-			+ NL

-			+ "\t\t\t\tif (dot == -1 || !Arrays.asList(fileExtensionFilters).contains(\"*\" + filename.substring(dot)))";

-	protected final String TEXT_70 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tfilename += extension;" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t}" + NL + "\t\t\tresult[i] = filename;" + NL + "\t\t}" + NL + "\t\treturn result;" + NL + "\t}";

-	protected final String TEXT_71 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static boolean openEditor(IWorkbench workbench, URI uri)" + NL + "\t{" + NL

-			+ "\t\tIWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();" + NL

-			+ "\t\tIWorkbenchPage page = workbenchWindow.getActivePage();" + NL + "\t\t" + NL

-			+ "\t\tIEditorDescriptor editorDescriptor = EditUIUtil.getDefaultEditor(uri, null);" + NL

-			+ "\t\tif (editorDescriptor == null)" + NL + "\t\t{" + NL + "\t\t\tMessageDialog.openError(" + NL

-			+ "\t\t\t\tworkbenchWindow.getShell()," + NL + "\t\t\t\tgetString(\"_UI_Error_title\"),";

-	protected final String TEXT_72 = NL + "\t\t\t\tgetString(\"_WARN_No_Editor\", uri.lastSegment()));";

-	protected final String TEXT_73 = NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{" + NL

-			+ "\t\t\ttry" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tpage.openEditor(new URIEditorInput(uri), editorDescriptor.getId());" + NL + "\t\t\t}" + NL

-			+ "\t\t\tcatch (PartInitException exception)" + NL + "\t\t\t{" + NL + "\t\t\t\tMessageDialog.openError("

-			+ NL + "\t\t\t\t\tworkbenchWindow.getShell()," + NL + "\t\t\t\t\tgetString(\"_UI_OpenEditorError_label\"),";

-	protected final String TEXT_74 = NL + "\t\t\t\t\texception.getMessage());" + NL + "\t\t\t\treturn false;" + NL

-			+ "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn true;" + NL + "\t}" + NL + "\t" + NL + "\t/**" + NL

-			+ "\t * @see org.eclipse.ui.application.WorkbenchAdvisor#getInitialWindowPerspectiveId()" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_75 = NL + "\t\t@Override";

-	protected final String TEXT_76 = NL

-			+ "\tpublic String getInitialWindowPerspectiveId()"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\treturn Perspective.ID_PERSPECTIVE;"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * @see org.eclipse.ui.application.WorkbenchAdvisor#initialize(org.eclipse.ui.application.IWorkbenchConfigurer)"

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_77 = NL + "\t\t@Override";

-	protected final String TEXT_78 = NL

-			+ "\tpublic void initialize(IWorkbenchConfigurer configurer)"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\tsuper.initialize(configurer);"

-			+ NL

-			+ "\t\tconfigurer.setSaveAndRestore(true);"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ "\t"

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * @see org.eclipse.ui.application.WorkbenchAdvisor#createWorkbenchWindowAdvisor(org.eclipse.ui.application.IWorkbenchWindowConfigurer)"

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_79 = NL + "\t\t@Override";

-	protected final String TEXT_80 = NL

-			+ "\tpublic WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer)"

-			+ NL + "\t{" + NL + "\t\treturn new WindowAdvisor(configurer);" + NL + "\t}" + NL + "}";

-	protected final String TEXT_81 = NL;

-	protected final String TEXT_82 = NL;

-	protected final String TEXT_83 = NL;

-

-	public Advisor() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_82);

-		stringBuffer.append(TEXT_83);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPath = genModel.getEditorPluginDirectory();

-		packageName = genModel.getEditorPluginPackageName();

-		className = genModel.getEditorAdvisorClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2004-2010 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		String _ListOfString = "List" + (genModel.useGenerics() ? "<String>" : "");

-		String _UniqueEListOfString = "UniqueEList" + (genModel.useGenerics() ? "<String>" : "");

-		String _StringBuilder = genModel.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder"

-				: "java.lang.StringBuffer");

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getEditorPluginPackageName());

-		stringBuffer.append(TEXT_3);

-		if (!genModel.isRichAjaxPlatform()) {

-			stringBuffer.append(TEXT_4);

-		}

-		if (!genModel.useGenerics()) {

-			stringBuffer.append(TEXT_5);

-		}

-		if (genModel.getAllGenPackagesWithConcreteClasses().size() > 1) {

-			stringBuffer.append(TEXT_6);

-		}

-		stringBuffer.append(TEXT_7);

-		if (!genModel.isRichAjaxPlatform()) {

-			stringBuffer.append(TEXT_8);

-		}

-		stringBuffer.append(TEXT_9);

-		if (!genModel.isRichAjaxPlatform()) {

-			stringBuffer.append(TEXT_10);

-		}

-		stringBuffer.append(TEXT_11);

-		if (!genModel.isRichAjaxPlatform()) {

-			stringBuffer.append(TEXT_12);

-		}

-		stringBuffer.append(TEXT_13);

-		if (genModel.getAllGenPackagesWithConcreteClasses().size() > 1) {

-			stringBuffer.append(TEXT_14);

-		}

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(genModel.getQualifiedEditorPluginClassName());

-		stringBuffer.append(TEXT_16);

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_17);

-		stringBuffer.append(genModel.getEditorAdvisorClassName());

-		stringBuffer.append(TEXT_18);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_21);

-		}

-		if (!genModel.isRichAjaxPlatform()) {

-			stringBuffer.append(TEXT_22);

-			if (genModel.getAllGenPackagesWithConcreteClasses().size() == 1) {

-				stringBuffer.append(TEXT_23);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_24);

-				}

-				stringBuffer

-						.append(genModel.getAllGenPackagesWithConcreteClasses().get(0).getImportedEditorClassName());

-				stringBuffer.append(TEXT_25);

-			} else {

-				stringBuffer.append(TEXT_26);

-				stringBuffer.append(_ListOfString);

-				stringBuffer.append(TEXT_27);

-				stringBuffer.append(_UniqueEListOfString);

-				stringBuffer.append(TEXT_28);

-				for (GenPackage genPackage : genModel.getAllGenPackagesWithConcreteClasses()) {

-					stringBuffer.append(TEXT_29);

-					stringBuffer.append(genPackage.getImportedEditorClassName());

-					stringBuffer.append(TEXT_30);

-				}

-				stringBuffer.append(TEXT_31);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_32);

-				}

-				stringBuffer.append(TEXT_33);

-			}

-			stringBuffer.append(TEXT_34);

-		}

-		stringBuffer.append(TEXT_35);

-		stringBuffer.append(genModel.getEditorPluginClassName());

-		stringBuffer.append(TEXT_36);

-		stringBuffer.append(genModel.getQualifiedEditorPluginClassName());

-		stringBuffer.append(TEXT_37);

-		stringBuffer.append(genModel.getEditorAdvisorClassName());

-		stringBuffer.append(TEXT_38);

-		stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-		stringBuffer.append(TEXT_39);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_40);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_41);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(genModel.getNonNLS(2));

-		stringBuffer.append(TEXT_42);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_43);

-		}

-		stringBuffer.append(TEXT_44);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_45);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_46);

-		}

-		stringBuffer.append(TEXT_47);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_48);

-		}

-		stringBuffer.append(TEXT_49);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_50);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(genModel.getNonNLS(2));

-		stringBuffer.append(TEXT_51);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_52);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_53);

-		if (!genModel.isRichAjaxPlatform()) {

-			stringBuffer.append(TEXT_54);

-		}

-		stringBuffer.append(TEXT_55);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_56);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_57);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_58);

-		if (!genModel.isRichAjaxPlatform()) {

-			stringBuffer.append(TEXT_59);

-			stringBuffer.append(genModel.getModelName());

-			stringBuffer.append(TEXT_60);

-		}

-		stringBuffer.append(TEXT_61);

-		stringBuffer.append(genModel.getModelName());

-		stringBuffer.append(TEXT_62);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_63);

-		} else {

-			stringBuffer.append(TEXT_64);

-		}

-		stringBuffer.append(TEXT_65);

-		if (!genModel.isRichAjaxPlatform()) {

-			stringBuffer.append(TEXT_66);

-			stringBuffer.append(_StringBuilder);

-			stringBuffer.append(TEXT_67);

-			stringBuffer.append(_StringBuilder);

-			stringBuffer.append(TEXT_68);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_69);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_70);

-		}

-		stringBuffer.append(TEXT_71);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_72);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_73);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_74);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_75);

-		}

-		stringBuffer.append(TEXT_76);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_77);

-		}

-		stringBuffer.append(TEXT_78);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_79);

-		}

-		stringBuffer.append(TEXT_80);

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_81);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate && (genModel.isRichClientPlatform());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Advisor extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+	protected static String nl;
+
+	public static synchronized Advisor create(String lineSeparator) {
+		nl = lineSeparator;
+		Advisor result = new Advisor();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + "import java.io.File;" + NL + "import java.util.Arrays;";
+	protected final String TEXT_5 = NL + "import java.util.Iterator;";
+	protected final String TEXT_6 = NL + "import java.util.List;";
+	protected final String TEXT_7 = NL + NL + "import org.eclipse.equinox.app.IApplication;" + NL
+			+ "import org.eclipse.equinox.app.IApplicationContext;" + NL + "" + NL
+			+ "import org.eclipse.jface.action.GroupMarker;" + NL + "import org.eclipse.jface.action.IAction;" + NL
+			+ "import org.eclipse.jface.action.IMenuManager;" + NL + "import org.eclipse.jface.action.MenuManager;" + NL
+			+ "import org.eclipse.jface.action.Separator;" + NL + "import org.eclipse.jface.dialogs.MessageDialog;" + NL
+			+ "import org.eclipse.jface.window.Window;";
+	protected final String TEXT_8 = NL + "import org.eclipse.swt.SWT;";
+	protected final String TEXT_9 = NL + "import org.eclipse.swt.graphics.Point;" + NL
+			+ "import org.eclipse.swt.widgets.Display;";
+	protected final String TEXT_10 = NL + "import org.eclipse.swt.widgets.FileDialog;" + NL
+			+ "import org.eclipse.swt.widgets.Shell;";
+	protected final String TEXT_11 = NL + "import org.eclipse.ui.IEditorDescriptor;" + NL
+			+ "import org.eclipse.ui.IFolderLayout;" + NL + "import org.eclipse.ui.IPageLayout;" + NL
+			+ "import org.eclipse.ui.IPerspectiveFactory;" + NL + "import org.eclipse.ui.IWorkbench;" + NL
+			+ "import org.eclipse.ui.IWorkbenchActionConstants;" + NL + "import org.eclipse.ui.IWorkbenchPage;" + NL
+			+ "import org.eclipse.ui.IWorkbenchWindow;" + NL + "import org.eclipse.ui.PartInitException;" + NL
+			+ "import org.eclipse.ui.PlatformUI;" + NL + "import org.eclipse.ui.actions.ActionFactory;";
+	protected final String TEXT_12 = NL + "import org.eclipse.ui.actions.ContributionItemFactory;";
+	protected final String TEXT_13 = NL + "import org.eclipse.ui.application.ActionBarAdvisor;" + NL
+			+ "import org.eclipse.ui.application.IActionBarConfigurer;" + NL
+			+ "import org.eclipse.ui.application.IWorkbenchConfigurer;" + NL
+			+ "import org.eclipse.ui.application.IWorkbenchWindowConfigurer;" + NL
+			+ "import org.eclipse.ui.application.WorkbenchAdvisor;" + NL
+			+ "import org.eclipse.ui.application.WorkbenchWindowAdvisor;" + NL + "" + NL
+			+ "import org.eclipse.emf.common.ui.URIEditorInput;" + NL
+			+ "import org.eclipse.emf.common.ui.action.WorkbenchWindowActionDelegate;" + NL
+			+ "import org.eclipse.emf.common.util.URI;";
+	protected final String TEXT_14 = NL + "import org.eclipse.emf.common.util.UniqueEList;";
+	protected final String TEXT_15 = NL + "import org.eclipse.emf.edit.ui.action.LoadResourceAction;" + NL
+			+ "import org.eclipse.emf.edit.ui.util.EditUIUtil;" + NL + "" + NL + "import ";
+	protected final String TEXT_16 = ";";
+	protected final String TEXT_17 = NL + NL + NL + "/**" + NL
+			+ " * Customized {@link WorkbenchAdvisor} for the RCP application." + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public final class ";
+	protected final String TEXT_18 = " extends WorkbenchAdvisor" + NL + "{";
+	protected final String TEXT_19 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static final String copyright = ";
+	protected final String TEXT_20 = ";";
+	protected final String TEXT_21 = NL;
+	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The default file extension filters for use in dialogs."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_23 = NL + "\tprivate static final String[] FILE_EXTENSION_FILTERS = ";
+	protected final String TEXT_24 = "(String[])";
+	protected final String TEXT_25 = ".FILE_EXTENSION_FILTERS.toArray(new String[0]);";
+	protected final String TEXT_26 = NL
+			+ "\tprivate static final String[] FILE_EXTENSION_FILTERS = getFileExtensionFilters();" + NL + "" + NL
+			+ "\t/**" + NL
+			+ "\t * Returns the default file extension filters. This method should only be used to initialize {@link #FILE_EXTENSION_FILTERS}."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprivate static String[] getFileExtensionFilters()" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_27 = " result = new ";
+	protected final String TEXT_28 = "();";
+	protected final String TEXT_29 = NL + "\t\tresult.addAll(";
+	protected final String TEXT_30 = ".FILE_EXTENSION_FILTERS);";
+	protected final String TEXT_31 = NL + "\t\treturn ";
+	protected final String TEXT_32 = "(String[])";
+	protected final String TEXT_33 = "result.toArray(new String[0]);" + NL + "\t}";
+	protected final String TEXT_34 = " ";
+	protected final String TEXT_35 = NL + NL + "\t/**" + NL
+			+ "\t * This looks up a string in the plugin's plugin.properties file." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprivate static String getString(String key)" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_36 = ".INSTANCE.getString(key);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This looks up a string in plugin.properties, making a substitution." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprivate static String getString(String key, Object s1)" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_37 = ".INSTANCE.getString(key, new Object [] { s1 });" + NL + "\t}" + NL + "" + NL
+			+ "\t/**" + NL + "\t * RCP's application" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static class Application implements IApplication" + NL + "\t{" + NL + "\t\t/**" + NL
+			+ "\t\t * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic Object start(IApplicationContext context) throws Exception" + NL + "\t\t{"
+			+ NL + "\t\t\tWorkbenchAdvisor workbenchAdvisor = new ";
+	protected final String TEXT_38 = "();" + NL + "\t\t\tDisplay display = PlatformUI.createDisplay();" + NL
+			+ "\t\t\ttry" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tint returnCode = PlatformUI.createAndRunWorkbench(display, workbenchAdvisor);" + NL
+			+ "\t\t\t\tif (returnCode == PlatformUI.RETURN_RESTART)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\treturn IApplication.EXIT_RESTART;" + NL + "\t\t\t\t}" + NL + "\t\t\t\telse" + NL + "\t\t\t\t{"
+			+ NL + "\t\t\t\t\treturn IApplication.EXIT_OK;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\tfinally"
+			+ NL + "\t\t\t{" + NL + "\t\t\t\tdisplay.dispose();" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "" + NL
+			+ "\t\t/**" + NL + "\t\t * @see org.eclipse.equinox.app.IApplication#stop()" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic void stop()" + NL + "\t\t{" + NL + "\t\t\t// Do nothing." + NL + "\t\t}" + NL
+			+ "\t}" + NL + "" + NL + "\t/**" + NL + "\t * RCP's perspective" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static class Perspective implements IPerspectiveFactory" + NL + "\t{" + NL + "\t\t/**" + NL
+			+ "\t\t * Perspective ID" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+			+ "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic static final String ID_PERSPECTIVE = \"";
+	protected final String TEXT_39 = "Perspective\";";
+	protected final String TEXT_40 = NL + NL + "\t\t/**" + NL
+			+ "\t\t * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic void createInitialLayout(IPageLayout layout)" + NL + "\t\t{" + NL
+			+ "\t\t\tlayout.setEditorAreaVisible(true);" + NL + "\t\t\tlayout.addPerspectiveShortcut(ID_PERSPECTIVE);"
+			+ NL + "" + NL
+			+ "\t\t\tIFolderLayout right = layout.createFolder(\"right\", IPageLayout.RIGHT, (float)0.66, layout.getEditorArea());";
+	protected final String TEXT_41 = NL + "\t\t\tright.addView(IPageLayout.ID_OUTLINE);" + NL + "" + NL
+			+ "\t\t\tIFolderLayout bottonRight = layout.createFolder(\"bottonRight\", IPageLayout.BOTTOM, (float)0.60, \"right\");";
+	protected final String TEXT_42 = NL + "\t\t\tbottonRight.addView(IPageLayout.ID_PROP_SHEET);" + NL + "\t\t}" + NL
+			+ "\t}" + NL + "\t" + NL + "\t/**" + NL + "\t * RCP's window advisor" + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static class WindowAdvisor extends WorkbenchWindowAdvisor" + NL + "\t{" + NL + "\t\t/**" + NL
+			+ "\t\t * @see WorkbenchWindowAdvisor#WorkbenchWindowAdvisor(org.eclipse.ui.application.IWorkbenchWindowConfigurer)"
+			+ NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"
+			+ NL + "\t\t */" + NL + "\t\tpublic WindowAdvisor(IWorkbenchWindowConfigurer configurer)" + NL + "\t\t{"
+			+ NL + "\t\t\tsuper(configurer);" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL
+			+ "\t\t * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#preWindowOpen()" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */";
+	protected final String TEXT_43 = NL + "\t\t@Override";
+	protected final String TEXT_44 = NL + "\t\tpublic void preWindowOpen()" + NL + "\t\t{" + NL
+			+ "\t\t\tIWorkbenchWindowConfigurer configurer = getWindowConfigurer();" + NL
+			+ "\t\t\tconfigurer.setInitialSize(new Point(600, 450));" + NL + "\t\t\tconfigurer.setShowCoolBar(false);"
+			+ NL + "\t\t\tconfigurer.setShowStatusLine(true);" + NL
+			+ "\t\t\tconfigurer.setTitle(getString(\"_UI_Application_title\"));";
+	protected final String TEXT_45 = NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL
+			+ "\t\t * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#createActionBarAdvisor(org.eclipse.ui.application.IActionBarConfigurer)"
+			+ NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"
+			+ NL + "\t\t */";
+	protected final String TEXT_46 = NL + "\t\t@Override";
+	protected final String TEXT_47 = NL
+			+ "\t\tpublic ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer)" + NL + "\t\t{" + NL
+			+ "\t\t\treturn new WindowActionBarAdvisor(configurer);" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL
+			+ "\t/**" + NL + "\t * RCP's action bar advisor" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static class WindowActionBarAdvisor extends ActionBarAdvisor" + NL + "\t{" + NL + "\t\t/**" + NL
+			+ "\t\t * @see ActionBarAdvisor#ActionBarAdvisor(org.eclipse.ui.application.IActionBarConfigurer)" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic WindowActionBarAdvisor(IActionBarConfigurer configurer)" + NL + "\t\t{" + NL
+			+ "\t\t\tsuper(configurer);" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL
+			+ "\t\t * @see org.eclipse.ui.application.ActionBarAdvisor#fillMenuBar(org.eclipse.jface.action.IMenuManager)"
+			+ NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"
+			+ NL + "\t\t */";
+	protected final String TEXT_48 = NL + "\t\t@Override";
+	protected final String TEXT_49 = NL + "\t\tprotected void fillMenuBar(IMenuManager menuBar)" + NL + "\t\t{" + NL
+			+ "\t\t\tIWorkbenchWindow window = getActionBarConfigurer().getWindowConfigurer().getWindow();" + NL
+			+ "\t\t\tmenuBar.add(createFileMenu(window));" + NL + "\t\t\tmenuBar.add(createEditMenu(window));" + NL
+			+ "\t\t\tmenuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));" + NL
+			+ "\t\t\tmenuBar.add(createWindowMenu(window));" + NL
+			+ "\t\t\tmenuBar.add(createHelpMenu(window));\t\t\t\t\t" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL
+			+ "\t\t * Creates the 'File' menu." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+			+ "\t\tprotected IMenuManager createFileMenu(IWorkbenchWindow window)" + NL + "\t\t{" + NL
+			+ "\t\t\tIMenuManager menu = new MenuManager(getString(\"_UI_Menu_File_label\"),";
+	protected final String TEXT_50 = NL + "\t\t\tIWorkbenchActionConstants.M_FILE);    " + NL
+			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));" + NL + "\t" + NL
+			+ "\t\t\tIMenuManager newMenu = new MenuManager(getString(\"_UI_Menu_New_label\"), \"new\");";
+	protected final String TEXT_51 = NL + "\t\t\tnewMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));"
+			+ NL + "\t" + NL + "\t\t\tmenu.add(newMenu);" + NL + "\t\t\tmenu.add(new Separator());" + NL
+			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));" + NL
+			+ "\t\t\tmenu.add(new Separator());" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.CLOSE.create(window));" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.CLOSE_ALL.create(window));" + NL
+			+ "\t\t\tmenu.add(new Separator());" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.SAVE.create(window));" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.SAVE_AS.create(window));" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.SAVE_ALL.create(window));" + NL
+			+ "\t\t\tmenu.add(new Separator());" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.QUIT.create(window));" + NL
+			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));" + NL + "\t\t\treturn menu;" + NL
+			+ "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * Creates the 'Edit' menu." + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tprotected IMenuManager createEditMenu(IWorkbenchWindow window)" + NL + "\t\t{" + NL
+			+ "\t\t\tIMenuManager menu = new MenuManager(getString(\"_UI_Menu_Edit_label\"),";
+	protected final String TEXT_52 = NL + "\t\t\tIWorkbenchActionConstants.M_EDIT);" + NL
+			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_START));" + NL + "\t" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.UNDO.create(window));" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.REDO.create(window));" + NL
+			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.UNDO_EXT));" + NL
+			+ "\t\t\tmenu.add(new Separator());" + NL + "\t" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.CUT.create(window));" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.COPY.create(window));" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.PASTE.create(window));" + NL
+			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.CUT_EXT));" + NL
+			+ "\t\t\tmenu.add(new Separator());" + NL + "\t" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.DELETE.create(window));" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.SELECT_ALL.create(window));" + NL
+			+ "\t\t\tmenu.add(new Separator());" + NL + "\t" + NL
+			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.ADD_EXT));" + NL + "\t" + NL
+			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_END));" + NL
+			+ "\t\t\tmenu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));" + NL + "\t\t\treturn menu;" + NL
+			+ "\t\t}" + NL + "\t" + NL + "\t\t/**" + NL + "\t\t * Creates the 'Window' menu." + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tprotected IMenuManager createWindowMenu(IWorkbenchWindow window)" + NL + "\t\t{"
+			+ NL + "\t\t\tIMenuManager menu = new MenuManager(getString(\"_UI_Menu_Window_label\"),";
+	protected final String TEXT_53 = NL + "\t\t\tIWorkbenchActionConstants.M_WINDOW);" + NL + "\t" + NL
+			+ "\t\t\taddToMenuAndRegister(menu, ActionFactory.OPEN_NEW_WINDOW.create(window));" + NL
+			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));";
+	protected final String TEXT_54 = NL + "\t\t\tmenu.add(ContributionItemFactory.OPEN_WINDOWS.create(window));";
+	protected final String TEXT_55 = NL + "\t" + NL + "\t\t\treturn menu;" + NL + "\t\t}" + NL + "\t" + NL + "\t\t/**"
+			+ NL + "\t\t * Creates the 'Help' menu." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+			+ "\t\tprotected IMenuManager createHelpMenu(IWorkbenchWindow window)" + NL + "\t\t{" + NL
+			+ "\t\t\tIMenuManager menu = new MenuManager(getString(\"_UI_Menu_Help_label\"), IWorkbenchActionConstants.M_HELP);";
+	protected final String TEXT_56 = NL + "\t\t\t// Welcome or intro page would go here" + NL
+			+ "\t\t\t// Help contents would go here" + NL + "\t\t\t// Tips and tricks page would go here" + NL
+			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.HELP_START));" + NL
+			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.HELP_END));" + NL
+			+ "\t\t\tmenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));" + NL + "\t\t\treturn menu;"
+			+ NL + "\t\t}" + NL + "\t\t" + NL + "\t\t/**" + NL
+			+ "\t\t * Adds the specified action to the given menu and also registers the action with the" + NL
+			+ "\t\t * action bar configurer, in order to activate its key binding." + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tprotected void addToMenuAndRegister(IMenuManager menuManager, IAction action)" + NL
+			+ "\t\t{" + NL + "\t\t\tmenuManager.add(action);" + NL
+			+ "\t\t\tgetActionBarConfigurer().registerGlobalAction(action);" + NL + "\t\t}" + NL + "\t}" + NL + "\t"
+			+ NL + "\t/**" + NL + "\t * About action for the RCP application." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static class AboutAction extends WorkbenchWindowActionDelegate" + NL + "\t{" + NL + "\t\t/**"
+			+ NL + "\t\t * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic void run(IAction action)" + NL + "\t\t{" + NL
+			+ "\t\t\tMessageDialog.openInformation(getWindow().getShell(), getString(\"_UI_About_title\"),";
+	protected final String TEXT_57 = NL + "\t\t\tgetString(\"_UI_About_text\"));";
+	protected final String TEXT_58 = NL + "\t\t}" + NL + "\t}" + NL + "\t";
+	protected final String TEXT_59 = NL + "\t/**" + NL + "\t * Open action for the objects from the ";
+	protected final String TEXT_60 = " model." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static class OpenAction extends WorkbenchWindowActionDelegate" + NL + "\t{" + NL + "\t\t/**"
+			+ NL + "\t\t * Opens the editors for the files selected using the file dialog." + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic void run(IAction action)" + NL + "\t\t{" + NL
+			+ "\t\t\tString[] filePaths = openFilePathDialog(getWindow().getShell(), SWT.OPEN, null);" + NL
+			+ "\t\t\tif (filePaths.length > 0)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\topenEditor(getWindow().getWorkbench(), URI.createFileURI(filePaths[0]));" + NL + "\t\t\t}" + NL
+			+ "\t\t}" + NL + "\t}";
+	protected final String TEXT_61 = NL + "\t" + NL + "\t/**" + NL + "\t * Open URI action for the objects from the ";
+	protected final String TEXT_62 = " model." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static class OpenURIAction extends WorkbenchWindowActionDelegate" + NL + "\t{" + NL + "\t\t/**"
+			+ NL + "\t\t * Opens the editors for the files selected using the LoadResourceDialog." + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic void run(IAction action)" + NL + "\t\t{" + NL
+			+ "\t\t\tLoadResourceAction.LoadResourceDialog loadResourceDialog = new LoadResourceAction.LoadResourceDialog(getWindow().getShell());"
+			+ NL + "\t\t\tif (Window.OK == loadResourceDialog.open())" + NL + "\t\t\t{";
+	protected final String TEXT_63 = NL + "\t\t\t\tfor (URI uri : loadResourceDialog.getURIs())" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\topenEditor(getWindow().getWorkbench(), uri);" + NL + "\t\t\t\t}";
+	protected final String TEXT_64 = NL
+			+ "\t\t\t\tfor (Iterator i = loadResourceDialog.getURIs().iterator(); i.hasNext();)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\topenEditor(getWindow().getWorkbench(), (URI)i.next());" + NL + "\t\t\t\t}";
+	protected final String TEXT_65 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + "\t";
+	protected final String TEXT_66 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static String[] openFilePathDialog(Shell shell, int style, String[] fileExtensionFilters)" + NL
+			+ "\t{" + NL
+			+ "\t\treturn openFilePathDialog(shell, style, fileExtensionFilters, (style & SWT.OPEN) != 0, (style & SWT.OPEN) != 0, (style & SWT.SAVE) != 0);"
+			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static String[] openFilePathDialog(Shell shell, int style, String[] fileExtensionFilters, boolean includeGroupFilter, boolean includeAllFilter, boolean addExtension)"
+			+ NL + "\t{" + NL + "\t\tFileDialog fileDialog = new FileDialog(shell, style);" + NL
+			+ "\t\tif (fileExtensionFilters == null)" + NL + "\t\t{" + NL
+			+ "\t\t\tfileExtensionFilters = FILE_EXTENSION_FILTERS;" + NL + "\t\t}" + NL + "\t\t" + NL
+			+ "\t\t// If requested, augment the file extension filters by adding a group of all the other filters (*.ext1;*.ext2;...)"
+			+ NL + "\t\t// at the beginning and/or an all files wildcard (*.*) at the end." + NL + "\t\t//" + NL
+			+ "\t\tincludeGroupFilter &= fileExtensionFilters.length > 1;" + NL
+			+ "\t\tint offset = includeGroupFilter ? 1 : 0;" + NL + "\t\t" + NL
+			+ "\t\tif (includeGroupFilter || includeAllFilter)" + NL + "\t\t{" + NL
+			+ "\t\t\tint size = fileExtensionFilters.length + offset + (includeAllFilter ? 1 : 0);" + NL
+			+ "\t\t\tString[] allFilters = new String[size];" + NL + "\t\t\t";
+	protected final String TEXT_67 = " group = includeGroupFilter ? new ";
+	protected final String TEXT_68 = "() : null;" + NL + "\t\t\t" + NL
+			+ "\t\t\tfor (int i = 0; i < fileExtensionFilters.length; i++)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tif (includeGroupFilter)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tif (i != 0)" + NL + "\t\t\t\t\t{"
+			+ NL + "\t\t\t\t\t\tgroup.append(';');" + NL + "\t\t\t\t\t}" + NL
+			+ "\t\t\t\t\tgroup.append(fileExtensionFilters[i]);" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t\tallFilters[i + offset] = fileExtensionFilters[i];" + NL + "\t\t\t}" + NL + "\t\t\t" + NL
+			+ "\t\t\tif (includeGroupFilter)" + NL + "\t\t\t{" + NL + "\t\t\t\tallFilters[0] = group.toString();" + NL
+			+ "\t\t\t}" + NL + "\t\t\tif (includeAllFilter)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tallFilters[allFilters.length - 1] = \"*.*\";";
+	protected final String TEXT_69 = NL + "\t\t\t}" + NL + "\t\t\t" + NL
+			+ "\t\t\tfileDialog.setFilterExtensions(allFilters);" + NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{" + NL
+			+ "\t\t\tfileDialog.setFilterExtensions(fileExtensionFilters);" + NL + "\t\t}" + NL
+			+ "\t\tfileDialog.open();" + NL + "\t\t" + NL + "\t\tString[] filenames = fileDialog.getFileNames();" + NL
+			+ "\t\tString[] result = new String[filenames.length];" + NL
+			+ "\t\tString path = fileDialog.getFilterPath() + File.separator;" + NL + "\t\tString extension = null;"
+			+ NL + "\t\t" + NL
+			+ "\t\t// If extension adding requested, get the dotted extension corresponding to the selected filter."
+			+ NL + "\t\t//" + NL + "\t\tif (addExtension)" + NL + "\t\t{" + NL
+			+ "\t\t\tint i = fileDialog.getFilterIndex();" + NL
+			+ "\t\t\tif (i != -1 && (!includeAllFilter || i != fileExtensionFilters.length))" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\ti = includeGroupFilter && i == 0 ? 0 : i - offset;" + NL
+			+ "\t\t\t\tString filter = fileExtensionFilters[i];" + NL + "\t\t\t\tint dot = filter.lastIndexOf('.');"
+			+ NL + "\t\t\t\tif (dot == 1 && filter.charAt(0) == '*')" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\textension = filter.substring(dot);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL
+			+ "\t\t" + NL
+			+ "\t\t// Build the result by adding the selected path and, if needed, auto-appending the extension." + NL
+			+ "\t\t//" + NL + "\t\tfor (int i = 0; i < filenames.length; i++)" + NL + "\t\t{" + NL
+			+ "\t\t\tString filename = path + filenames[i];" + NL + "\t\t\tif (extension != null)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tint dot = filename.lastIndexOf('.');" + NL
+			+ "\t\t\t\tif (dot == -1 || !Arrays.asList(fileExtensionFilters).contains(\"*\" + filename.substring(dot)))";
+	protected final String TEXT_70 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tfilename += extension;" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t}" + NL + "\t\t\tresult[i] = filename;" + NL + "\t\t}" + NL + "\t\treturn result;" + NL + "\t}";
+	protected final String TEXT_71 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static boolean openEditor(IWorkbench workbench, URI uri)" + NL + "\t{" + NL
+			+ "\t\tIWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();" + NL
+			+ "\t\tIWorkbenchPage page = workbenchWindow.getActivePage();" + NL + "\t\t" + NL
+			+ "\t\tIEditorDescriptor editorDescriptor = EditUIUtil.getDefaultEditor(uri, null);" + NL
+			+ "\t\tif (editorDescriptor == null)" + NL + "\t\t{" + NL + "\t\t\tMessageDialog.openError(" + NL
+			+ "\t\t\t\tworkbenchWindow.getShell()," + NL + "\t\t\t\tgetString(\"_UI_Error_title\"),";
+	protected final String TEXT_72 = NL + "\t\t\t\tgetString(\"_WARN_No_Editor\", uri.lastSegment()));";
+	protected final String TEXT_73 = NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{" + NL
+			+ "\t\t\ttry" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tpage.openEditor(new URIEditorInput(uri), editorDescriptor.getId());" + NL + "\t\t\t}" + NL
+			+ "\t\t\tcatch (PartInitException exception)" + NL + "\t\t\t{" + NL + "\t\t\t\tMessageDialog.openError("
+			+ NL + "\t\t\t\t\tworkbenchWindow.getShell()," + NL + "\t\t\t\t\tgetString(\"_UI_OpenEditorError_label\"),";
+	protected final String TEXT_74 = NL + "\t\t\t\t\texception.getMessage());" + NL + "\t\t\t\treturn false;" + NL
+			+ "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn true;" + NL + "\t}" + NL + "\t" + NL + "\t/**" + NL
+			+ "\t * @see org.eclipse.ui.application.WorkbenchAdvisor#getInitialWindowPerspectiveId()" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_75 = NL + "\t\t@Override";
+	protected final String TEXT_76 = NL + "\tpublic String getInitialWindowPerspectiveId()" + NL + "\t{" + NL
+			+ "\t\treturn Perspective.ID_PERSPECTIVE;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * @see org.eclipse.ui.application.WorkbenchAdvisor#initialize(org.eclipse.ui.application.IWorkbenchConfigurer)"
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_77 = NL + "\t\t@Override";
+	protected final String TEXT_78 = NL + "\tpublic void initialize(IWorkbenchConfigurer configurer)" + NL + "\t{" + NL
+			+ "\t\tsuper.initialize(configurer);" + NL + "\t\tconfigurer.setSaveAndRestore(true);" + NL + "\t}" + NL
+			+ "\t" + NL + "\t/**" + NL
+			+ "\t * @see org.eclipse.ui.application.WorkbenchAdvisor#createWorkbenchWindowAdvisor(org.eclipse.ui.application.IWorkbenchWindowConfigurer)"
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_79 = NL + "\t\t@Override";
+	protected final String TEXT_80 = NL
+			+ "\tpublic WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer)" + NL
+			+ "\t{" + NL + "\t\treturn new WindowAdvisor(configurer);" + NL + "\t}" + NL + "}";
+	protected final String TEXT_81 = NL;
+	protected final String TEXT_82 = NL;
+	protected final String TEXT_83 = NL;
+
+	public Advisor() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_82);
+		stringBuffer.append(TEXT_83);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPath = genModel.getEditorPluginDirectory();
+		packageName = genModel.getEditorPluginPackageName();
+		className = genModel.getEditorAdvisorClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2004-2010 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		String _ListOfString = "List" + (genModel.useGenerics() ? "<String>" : "");
+		String _UniqueEListOfString = "UniqueEList" + (genModel.useGenerics() ? "<String>" : "");
+		String _StringBuilder = genModel
+				.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer");
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getEditorPluginPackageName());
+		stringBuffer.append(TEXT_3);
+		if (!genModel.isRichAjaxPlatform()) {
+			stringBuffer.append(TEXT_4);
+		}
+		if (!genModel.useGenerics()) {
+			stringBuffer.append(TEXT_5);
+		}
+		if (genModel.getAllGenPackagesWithConcreteClasses().size() > 1) {
+			stringBuffer.append(TEXT_6);
+		}
+		stringBuffer.append(TEXT_7);
+		if (!genModel.isRichAjaxPlatform()) {
+			stringBuffer.append(TEXT_8);
+		}
+		stringBuffer.append(TEXT_9);
+		if (!genModel.isRichAjaxPlatform()) {
+			stringBuffer.append(TEXT_10);
+		}
+		stringBuffer.append(TEXT_11);
+		if (!genModel.isRichAjaxPlatform()) {
+			stringBuffer.append(TEXT_12);
+		}
+		stringBuffer.append(TEXT_13);
+		if (genModel.getAllGenPackagesWithConcreteClasses().size() > 1) {
+			stringBuffer.append(TEXT_14);
+		}
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(genModel.getQualifiedEditorPluginClassName());
+		stringBuffer.append(TEXT_16);
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_17);
+		stringBuffer.append(genModel.getEditorAdvisorClassName());
+		stringBuffer.append(TEXT_18);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_21);
+		}
+		if (!genModel.isRichAjaxPlatform()) {
+			stringBuffer.append(TEXT_22);
+			if (genModel.getAllGenPackagesWithConcreteClasses().size() == 1) {
+				stringBuffer.append(TEXT_23);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_24);
+				}
+				stringBuffer
+						.append(genModel.getAllGenPackagesWithConcreteClasses().get(0).getImportedEditorClassName());
+				stringBuffer.append(TEXT_25);
+			} else {
+				stringBuffer.append(TEXT_26);
+				stringBuffer.append(_ListOfString);
+				stringBuffer.append(TEXT_27);
+				stringBuffer.append(_UniqueEListOfString);
+				stringBuffer.append(TEXT_28);
+				for (GenPackage genPackage : genModel.getAllGenPackagesWithConcreteClasses()) {
+					stringBuffer.append(TEXT_29);
+					stringBuffer.append(genPackage.getImportedEditorClassName());
+					stringBuffer.append(TEXT_30);
+				}
+				stringBuffer.append(TEXT_31);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_32);
+				}
+				stringBuffer.append(TEXT_33);
+			}
+			stringBuffer.append(TEXT_34);
+		}
+		stringBuffer.append(TEXT_35);
+		stringBuffer.append(genModel.getEditorPluginClassName());
+		stringBuffer.append(TEXT_36);
+		stringBuffer.append(genModel.getQualifiedEditorPluginClassName());
+		stringBuffer.append(TEXT_37);
+		stringBuffer.append(genModel.getEditorAdvisorClassName());
+		stringBuffer.append(TEXT_38);
+		stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+		stringBuffer.append(TEXT_39);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_40);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_41);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(genModel.getNonNLS(2));
+		stringBuffer.append(TEXT_42);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_43);
+		}
+		stringBuffer.append(TEXT_44);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_45);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_46);
+		}
+		stringBuffer.append(TEXT_47);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_48);
+		}
+		stringBuffer.append(TEXT_49);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_50);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(genModel.getNonNLS(2));
+		stringBuffer.append(TEXT_51);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_52);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_53);
+		if (!genModel.isRichAjaxPlatform()) {
+			stringBuffer.append(TEXT_54);
+		}
+		stringBuffer.append(TEXT_55);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_56);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_57);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_58);
+		if (!genModel.isRichAjaxPlatform()) {
+			stringBuffer.append(TEXT_59);
+			stringBuffer.append(genModel.getModelName());
+			stringBuffer.append(TEXT_60);
+		}
+		stringBuffer.append(TEXT_61);
+		stringBuffer.append(genModel.getModelName());
+		stringBuffer.append(TEXT_62);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_63);
+		} else {
+			stringBuffer.append(TEXT_64);
+		}
+		stringBuffer.append(TEXT_65);
+		if (!genModel.isRichAjaxPlatform()) {
+			stringBuffer.append(TEXT_66);
+			stringBuffer.append(_StringBuilder);
+			stringBuffer.append(TEXT_67);
+			stringBuffer.append(_StringBuilder);
+			stringBuffer.append(TEXT_68);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_69);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_70);
+		}
+		stringBuffer.append(TEXT_71);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_72);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_73);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_74);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_75);
+		}
+		stringBuffer.append(TEXT_76);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_77);
+		}
+		stringBuffer.append(TEXT_78);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_79);
+		}
+		stringBuffer.append(TEXT_80);
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_81);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && (genModel.isRichClientPlatform());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/AppEngineWebXML.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/AppEngineWebXML.java
index 37127ee..d65f936 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/AppEngineWebXML.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/AppEngineWebXML.java
@@ -1,188 +1,187 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class AppEngineWebXML extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized AppEngineWebXML create(String lineSeparator) {

-		nl = lineSeparator;

-		AppEngineWebXML result = new AppEngineWebXML();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "<appengine-web-app xmlns=\"http://appengine.google.com/ns/1.0\">" + NL

-			+ "\t<application>";

-	protected final String TEXT_4 = "-editor</application>" + NL + "\t<version>1</version>" + NL

-			+ "</appengine-web-app>" + NL;

-	protected final String TEXT_5 = NL;

-	protected final String TEXT_6 = NL;

-

-	public AppEngineWebXML() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(TEXT_6);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditorProjectDirectory() + "/war/WEB-INF/appengine-web.xml";

-		overwrite = false;

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2010 Ed Merks 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: 

-		 *   Ed Merks - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genModel.getModelName().toLowerCase().replaceAll("\\s", "-"));

-		stringBuffer.append(TEXT_4);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class AppEngineWebXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized AppEngineWebXML create(String lineSeparator) {
+		nl = lineSeparator;
+		AppEngineWebXML result = new AppEngineWebXML();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "<appengine-web-app xmlns=\"http://appengine.google.com/ns/1.0\">" + NL
+			+ "\t<application>";
+	protected final String TEXT_4 = "-editor</application>" + NL + "\t<version>1</version>" + NL
+			+ "</appengine-web-app>" + NL;
+	protected final String TEXT_5 = NL;
+	protected final String TEXT_6 = NL;
+
+	public AppEngineWebXML() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(TEXT_6);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditorProjectDirectory() + "/war/WEB-INF/appengine-web.xml";
+		overwrite = false;
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2010 Ed Merks 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: 
+		 *   Ed Merks - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genModel.getModelName().toLowerCase().replaceAll("\\s", "-"));
+		stringBuffer.append(TEXT_4);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/BuildProperties.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/BuildProperties.java
index c3cccc5..8e5965f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/BuildProperties.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/BuildProperties.java
@@ -1,230 +1,229 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class BuildProperties extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized BuildProperties create(String lineSeparator) {

-		nl = lineSeparator;

-		BuildProperties result = new BuildProperties();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + NL + "bin.includes = ";

-	protected final String TEXT_3 = ",\\" + NL + "               icons/,\\";

-	protected final String TEXT_4 = NL + "               META-INF/,\\";

-	protected final String TEXT_5 = NL + "               plugin.xml,\\";

-	protected final String TEXT_6 = NL + "               plugin.properties" + NL + "jars.compile.order = ";

-	protected final String TEXT_7 = NL + "source.";

-	protected final String TEXT_8 = " = ";

-	protected final String TEXT_9 = NL + "output.";

-	protected final String TEXT_10 = " = ";

-	protected final String TEXT_11 = "bin";

-	protected final String TEXT_12 = "war/WEB-INF/classes";

-	protected final String TEXT_13 = NL;

-	protected final String TEXT_14 = NL;

-	protected final String TEXT_15 = NL;

-

-	public BuildProperties() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_14);

-		stringBuffer.append(TEXT_15);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditorProjectDirectory() + "/build.properties";

-		overwrite = genModel.isUpdateClasspath()

-				&& !new CodegenGeneratorAdapter(parameter).exists(new CodegenGeneratorAdapter(parameter).toURI(

-						genModel.getEditorProjectDirectory()).appendSegment("plugin.xml"));

-		encoding = "ISO-8859-1";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2008 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getEditorPluginID() + ".jar" : ".";

-		List<String> sourceFolders = genModel.getEditorSourceFolders();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(pluginClassesLocation);

-		stringBuffer.append(TEXT_3);

-		if (genModel.isBundleManifest()) {

-			stringBuffer.append(TEXT_4);

-		}

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_5);

-		}

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(pluginClassesLocation);

-		boolean first = true;

-		for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) {

-			String sourceFolder = i.next();

-			if (i.hasNext()) {

-				sourceFolder += ",\\";

-			}

-			if (first) {

-				stringBuffer.append(TEXT_7);

-				stringBuffer.append(pluginClassesLocation);

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(sourceFolder);

-				first = false;

-			} else {

-				stringBuffer.append(sourceFolder);

-			}

-		}

-		stringBuffer.append(TEXT_9);

-		stringBuffer.append(pluginClassesLocation);

-		stringBuffer.append(TEXT_10);

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_11);

-		} else {

-			stringBuffer.append(TEXT_12);

-		}

-		stringBuffer.append(TEXT_13);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate && true;

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class BuildProperties extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized BuildProperties create(String lineSeparator) {
+		nl = lineSeparator;
+		BuildProperties result = new BuildProperties();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + NL + "bin.includes = ";
+	protected final String TEXT_3 = ",\\" + NL + "               icons/,\\";
+	protected final String TEXT_4 = NL + "               META-INF/,\\";
+	protected final String TEXT_5 = NL + "               plugin.xml,\\";
+	protected final String TEXT_6 = NL + "               plugin.properties" + NL + "jars.compile.order = ";
+	protected final String TEXT_7 = NL + "source.";
+	protected final String TEXT_8 = " = ";
+	protected final String TEXT_9 = NL + "output.";
+	protected final String TEXT_10 = " = ";
+	protected final String TEXT_11 = "bin";
+	protected final String TEXT_12 = "war/WEB-INF/classes";
+	protected final String TEXT_13 = NL;
+	protected final String TEXT_14 = NL;
+	protected final String TEXT_15 = NL;
+
+	public BuildProperties() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_14);
+		stringBuffer.append(TEXT_15);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditorProjectDirectory() + "/build.properties";
+		overwrite = genModel.isUpdateClasspath()
+				&& !new CodegenGeneratorAdapter(parameter).exists(new CodegenGeneratorAdapter(parameter)
+						.toURI(genModel.getEditorProjectDirectory()).appendSegment("plugin.xml"));
+		encoding = "ISO-8859-1";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2008 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getEditorPluginID() + ".jar" : ".";
+		List<String> sourceFolders = genModel.getEditorSourceFolders();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(pluginClassesLocation);
+		stringBuffer.append(TEXT_3);
+		if (genModel.isBundleManifest()) {
+			stringBuffer.append(TEXT_4);
+		}
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_5);
+		}
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(pluginClassesLocation);
+		boolean first = true;
+		for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) {
+			String sourceFolder = i.next();
+			if (i.hasNext()) {
+				sourceFolder += ",\\";
+			}
+			if (first) {
+				stringBuffer.append(TEXT_7);
+				stringBuffer.append(pluginClassesLocation);
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(sourceFolder);
+				first = false;
+			} else {
+				stringBuffer.append(sourceFolder);
+			}
+		}
+		stringBuffer.append(TEXT_9);
+		stringBuffer.append(pluginClassesLocation);
+		stringBuffer.append(TEXT_10);
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_11);
+		} else {
+			stringBuffer.append(TEXT_12);
+		}
+		stringBuffer.append(TEXT_13);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && true;
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Editor.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Editor.java
index 0efa9fb..01a394c 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Editor.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Editor.java
@@ -1,2905 +1,2577 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Editor extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized Editor create(String lineSeparator) {

-		nl = lineSeparator;

-		Editor result = new Editor();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL + "" + NL + "" + NL + "import java.io.IOException;" + NL

-			+ "import java.io.InputStream;" + NL + "" + NL + "import java.util.ArrayList;" + NL

-			+ "import java.util.Collection;" + NL + "import java.util.Collections;" + NL

-			+ "import java.util.EventObject;" + NL + "import java.util.HashMap;" + NL + "import java.util.Iterator;"

-			+ NL + "import java.util.LinkedHashMap;" + NL + "import java.util.List;" + NL + "import java.util.Map;";

-	protected final String TEXT_4 = NL + NL + "import org.eclipse.core.resources.IFile;" + NL

-			+ "import org.eclipse.core.resources.IMarker;" + NL + "import org.eclipse.core.resources.IResource;" + NL

-			+ "import org.eclipse.core.resources.IResourceChangeEvent;" + NL

-			+ "import org.eclipse.core.resources.IResourceChangeListener;" + NL

-			+ "import org.eclipse.core.resources.IResourceDelta;" + NL

-			+ "import org.eclipse.core.resources.IResourceDeltaVisitor;" + NL

-			+ "import org.eclipse.core.resources.ResourcesPlugin;";

-	protected final String TEXT_5 = NL;

-	protected final String TEXT_6 = NL + "import org.eclipse.core.runtime.CoreException;" + NL

-			+ "import org.eclipse.core.runtime.IPath;";

-	protected final String TEXT_7 = NL + "import org.eclipse.core.runtime.IProgressMonitor;" + NL

-			+ "import org.eclipse.core.runtime.NullProgressMonitor;" + NL + "" + NL

-			+ "import org.eclipse.jface.action.IMenuListener;" + NL + "import org.eclipse.jface.action.IMenuManager;"

-			+ NL + "import org.eclipse.jface.action.IStatusLineManager;" + NL

-			+ "import org.eclipse.jface.action.IToolBarManager;" + NL + "import org.eclipse.jface.action.MenuManager;"

-			+ NL + "import org.eclipse.jface.action.Separator;" + NL + "" + NL

-			+ "import org.eclipse.jface.dialogs.MessageDialog;" + NL

-			+ "import org.eclipse.jface.dialogs.ProgressMonitorDialog;" + NL;

-	protected final String TEXT_8 = NL + "import org.eclipse.jface.util.LocalSelectionTransfer;" + NL;

-	protected final String TEXT_9 = NL + "import org.eclipse.jface.viewers.ColumnWeightData;";

-	protected final String TEXT_10 = NL + "import org.eclipse.jface.viewers.ISelection;" + NL

-			+ "import org.eclipse.jface.viewers.ISelectionChangedListener;" + NL

-			+ "import org.eclipse.jface.viewers.ISelectionProvider;" + NL

-			+ "import org.eclipse.jface.viewers.IStructuredSelection;";

-	protected final String TEXT_11 = NL + "import org.eclipse.jface.viewers.ListViewer;";

-	protected final String TEXT_12 = NL + "import org.eclipse.jface.viewers.SelectionChangedEvent;" + NL

-			+ "import org.eclipse.jface.viewers.StructuredSelection;" + NL

-			+ "import org.eclipse.jface.viewers.StructuredViewer;";

-	protected final String TEXT_13 = NL + "import org.eclipse.jface.viewers.TableLayout;" + NL

-			+ "import org.eclipse.jface.viewers.TableViewer;";

-	protected final String TEXT_14 = NL + "import org.eclipse.jface.viewers.TreeViewer;" + NL

-			+ "import org.eclipse.jface.viewers.Viewer;" + NL + "" + NL + "import org.eclipse.swt.SWT;" + NL + "" + NL

-			+ "import org.eclipse.swt.custom.CTabFolder;" + NL + "" + NL + "import org.eclipse.swt.dnd.DND;";

-	protected final String TEXT_15 = NL + "import org.eclipse.swt.dnd.FileTransfer;";

-	protected final String TEXT_16 = NL + "import org.eclipse.swt.dnd.Transfer;" + NL + "" + NL

-			+ "import org.eclipse.swt.events.ControlAdapter;" + NL + "import org.eclipse.swt.events.ControlEvent;" + NL

-			+ "" + NL + "import org.eclipse.swt.graphics.Point;";

-	protected final String TEXT_17 = NL + NL + "import org.eclipse.swt.layout.FillLayout;";

-	protected final String TEXT_18 = NL + NL + "import org.eclipse.swt.widgets.Composite;" + NL

-			+ "import org.eclipse.swt.widgets.Menu;";

-	protected final String TEXT_19 = NL + "import org.eclipse.swt.widgets.Table;" + NL

-			+ "import org.eclipse.swt.widgets.TableColumn;";

-	protected final String TEXT_20 = NL + "import org.eclipse.swt.widgets.Tree;";

-	protected final String TEXT_21 = NL + "import org.eclipse.swt.widgets.TreeColumn;";

-	protected final String TEXT_22 = NL + NL + "import org.eclipse.ui.IActionBars;" + NL

-			+ "import org.eclipse.ui.IEditorInput;" + NL + "import org.eclipse.ui.IEditorPart;" + NL

-			+ "import org.eclipse.ui.IEditorSite;";

-	protected final String TEXT_23 = NL + "import org.eclipse.ui.IFileEditorInput;";

-	protected final String TEXT_24 = NL + "import org.eclipse.ui.IPartListener;" + NL

-			+ "import org.eclipse.ui.IWorkbenchPart;" + NL + "import org.eclipse.ui.PartInitException;";

-	protected final String TEXT_25 = NL + NL + "import org.eclipse.ui.dialogs.SaveAsDialog;" + NL + "" + NL

-			+ "import org.eclipse.ui.ide.IGotoMarker;";

-	protected final String TEXT_26 = NL;

-	protected final String TEXT_27 = NL + "import org.eclipse.ui.part.FileEditorInput;";

-	protected final String TEXT_28 = NL + "import org.eclipse.ui.part.MultiPageEditorPart;" + NL + "" + NL

-			+ "import org.eclipse.ui.views.contentoutline.ContentOutline;" + NL

-			+ "import org.eclipse.ui.views.contentoutline.ContentOutlinePage;" + NL

-			+ "import org.eclipse.ui.views.contentoutline.IContentOutlinePage;" + NL + "" + NL

-			+ "import org.eclipse.ui.views.properties.IPropertySheetPage;" + NL

-			+ "import org.eclipse.ui.views.properties.PropertySheet;" + NL

-			+ "import org.eclipse.ui.views.properties.PropertySheetPage;" + NL + "" + NL

-			+ "import org.eclipse.emf.common.command.BasicCommandStack;" + NL

-			+ "import org.eclipse.emf.common.command.Command;" + NL

-			+ "import org.eclipse.emf.common.command.CommandStack;" + NL

-			+ "import org.eclipse.emf.common.command.CommandStackListener;" + NL + "" + NL

-			+ "import org.eclipse.emf.common.notify.AdapterFactory;" + NL

-			+ "import org.eclipse.emf.common.notify.Notification;" + NL;

-	protected final String TEXT_29 = NL + "import org.eclipse.emf.common.ui.MarkerHelper;";

-	protected final String TEXT_30 = NL + "import org.eclipse.emf.common.ui.ViewerPane;";

-	protected final String TEXT_31 = NL + NL + "import org.eclipse.emf.common.ui.editor.ProblemEditorPart;" + NL + ""

-			+ NL + "import org.eclipse.emf.common.ui.viewer.IViewerProvider;" + NL + "" + NL

-			+ "import org.eclipse.emf.common.util.BasicDiagnostic;" + NL

-			+ "import org.eclipse.emf.common.util.Diagnostic;" + NL + "import org.eclipse.emf.common.util.URI;" + NL;

-	protected final String TEXT_32 = NL + "import org.eclipse.emf.ecore.EObject;" + NL

-			+ "import org.eclipse.emf.ecore.EValidator;";

-	protected final String TEXT_33 = NL + NL + "import org.eclipse.emf.ecore.resource.Resource;";

-	protected final String TEXT_34 = NL + "import org.eclipse.emf.ecore.resource.ResourceSet;";

-	protected final String TEXT_35 = NL + NL + "import org.eclipse.emf.ecore.util.EContentAdapter;" + NL

-			+ "import org.eclipse.emf.ecore.util.EcoreUtil;" + NL + "" + NL

-			+ "import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;" + NL

-			+ "import org.eclipse.emf.edit.domain.EditingDomain;" + NL

-			+ "import org.eclipse.emf.edit.domain.IEditingDomainProvider;" + NL + "" + NL

-			+ "import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;" + NL

-			+ "import org.eclipse.emf.edit.provider.ComposedAdapterFactory;" + NL

-			+ "import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;" + NL + "" + NL

-			+ "import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;" + NL + "" + NL

-			+ "import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;" + NL + "" + NL

-			+ "import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;" + NL + "" + NL

-			+ "import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;" + NL

-			+ "import org.eclipse.emf.edit.ui.dnd.LocalTransfer;" + NL

-			+ "import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;" + NL + "" + NL

-			+ "import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;" + NL

-			+ "import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;";

-	protected final String TEXT_36 = NL + "import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;";

-	protected final String TEXT_37 = NL + NL + "import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;";

-	protected final String TEXT_38 = NL + "import org.eclipse.emf.edit.ui.util.EditUIUtil;";

-	protected final String TEXT_39 = NL + NL + "import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;" + NL

-			+ "" + NL + "import ";

-	protected final String TEXT_40 = ";" + NL;

-	protected final String TEXT_41 = NL + NL + NL + "/**" + NL + " * This is an example of a ";

-	protected final String TEXT_42 = " model editor." + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public class ";

-	protected final String TEXT_43 = NL + "\textends MultiPageEditorPart" + NL

-			+ "\timplements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider";

-	protected final String TEXT_44 = ", IGotoMarker";

-	protected final String TEXT_45 = NL + "{";

-	protected final String TEXT_46 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_47 = " copyright = ";

-	protected final String TEXT_48 = ";";

-	protected final String TEXT_49 = NL;

-	protected final String TEXT_50 = NL + "\t/**" + NL

-			+ "\t * The filters for file extensions supported by the editor." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_51 = NL + "\tpublic static final ";

-	protected final String TEXT_52 = " FILE_EXTENSION_FILTERS = prefixExtensions(";

-	protected final String TEXT_53 = ".FILE_EXTENSIONS, \"*.\");";

-	protected final String TEXT_54 = NL + "\t";

-	protected final String TEXT_55 = NL + "\tpublic static final ";

-	protected final String TEXT_56 = " FILE_EXTENSION_FILTERS = prefixExtensions(";

-	protected final String TEXT_57 = ".asList(";

-	protected final String TEXT_58 = ".INSTANCE.getString(\"_UI_";

-	protected final String TEXT_59 = "FilenameExtensions\").split(\"\\\\s*,\\\\s*\")), \"*.\");";

-	protected final String TEXT_60 = NL + "\t";

-	protected final String TEXT_61 = NL + "\t/**" + NL

-			+ "\t * Returns a new unmodifiable list containing prefixed versions of the extensions in the given list."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprivate static ";

-	protected final String TEXT_62 = " prefixExtensions(";

-	protected final String TEXT_63 = " extensions, String prefix)" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_64 = " result = new ";

-	protected final String TEXT_65 = "();";

-	protected final String TEXT_66 = NL + "\t\tfor (String extension : extensions)" + NL + "\t\t{" + NL

-			+ "\t\t\tresult.add(prefix + extension);";

-	protected final String TEXT_67 = NL + "\t\tfor (Iterator iterator = extensions.iterator() ; iterator.hasNext(); )"

-			+ NL + "\t\t{" + NL + "\t\t\tresult.add(prefix + (String)iterator.next());";

-	protected final String TEXT_68 = NL + "\t\t}" + NL + "\t\treturn Collections.unmodifiableList(result);" + NL

-			+ "\t}" + NL;

-	protected final String TEXT_69 = NL + "\t/**" + NL

-			+ "\t * This keeps track of the editing domain that is used to track all changes to the model." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected AdapterFactoryEditingDomain editingDomain;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This is the one adapter factory used for providing views of the model." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ComposedAdapterFactory adapterFactory;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This is the content outline page." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected IContentOutlinePage contentOutlinePage;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This is a kludge..." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\tprotected IStatusLineManager contentOutlineStatusLineManager;"

-			+ NL + "" + NL + "\t/**" + NL + "\t * This is the content outline page's viewer." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected TreeViewer contentOutlineViewer;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This is the property sheet page." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_70 = " propertySheetPages = new ";

-	protected final String TEXT_71 = "();" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This is the viewer that shadows the selection in the content outline." + NL

-			+ "\t * The parent relation must be correctly defined for this to work." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected TreeViewer selectionViewer;";

-	protected final String TEXT_72 = NL + NL + "\t/**" + NL

-			+ "\t * This inverts the roll of parent and child in the content provider and show parents as a tree." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected TreeViewer parentViewer;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This shows how a tree view works." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected TreeViewer treeViewer;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This shows how a list view works." + NL + "\t * A list viewer doesn't support icons." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ListViewer listViewer;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This shows how a table view works." + NL + "\t * A table can be used as a list with icons." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected TableViewer tableViewer;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This shows how a tree view with columns works." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected TreeViewer treeViewerWithColumns;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This keeps track of the active viewer pane, in the book." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected ViewerPane currentViewerPane;";

-	protected final String TEXT_73 = NL

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer."

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tprotected Viewer currentViewer;"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This listens to which ever viewer is active."

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tprotected ISelectionChangedListener selectionChangedListener;"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_74 = " selectionChangedListeners = new ";

-	protected final String TEXT_75 = "();" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This keeps track of the selection of the editor as a whole." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected ISelection editorSelection = StructuredSelection.EMPTY;" + NL;

-	protected final String TEXT_76 = NL + "\t/**" + NL

-			+ "\t * The MarkerHelper is responsible for creating workspace resource markers presented" + NL

-			+ "\t * in Eclipse's Problems View." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected MarkerHelper markerHelper = new EditUIMarkerHelper();" + NL;

-	protected final String TEXT_77 = NL + "\t/**" + NL + "\t * This listens for when the outline becomes active" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected IPartListener partListener =" + NL + "\t\tnew IPartListener()" + NL + "\t\t{"

-			+ NL + "\t\t\tpublic void partActivated(IWorkbenchPart p)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tif (p instanceof ContentOutline)" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tif (((ContentOutline)p).getCurrentPage() == contentOutlinePage)" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\tgetActionBarContributor().setActiveEditor(";

-	protected final String TEXT_78 = ".this);" + NL + "" + NL + "\t\t\t\t\t\tsetCurrentViewer(contentOutlineViewer);"

-			+ NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t\telse if (p instanceof PropertySheet)" + NL

-			+ "\t\t\t\t{" + NL + "\t\t\t\t\tif (propertySheetPages.contains(((PropertySheet)p).getCurrentPage()))" + NL

-			+ "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tgetActionBarContributor().setActiveEditor(";

-	protected final String TEXT_79 = ".this);" + NL + "\t\t\t\t\t\thandleActivate();" + NL + "\t\t\t\t\t}" + NL

-			+ "\t\t\t\t}" + NL + "\t\t\t\telse if (p == ";

-	protected final String TEXT_80 = ".this)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\thandleActivate();" + NL

-			+ "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\tpublic void partBroughtToTop(IWorkbenchPart p)" + NL

-			+ "\t\t\t{" + NL + "\t\t\t\t// Ignore." + NL + "\t\t\t}" + NL

-			+ "\t\t\tpublic void partClosed(IWorkbenchPart p)" + NL + "\t\t\t{" + NL + "\t\t\t\t// Ignore." + NL

-			+ "\t\t\t}" + NL + "\t\t\tpublic void partDeactivated(IWorkbenchPart p)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t// Ignore." + NL + "\t\t\t}" + NL + "\t\t\tpublic void partOpened(IWorkbenchPart p)" + NL

-			+ "\t\t\t{" + NL + "\t\t\t\t// Ignore." + NL + "\t\t\t}" + NL + "\t\t};" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Resources that have been removed since last activation." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_81 = " removedResources = new ";

-	protected final String TEXT_82 = "();" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Resources that have been changed since last activation." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_83 = " changedResources = new ";

-	protected final String TEXT_84 = "();" + NL + "" + NL + "\t/**" + NL + "\t * Resources that have been saved." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_85 = " savedResources = new ";

-	protected final String TEXT_86 = "();" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Map to store the diagnostic associated with a resource." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_87 = " resourceToDiagnosticMap = new ";

-	protected final String TEXT_88 = "();" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Controls whether the problem indication should be updated." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected boolean updateProblemIndication = true;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Adapter used to update the problem indication when resources are demanded loaded." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected EContentAdapter problemIndicationAdapter =" + NL

-			+ "\t\tnew EContentAdapter()" + NL + "\t\t{";

-	protected final String TEXT_89 = NL + "\t\t\t@Override";

-	protected final String TEXT_90 = NL + "\t\t\tpublic void notifyChanged(Notification notification)" + NL + "\t\t\t{"

-			+ NL + "\t\t\t\tif (notification.getNotifier() instanceof Resource)" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tswitch (notification.getFeatureID(Resource.class))" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\tcase Resource.RESOURCE__IS_LOADED:" + NL + "\t\t\t\t\t\tcase Resource.RESOURCE__ERRORS:"

-			+ NL + "\t\t\t\t\t\tcase Resource.RESOURCE__WARNINGS:" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\tResource resource = (Resource)notification.getNotifier();" + NL

-			+ "\t\t\t\t\t\t\tDiagnostic diagnostic = analyzeResourceProblems(resource, null);" + NL

-			+ "\t\t\t\t\t\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\t\tresourceToDiagnosticMap.put(resource, diagnostic);" + NL + "\t\t\t\t\t\t\t}" + NL

-			+ "\t\t\t\t\t\t\telse" + NL + "\t\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\t\tresourceToDiagnosticMap.remove(resource);" + NL + "\t\t\t\t\t\t\t}" + NL + "" + NL

-			+ "\t\t\t\t\t\t\tif (updateProblemIndication)" + NL + "\t\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL + "\t\t\t\t\t\t\t\t\t(new Runnable()"

-			+ NL + "\t\t\t\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t\t\t\t public void run()" + NL

-			+ "\t\t\t\t\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t\t\t\t\t updateProblemIndication();" + NL

-			+ "\t\t\t\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t\t\t\t });" + NL + "\t\t\t\t\t\t\t}" + NL

-			+ "\t\t\t\t\t\t\tbreak;" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tsuper.notifyChanged(notification);" + NL

-			+ "\t\t\t\t}" + NL + "\t\t\t}" + NL;

-	protected final String TEXT_91 = NL + "\t\t\t@Override";

-	protected final String TEXT_92 = NL + "\t\t\tprotected void setTarget(Resource target)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tbasicSetTarget(target);" + NL + "\t\t\t}" + NL;

-	protected final String TEXT_93 = NL + "\t\t\t@Override";

-	protected final String TEXT_94 = NL + "\t\t\tprotected void unsetTarget(Resource target)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tbasicUnsetTarget(target);" + NL + "\t\t\t\tresourceToDiagnosticMap.remove(target);" + NL

-			+ "\t\t\t\tif (updateProblemIndication)" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL + "\t\t\t\t\t\t(new Runnable()" + NL

-			+ "\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t\t\t {" + NL

-			+ "\t\t\t\t\t\t\t\t updateProblemIndication();" + NL + "\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t });" + NL

-			+ "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t};";

-	protected final String TEXT_95 = NL + NL + "\t/**" + NL + "\t * This listens for workspace changes." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected IResourceChangeListener resourceChangeListener =" + NL

-			+ "\t\tnew IResourceChangeListener()" + NL + "\t\t{" + NL

-			+ "\t\t\tpublic void resourceChanged(IResourceChangeEvent event)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tIResourceDelta delta = event.getDelta();" + NL + "\t\t\t\ttry" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tclass ResourceDeltaVisitor implements IResourceDeltaVisitor" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\tprotected ResourceSet resourceSet = editingDomain.getResourceSet();" + NL

-			+ "\t\t\t\t\t\tprotected ";

-	protected final String TEXT_96 = " changedResources = new ";

-	protected final String TEXT_97 = "();" + NL + "\t\t\t\t\t\tprotected ";

-	protected final String TEXT_98 = " removedResources = new ";

-	protected final String TEXT_99 = "();" + NL + "" + NL + "\t\t\t\t\t\tpublic boolean visit(";

-	protected final String TEXT_100 = "final ";

-	protected final String TEXT_101 = "IResourceDelta delta)" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\tif (delta.getResource().getType() == IResource.FILE)" + NL + "\t\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\t\tif (delta.getKind() == IResourceDelta.REMOVED ||" + NL

-			+ "\t\t\t\t\t\t\t\t    delta.getKind() == IResourceDelta.CHANGED";

-	protected final String TEXT_102 = " && delta.getFlags() != IResourceDelta.MARKERS";

-	protected final String TEXT_103 = ")" + NL + "\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t";

-	protected final String TEXT_104 = "final ";

-	protected final String TEXT_105 = "Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);"

-			+ NL

-			+ "\t\t\t\t\t\t\t\t\tif (resource != null)"

-			+ NL

-			+ "\t\t\t\t\t\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\t\t\t\t\t\tif (delta.getKind() == IResourceDelta.REMOVED)"

-			+ NL

-			+ "\t\t\t\t\t\t\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\t\t\t\t\t\t\tremovedResources.add(resource);" + NL + "\t\t\t\t\t\t\t\t\t\t}";

-	protected final String TEXT_106 = NL + "\t\t\t\t\t\t\t\t\t\telse if (!savedResources.remove(resource))" + NL

-			+ "\t\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\t\tchangedResources.add(resource);" + NL

-			+ "\t\t\t\t\t\t\t\t\t\t}";

-	protected final String TEXT_107 = NL + "\t\t\t\t\t\t\t\t\t\telse" + NL + "\t\t\t\t\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\t\t\t\t\tif ((delta.getFlags() & IResourceDelta.MARKERS) != 0)" + NL

-			+ "\t\t\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\t\t\t";

-	protected final String TEXT_108 = ".DiagnosticAdapter.update(resource, markerHelper.getMarkerDiagnostics(resource, (IFile)delta.getResource()));"

-			+ NL

-			+ "\t\t\t\t\t\t\t\t\t\t\t}"

-			+ NL

-			+ "\t\t\t\t\t\t\t\t\t\t\tif ((delta.getFlags() & IResourceDelta.CONTENT) != 0)"

-			+ NL

-			+ "\t\t\t\t\t\t\t\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\t\t\t\t\t\t\t\tif (!savedResources.remove(resource))"

-			+ NL

-			+ "\t\t\t\t\t\t\t\t\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\t\t\t\t\t\t\t\t\tchangedResources.add(resource);"

-			+ NL

-			+ "\t\t\t\t\t\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\t\t\t\t}";

-	protected final String TEXT_109 = NL + "\t\t\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\t\t}" + NL

-			+ "\t\t\t\t\t\t\t\treturn false;" + NL + "\t\t\t\t\t\t\t}" + NL + "" + NL + "\t\t\t\t\t\t\treturn true;"

-			+ NL + "\t\t\t\t\t\t}" + NL + "" + NL + "\t\t\t\t\t\tpublic ";

-	protected final String TEXT_110 = " getChangedResources()" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\treturn changedResources;" + NL + "\t\t\t\t\t\t}" + NL + "" + NL + "\t\t\t\t\t\tpublic ";

-	protected final String TEXT_111 = " getRemovedResources()" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\treturn removedResources;" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "" + NL

-			+ "\t\t\t\t\tfinal ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();" + NL

-			+ "\t\t\t\t\tdelta.accept(visitor);" + NL + "" + NL

-			+ "\t\t\t\t\tif (!visitor.getRemovedResources().isEmpty())" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL + "\t\t\t\t\t\t\t(new Runnable()" + NL

-			+ "\t\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t\t\t\t {" + NL

-			+ "\t\t\t\t\t\t\t\t\t removedResources.addAll(visitor.getRemovedResources());" + NL

-			+ "\t\t\t\t\t\t\t\t\t if (!isDirty())" + NL + "\t\t\t\t\t\t\t\t\t {" + NL

-			+ "\t\t\t\t\t\t\t\t\t\t getSite().getPage().closeEditor(";

-	protected final String TEXT_112 = ".this, false);" + NL + "\t\t\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t\t\t }" + NL

-			+ "\t\t\t\t\t\t\t });" + NL + "\t\t\t\t\t}" + NL + "" + NL

-			+ "\t\t\t\t\tif (!visitor.getChangedResources().isEmpty())" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL + "\t\t\t\t\t\t\t(new Runnable()" + NL

-			+ "\t\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t\t\t\t {" + NL

-			+ "\t\t\t\t\t\t\t\t\t changedResources.addAll(visitor.getChangedResources());" + NL

-			+ "\t\t\t\t\t\t\t\t\t if (getSite().getPage().getActiveEditor() == ";

-	protected final String TEXT_113 = ".this)" + NL + "\t\t\t\t\t\t\t\t\t {" + NL

-			+ "\t\t\t\t\t\t\t\t\t\t handleActivate();" + NL + "\t\t\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t\t\t }" + NL

-			+ "\t\t\t\t\t\t\t });" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t\tcatch (CoreException exception)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";

-	protected final String TEXT_114 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t};";

-	protected final String TEXT_115 = NL + NL + "\t/**" + NL

-			+ "\t * Handles activation of the editor or it's associated views." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected void handleActivate()" + NL + "\t{" + NL + "\t\t// Recompute the read only state." + NL

-			+ "\t\t//" + NL + "\t\tif (editingDomain.getResourceToReadOnlyMap() != null)" + NL + "\t\t{" + NL

-			+ "\t\t  editingDomain.getResourceToReadOnlyMap().clear();" + NL + "" + NL

-			+ "\t\t  // Refresh any actions that may become enabled or disabled." + NL + "\t\t  //" + NL

-			+ "\t\t  setSelection(getSelection());" + NL + "\t\t}" + NL + "" + NL

-			+ "\t\tif (!removedResources.isEmpty())" + NL + "\t\t{" + NL + "\t\t\tif (handleDirtyConflict())" + NL

-			+ "\t\t\t{" + NL + "\t\t\t\tgetSite().getPage().closeEditor(";

-	protected final String TEXT_116 = ".this, false);" + NL + "\t\t\t}" + NL + "\t\t\telse" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tremovedResources.clear();" + NL + "\t\t\t\tchangedResources.clear();" + NL

-			+ "\t\t\t\tsavedResources.clear();" + NL + "\t\t\t}" + NL + "\t\t}" + NL

-			+ "\t\telse if (!changedResources.isEmpty())" + NL + "\t\t{" + NL

-			+ "\t\t\tchangedResources.removeAll(savedResources);" + NL + "\t\t\thandleChangedResources();" + NL

-			+ "\t\t\tchangedResources.clear();" + NL + "\t\t\tsavedResources.clear();" + NL + "\t\t}" + NL + "\t}" + NL

-			+ "" + NL + "\t/**" + NL + "\t * Handles what to do with changed resources on activation." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected void handleChangedResources()" + NL + "\t{" + NL

-			+ "\t\tif (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict()))" + NL + "\t\t{" + NL

-			+ "\t\t\tif (isDirty())" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tchangedResources.addAll(editingDomain.getResourceSet().getResources());" + NL + "\t\t\t}" + NL

-			+ "\t\t\teditingDomain.getCommandStack().flush();" + NL + "" + NL

-			+ "\t\t\tupdateProblemIndication = false;";

-	protected final String TEXT_117 = NL + "\t\t\tfor (Resource resource : changedResources)";

-	protected final String TEXT_118 = NL + "\t\t\tfor (Iterator i = changedResources.iterator(); i.hasNext(); )";

-	protected final String TEXT_119 = NL + "\t\t\t{";

-	protected final String TEXT_120 = NL + "\t\t\t\tResource resource = (Resource)i.next();";

-	protected final String TEXT_121 = NL + "\t\t\t\tif (resource.isLoaded())" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tresource.unload();" + NL + "\t\t\t\t\ttry" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\tresource.load(Collections.EMPTY_MAP);" + NL + "\t\t\t\t\t}" + NL

-			+ "\t\t\t\t\tcatch (IOException exception)" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\tif (!resourceToDiagnosticMap.containsKey(resource))" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\tresourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));" + NL

-			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL;

-	protected final String TEXT_122 = NL + "\t\t\tif (AdapterFactoryEditingDomain.isStale(editorSelection))" + NL

-			+ "\t\t\t{" + NL + "\t\t\t\tsetSelection(StructuredSelection.EMPTY);" + NL + "\t\t\t}";

-	protected final String TEXT_123 = NL + NL + "\t\t\tupdateProblemIndication = true;" + NL

-			+ "\t\t\tupdateProblemIndication();" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Updates the problems indication with the information described in the specified diagnostic." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected void updateProblemIndication()" + NL + "\t{" + NL

-			+ "\t\tif (updateProblemIndication)" + NL + "\t\t{" + NL + "\t\t\tBasicDiagnostic diagnostic =" + NL

-			+ "\t\t\t\tnew BasicDiagnostic" + NL + "\t\t\t\t\t(Diagnostic.OK," + NL + "\t\t\t\t\t \"";

-	protected final String TEXT_124 = "\",";

-	protected final String TEXT_125 = NL + "\t\t\t\t\t 0," + NL + "\t\t\t\t\t null," + NL

-			+ "\t\t\t\t\t new Object [] { editingDomain.getResourceSet() });";

-	protected final String TEXT_126 = NL + "\t\t\tfor (Diagnostic childDiagnostic : resourceToDiagnosticMap.values())";

-	protected final String TEXT_127 = NL

-			+ "\t\t\tfor (Iterator i = resourceToDiagnosticMap.values().iterator(); i.hasNext(); )";

-	protected final String TEXT_128 = NL + "\t\t\t{";

-	protected final String TEXT_129 = NL + "\t\t\t\tDiagnostic childDiagnostic = (Diagnostic)i.next();";

-	protected final String TEXT_130 = NL + "\t\t\t\tif (childDiagnostic.getSeverity() != Diagnostic.OK)" + NL

-			+ "\t\t\t\t{" + NL + "\t\t\t\t\tdiagnostic.add(childDiagnostic);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL

-			+ "" + NL + "\t\t\tint lastEditorPage = getPageCount() - 1;" + NL

-			+ "\t\t\tif (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart)" + NL

-			+ "\t\t\t{" + NL + "\t\t\t\t((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);" + NL

-			+ "\t\t\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tsetActivePage(lastEditorPage);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL

-			+ "\t\t\telse if (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tProblemEditorPart problemEditorPart = new ProblemEditorPart();" + NL

-			+ "\t\t\t\tproblemEditorPart.setDiagnostic(diagnostic);";

-	protected final String TEXT_131 = NL + "\t\t\t\tproblemEditorPart.setMarkerHelper(markerHelper);";

-	protected final String TEXT_132 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\taddPage(++lastEditorPage, problemEditorPart, getEditorInput());" + NL

-			+ "\t\t\t\t\tsetPageText(lastEditorPage, problemEditorPart.getPartName());" + NL

-			+ "\t\t\t\t\tsetActivePage(lastEditorPage);" + NL + "\t\t\t\t\tshowTabs();" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t\tcatch (PartInitException exception)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";

-	protected final String TEXT_133 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}" + NL + "\t\t\t}";

-	protected final String TEXT_134 = NL + NL + "\t\t\tif (markerHelper.hasMarkers(editingDomain.getResourceSet()))"

-			+ NL + "\t\t\t{" + NL + "\t\t\t\tmarkerHelper.deleteMarkers(editingDomain.getResourceSet());" + NL

-			+ "\t\t\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\ttry" + NL

-			+ "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tmarkerHelper.createMarkers(diagnostic);" + NL + "\t\t\t\t\t}" + NL

-			+ "\t\t\t\t\tcatch (CoreException exception)" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\t";

-	protected final String TEXT_135 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t}";

-	protected final String TEXT_136 = NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Shows a dialog that asks if conflicting changes should be discarded." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected boolean handleDirtyConflict()" + NL + "\t{" + NL + "\t\treturn" + NL

-			+ "\t\t\tMessageDialog.openQuestion" + NL + "\t\t\t\t(getSite().getShell()," + NL

-			+ "\t\t\t\t getString(\"_UI_FileConflict_label\"),";

-	protected final String TEXT_137 = NL + "\t\t\t\t getString(\"_WARN_FileConflict\"));";

-	protected final String TEXT_138 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This creates a model editor."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_139 = "()" + NL + "\t{" + NL + "\t\tsuper();" + NL + "\t\tinitializeEditingDomain();"

-			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This sets up the editing domain for the model editor."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected void initializeEditingDomain()" + NL + "\t{" + NL

-			+ "\t\t// Create an adapter factory that yields item providers." + NL + "\t\t//" + NL

-			+ "\t\tadapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);"

-			+ NL + "" + NL + "\t\tadapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());";

-	protected final String TEXT_140 = NL;

-	protected final String TEXT_141 = NL

-			+ "\t\tadapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t\t// Create the command stack that will notify this editor as commands are executed."

-			+ NL

-			+ "\t\t//"

-			+ NL

-			+ "\t\tBasicCommandStack commandStack = new BasicCommandStack();"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t\t// Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus."

-			+ NL + "\t\t//" + NL + "\t\tcommandStack.addCommandStackListener" + NL

-			+ "\t\t\t(new CommandStackListener()" + NL + "\t\t\t {" + NL

-			+ "\t\t\t\t public void commandStackChanged(final EventObject event)" + NL + "\t\t\t\t {" + NL

-			+ "\t\t\t\t\t getContainer().getDisplay().asyncExec" + NL + "\t\t\t\t\t\t (new Runnable()" + NL

-			+ "\t\t\t\t\t\t  {" + NL + "\t\t\t\t\t\t\t  public void run()" + NL + "\t\t\t\t\t\t\t  {" + NL

-			+ "\t\t\t\t\t\t\t\t  firePropertyChange(IEditorPart.PROP_DIRTY);" + NL + "" + NL

-			+ "\t\t\t\t\t\t\t\t  // Try to select the affected objects." + NL + "\t\t\t\t\t\t\t\t  //" + NL

-			+ "\t\t\t\t\t\t\t\t  Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();"

-			+ NL + "\t\t\t\t\t\t\t\t  if (mostRecentCommand != null)" + NL + "\t\t\t\t\t\t\t\t  {" + NL

-			+ "\t\t\t\t\t\t\t\t\t  setSelectionToViewer(mostRecentCommand.getAffectedObjects());" + NL

-			+ "\t\t\t\t\t\t\t\t  }" + NL + "\t\t\t\t\t\t\t\t  for (Iterator";

-	protected final String TEXT_142 = "<PropertySheetPage>";

-	protected final String TEXT_143 = " i = propertySheetPages.iterator(); i.hasNext(); )" + NL + "\t\t\t\t\t\t\t\t  {"

-			+ NL + "\t\t\t\t\t\t\t\t\t  PropertySheetPage propertySheetPage = ";

-	protected final String TEXT_144 = "(PropertySheetPage)";

-	protected final String TEXT_145 = "i.next();" + NL

-			+ "\t\t\t\t\t\t\t\t\t  if (propertySheetPage.getControl().isDisposed())" + NL + "\t\t\t\t\t\t\t\t\t  {"

-			+ NL + "\t\t\t\t\t\t\t\t\t\t  i.remove();" + NL + "\t\t\t\t\t\t\t\t\t  }" + NL + "\t\t\t\t\t\t\t\t\t  else"

-			+ NL + "\t\t\t\t\t\t\t\t\t  {" + NL + "\t\t\t\t\t\t\t\t\t\t  propertySheetPage.refresh();" + NL

-			+ "\t\t\t\t\t\t\t\t\t  }" + NL + "\t\t\t\t\t\t\t\t  }" + NL + "\t\t\t\t\t\t\t  }" + NL

-			+ "\t\t\t\t\t\t  });" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL + "" + NL

-			+ "\t\t// Create the editing domain with a special command stack." + NL + "\t\t//" + NL

-			+ "\t\teditingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new ";

-	protected final String TEXT_146 = "());" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This is here for the listener to be able to call it." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_147 = NL + "\t\t\t@Override";

-	protected final String TEXT_148 = NL + "\tprotected void firePropertyChange(int action)" + NL + "\t{" + NL

-			+ "\t\tsuper.firePropertyChange(action);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This sets the selection into whichever viewer is active." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic void setSelectionToViewer(";

-	protected final String TEXT_149 = " collection)" + NL + "\t{" + NL + "\t\tfinal ";

-	protected final String TEXT_150 = " theSelection = collection;" + NL + "\t\t// Make sure it's okay." + NL

-			+ "\t\t//" + NL + "\t\tif (theSelection != null && !theSelection.isEmpty())" + NL + "\t\t{" + NL

-			+ "\t\t\tRunnable runnable =" + NL + "\t\t\t\tnew Runnable()" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tpublic void run()" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t// Try to select the items in the current content viewer of the editor." + NL

-			+ "\t\t\t\t\t\t//" + NL + "\t\t\t\t\t\tif (currentViewer != null)" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\tcurrentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);" + NL

-			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t};" + NL

-			+ "\t\t\tgetSite().getShell().getDisplay().asyncExec(runnable);" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL

-			+ "\t/**" + NL

-			+ "\t * This returns the editing domain as required by the {@link IEditingDomainProvider} interface." + NL

-			+ "\t * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}" + NL

-			+ "\t * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic EditingDomain getEditingDomain()" + NL + "\t{" + NL

-			+ "\t\treturn editingDomain;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider" + NL + "\t{"

-			+ NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL

-			+ "\t\t * @generated" + NL + "\t\t */" + NL

-			+ "\t\tpublic ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory)" + NL + "\t\t{" + NL

-			+ "\t\t\tsuper(adapterFactory);" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */";

-	protected final String TEXT_151 = NL + "\t\t@Override";

-	protected final String TEXT_152 = NL + "\t\tpublic Object [] getElements(Object object)" + NL + "\t\t{" + NL

-			+ "\t\t\tObject parent = super.getParent(object);" + NL

-			+ "\t\t\treturn (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();" + NL

-			+ "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";

-	protected final String TEXT_153 = NL + "\t\t@Override";

-	protected final String TEXT_154 = NL + "\t\tpublic Object [] getChildren(Object object)" + NL + "\t\t{" + NL

-			+ "\t\t\tObject parent = super.getParent(object);" + NL

-			+ "\t\t\treturn (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();" + NL

-			+ "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";

-	protected final String TEXT_155 = NL + "\t\t@Override";

-	protected final String TEXT_156 = NL + "\t\tpublic boolean hasChildren(Object object)" + NL + "\t\t{" + NL

-			+ "\t\t\tObject parent = super.getParent(object);" + NL + "\t\t\treturn parent != null;" + NL + "\t\t}"

-			+ NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->"

-			+ NL + "\t\t * @generated" + NL + "\t\t */";

-	protected final String TEXT_157 = NL + "\t\t@Override";

-	protected final String TEXT_158 = NL + "\t\tpublic Object getParent(Object object)" + NL + "\t\t{" + NL

-			+ "\t\t\treturn null;" + NL + "\t\t}" + NL + "\t}";

-	protected final String TEXT_159 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic void setCurrentViewerPane(ViewerPane viewerPane)" + NL + "\t{" + NL

-			+ "\t\tif (currentViewerPane != viewerPane)" + NL + "\t\t{" + NL + "\t\t\tif (currentViewerPane != null)"

-			+ NL + "\t\t\t{" + NL + "\t\t\t\tcurrentViewerPane.showFocus(false);" + NL + "\t\t\t}" + NL

-			+ "\t\t\tcurrentViewerPane = viewerPane;" + NL + "\t\t}" + NL

-			+ "\t\tsetCurrentViewer(currentViewerPane.getViewer());" + NL + "\t}";

-	protected final String TEXT_160 = NL

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,"

-			+ NL

-			+ "\t * is the current one."

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tpublic void setCurrentViewer(Viewer viewer)"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\t// If it is changing..."

-			+ NL

-			+ "\t\t//"

-			+ NL

-			+ "\t\tif (currentViewer != viewer)"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\tif (selectionChangedListener == null)"

-			+ NL

-			+ "\t\t\t{"

-			+ NL

-			+ "\t\t\t\t// Create the listener on demand."

-			+ NL

-			+ "\t\t\t\t//"

-			+ NL

-			+ "\t\t\t\tselectionChangedListener ="

-			+ NL

-			+ "\t\t\t\t\tnew ISelectionChangedListener()"

-			+ NL

-			+ "\t\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\t\t// This just notifies those things that are affected by the section."

-			+ NL

-			+ "\t\t\t\t\t\t//"

-			+ NL

-			+ "\t\t\t\t\t\tpublic void selectionChanged(SelectionChangedEvent selectionChangedEvent)"

-			+ NL

-			+ "\t\t\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\t\t\tsetSelection(selectionChangedEvent.getSelection());"

-			+ NL

-			+ "\t\t\t\t\t\t}"

-			+ NL

-			+ "\t\t\t\t\t};"

-			+ NL

-			+ "\t\t\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t\t\t// Stop listening to the old one."

-			+ NL

-			+ "\t\t\t//"

-			+ NL

-			+ "\t\t\tif (currentViewer != null)"

-			+ NL

-			+ "\t\t\t{"

-			+ NL

-			+ "\t\t\t\tcurrentViewer.removeSelectionChangedListener(selectionChangedListener);"

-			+ NL

-			+ "\t\t\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t\t\t// Start listening to the new one."

-			+ NL

-			+ "\t\t\t//"

-			+ NL

-			+ "\t\t\tif (viewer != null)"

-			+ NL

-			+ "\t\t\t{"

-			+ NL

-			+ "\t\t\t\tviewer.addSelectionChangedListener(selectionChangedListener);"

-			+ NL

-			+ "\t\t\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t\t\t// Remember it."

-			+ NL

-			+ "\t\t\t//"

-			+ NL

-			+ "\t\t\tcurrentViewer = viewer;"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t\t\t// Set the editors selection based on the current viewer's selection."

-			+ NL

-			+ "\t\t\t//"

-			+ NL

-			+ "\t\t\tsetSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This returns the viewer as required by the {@link IViewerProvider} interface."

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tpublic Viewer getViewer()"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\treturn currentViewer;"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This creates a context menu for the viewer and adds a listener as well registering the menu for extension."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected void createContextMenuFor(StructuredViewer viewer)" + NL + "\t{" + NL

-			+ "\t\tMenuManager contextMenu = new MenuManager(\"#PopUp\");";

-	protected final String TEXT_161 = NL + "\t\tcontextMenu.add(new Separator(\"additions\"));";

-	protected final String TEXT_162 = NL + "\t\tcontextMenu.setRemoveAllWhenShown(true);" + NL

-			+ "\t\tcontextMenu.addMenuListener(this);" + NL

-			+ "\t\tMenu menu= contextMenu.createContextMenu(viewer.getControl());" + NL

-			+ "\t\tviewer.getControl().setMenu(menu);";

-	protected final String TEXT_163 = NL

-			+ "\t\tgetSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));";

-	protected final String TEXT_164 = NL + "\t\tgetSite().registerContextMenu(contextMenu, viewer);";

-	protected final String TEXT_165 = NL + NL

-			+ "\t\tint dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;" + NL

-			+ "\t\tTransfer[] transfers = new Transfer[] { LocalTransfer.getInstance()";

-	protected final String TEXT_166 = ", LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance()";

-	protected final String TEXT_167 = " };"

-			+ NL

-			+ "\t\tviewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));"

-			+ NL

-			+ "\t\tviewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This is the method called to load a resource into the editing domain's resource set based on the editor's input."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void createModel()" + NL + "\t{";

-	protected final String TEXT_168 = NL + "\t\tURI resourceURI = EditUIUtil.getURI(getEditorInput());";

-	protected final String TEXT_169 = NL + "\t\tURI resourceURI = URI.createURI(getEditorInput().getName());";

-	protected final String TEXT_170 = NL

-			+ "\t\t// Assumes that the input is a file object."

-			+ NL

-			+ "\t\t//"

-			+ NL

-			+ "\t\tIFileEditorInput modelFile = (IFileEditorInput)getEditorInput();"

-			+ NL

-			+ "\t\tURI resourceURI = URI.createPlatformResourceURI(modelFile.getFile().getFullPath().toString(), true);";

-	protected final String TEXT_171 = NL + "\t\tException exception = null;" + NL + "\t\tResource resource = null;"

-			+ NL + "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t// Load the resource through the editing domain." + NL

-			+ "\t\t\t//" + NL + "\t\t\tresource = editingDomain.getResourceSet().getResource(resourceURI, true);" + NL

-			+ "\t\t}" + NL + "\t\tcatch (Exception e)" + NL + "\t\t{" + NL + "\t\t\texception = e;" + NL

-			+ "\t\t\tresource = editingDomain.getResourceSet().getResource(resourceURI, false);" + NL + "\t\t}" + NL

-			+ "" + NL + "\t\tDiagnostic diagnostic = analyzeResourceProblems(resource, exception);" + NL

-			+ "\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t{" + NL

-			+ "\t\t\tresourceToDiagnosticMap.put(resource,  analyzeResourceProblems(resource, exception));" + NL

-			+ "\t\t}" + NL + "\t\teditingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);" + NL

-			+ "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Returns a diagnostic describing the errors and warnings listed in the resource" + NL

-			+ "\t * and the specified exception (if any)." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic Diagnostic analyzeResourceProblems(Resource resource, Exception exception)" + NL + "\t{" + NL

-			+ "\t\tif (!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty())" + NL + "\t\t{" + NL

-			+ "\t\t\tBasicDiagnostic basicDiagnostic =" + NL + "\t\t\t\tnew BasicDiagnostic" + NL

-			+ "\t\t\t\t\t(Diagnostic.ERROR," + NL + "\t\t\t\t\t \"";

-	protected final String TEXT_172 = "\",";

-	protected final String TEXT_173 = NL + "\t\t\t\t\t 0," + NL

-			+ "\t\t\t\t\t getString(\"_UI_CreateModelError_message\", resource.getURI()),";

-	protected final String TEXT_174 = NL

-			+ "\t\t\t\t\t new Object [] { exception == null ? (Object)resource : exception });" + NL

-			+ "\t\t\tbasicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));" + NL

-			+ "\t\t\treturn basicDiagnostic;" + NL + "\t\t}" + NL + "\t\telse if (exception != null)" + NL + "\t\t{"

-			+ NL + "\t\t\treturn" + NL + "\t\t\t\tnew BasicDiagnostic" + NL + "\t\t\t\t\t(Diagnostic.ERROR," + NL

-			+ "\t\t\t\t\t \"";

-	protected final String TEXT_175 = "\",";

-	protected final String TEXT_176 = NL + "\t\t\t\t\t 0," + NL

-			+ "\t\t\t\t\t getString(\"_UI_CreateModelError_message\", resource.getURI()),";

-	protected final String TEXT_177 = NL + "\t\t\t\t\t new Object[] { exception });" + NL + "\t\t}" + NL + "\t\telse"

-			+ NL + "\t\t{" + NL + "\t\t\treturn Diagnostic.OK_INSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL

-			+ "\t/**" + NL + "\t * This is the method used by the framework to install your own controls." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_178 = NL + "\t@Override";

-	protected final String TEXT_179 = NL + "\tpublic void createPages()" + NL + "\t{" + NL

-			+ "\t\t// Creates the model from the editor input" + NL + "\t\t//" + NL + "\t\tcreateModel();" + NL + ""

-			+ NL + "\t\t// Only creates the other pages if there is something that can be edited" + NL + "\t\t//" + NL

-			+ "\t\tif (!getEditingDomain().getResourceSet().getResources().isEmpty())" + NL + "\t\t{" + NL

-			+ "\t\t\t// Create a page for the selection tree view." + NL + "\t\t\t//";

-	protected final String TEXT_180 = NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL

-			+ "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";

-	protected final String TEXT_181 = ".this)" + NL + "\t\t\t\t\t{";

-	protected final String TEXT_182 = NL + "\t\t\t\t\t\t@Override";

-	protected final String TEXT_183 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL

-			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tTree tree = new Tree(composite, SWT.MULTI);" + NL

-			+ "\t\t\t\t\t\t\tTreeViewer newTreeViewer = new TreeViewer(tree);" + NL

-			+ "\t\t\t\t\t\t\treturn newTreeViewer;" + NL + "\t\t\t\t\t\t}";

-	protected final String TEXT_184 = NL + "\t\t\t\t\t\t@Override";

-	protected final String TEXT_185 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL

-			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL

-			+ "" + NL + "\t\t\t\tselectionViewer = (TreeViewer)viewerPane.getViewer();" + NL

-			+ "\t\t\t\tselectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL

-			+ "" + NL + "\t\t\t\tselectionViewer.setLabelProvider(";

-	protected final String TEXT_186 = "new ";

-	protected final String TEXT_187 = "(";

-	protected final String TEXT_188 = "new ";

-	protected final String TEXT_189 = "(";

-	protected final String TEXT_190 = "new ";

-	protected final String TEXT_191 = "(adapterFactory";

-	protected final String TEXT_192 = ", selectionViewer";

-	protected final String TEXT_193 = ")";

-	protected final String TEXT_194 = ", new ";

-	protected final String TEXT_195 = "(editingDomain";

-	protected final String TEXT_196 = ".getResourceSet()";

-	protected final String TEXT_197 = ", selectionViewer";

-	protected final String TEXT_198 = ", ";

-	protected final String TEXT_199 = ".getPlugin().getDialogSettings()";

-	protected final String TEXT_200 = "))";

-	protected final String TEXT_201 = ")";

-	protected final String TEXT_202 = ");"

-			+ NL

-			+ "\t\t\t\tselectionViewer.setInput(editingDomain.getResourceSet());"

-			+ NL

-			+ "\t\t\t\tselectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);"

-			+ NL + "\t\t\t\tviewerPane.setTitle(editingDomain.getResourceSet());" + NL + "" + NL

-			+ "\t\t\t\tnew AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);";

-	protected final String TEXT_203 = NL + "\t\t\t\tnew ";

-	protected final String TEXT_204 = "(selectionViewer, new ";

-	protected final String TEXT_205 = ".EditingDomainLocationListener(editingDomain, selectionViewer));";

-	protected final String TEXT_206 = NL + NL + "\t\t\t\tcreateContextMenuFor(selectionViewer);" + NL

-			+ "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL

-			+ "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_SelectionPage_label\"));";

-	protected final String TEXT_207 = NL + "\t\t\t}" + NL + "" + NL

-			+ "\t\t\t// Create a page for the parent tree view." + NL + "\t\t\t//" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tViewerPane viewerPane =" + NL + "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";

-	protected final String TEXT_208 = ".this)" + NL + "\t\t\t\t\t{";

-	protected final String TEXT_209 = NL + "\t\t\t\t\t\t@Override";

-	protected final String TEXT_210 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL

-			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tTree tree = new Tree(composite, SWT.MULTI);" + NL

-			+ "\t\t\t\t\t\t\tTreeViewer newTreeViewer = new TreeViewer(tree);" + NL

-			+ "\t\t\t\t\t\t\treturn newTreeViewer;" + NL + "\t\t\t\t\t\t}";

-	protected final String TEXT_211 = NL + "\t\t\t\t\t\t@Override";

-	protected final String TEXT_212 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL

-			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL

-			+ "" + NL + "\t\t\t\tparentViewer = (TreeViewer)viewerPane.getViewer();" + NL

-			+ "\t\t\t\tparentViewer.setAutoExpandLevel(30);" + NL

-			+ "\t\t\t\tparentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));" + NL

-			+ "\t\t\t\tparentViewer.setLabelProvider(";

-	protected final String TEXT_213 = "new ";

-	protected final String TEXT_214 = "(";

-	protected final String TEXT_215 = "new ";

-	protected final String TEXT_216 = "(adapterFactory";

-	protected final String TEXT_217 = ", parentViewer";

-	protected final String TEXT_218 = ")";

-	protected final String TEXT_219 = ")";

-	protected final String TEXT_220 = ");" + NL + "" + NL + "\t\t\t\tcreateContextMenuFor(parentViewer);" + NL

-			+ "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL

-			+ "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_ParentPage_label\"));";

-	protected final String TEXT_221 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t// This is the page for the list viewer"

-			+ NL + "\t\t\t//" + NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL

-			+ "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";

-	protected final String TEXT_222 = ".this)" + NL + "\t\t\t\t\t{";

-	protected final String TEXT_223 = NL + "\t\t\t\t\t\t@Override";

-	protected final String TEXT_224 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL

-			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\treturn new ListViewer(composite);" + NL + "\t\t\t\t\t\t}";

-	protected final String TEXT_225 = NL + "\t\t\t\t\t\t@Override";

-	protected final String TEXT_226 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL

-			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL

-			+ "\t\t\t\tlistViewer = (ListViewer)viewerPane.getViewer();" + NL

-			+ "\t\t\t\tlistViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL

-			+ "\t\t\t\tlistViewer.setLabelProvider(";

-	protected final String TEXT_227 = "new ";

-	protected final String TEXT_228 = "(";

-	protected final String TEXT_229 = "new ";

-	protected final String TEXT_230 = "(adapterFactory";

-	protected final String TEXT_231 = ", listViewer";

-	protected final String TEXT_232 = ")";

-	protected final String TEXT_233 = ")";

-	protected final String TEXT_234 = ");" + NL + "" + NL + "\t\t\t\tcreateContextMenuFor(listViewer);" + NL

-			+ "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL

-			+ "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_ListPage_label\"));";

-	protected final String TEXT_235 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t// This is the page for the tree viewer"

-			+ NL + "\t\t\t//" + NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL

-			+ "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";

-	protected final String TEXT_236 = ".this)" + NL + "\t\t\t\t\t{";

-	protected final String TEXT_237 = NL + "\t\t\t\t\t\t@Override";

-	protected final String TEXT_238 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL

-			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\treturn new TreeViewer(composite);" + NL + "\t\t\t\t\t\t}";

-	protected final String TEXT_239 = NL + "\t\t\t\t\t\t@Override";

-	protected final String TEXT_240 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL

-			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL

-			+ "\t\t\t\ttreeViewer = (TreeViewer)viewerPane.getViewer();" + NL

-			+ "\t\t\t\ttreeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL

-			+ "\t\t\t\ttreeViewer.setLabelProvider(";

-	protected final String TEXT_241 = "new ";

-	protected final String TEXT_242 = "(";

-	protected final String TEXT_243 = "new ";

-	protected final String TEXT_244 = "(";

-	protected final String TEXT_245 = "new ";

-	protected final String TEXT_246 = "(adapterFactory";

-	protected final String TEXT_247 = ", treeViewer";

-	protected final String TEXT_248 = ")";

-	protected final String TEXT_249 = ", new ";

-	protected final String TEXT_250 = "(editingDomain";

-	protected final String TEXT_251 = ".getResourceSet()";

-	protected final String TEXT_252 = ", treeViewer))";

-	protected final String TEXT_253 = ")";

-	protected final String TEXT_254 = ");" + NL + "" + NL

-			+ "\t\t\t\tnew AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);";

-	protected final String TEXT_255 = NL + "\t\t\t\tnew ";

-	protected final String TEXT_256 = "(treeViewer, new ";

-	protected final String TEXT_257 = ".EditingDomainLocationListener(editingDomain, treeViewer));";

-	protected final String TEXT_258 = NL + NL + "\t\t\t\tcreateContextMenuFor(treeViewer);" + NL

-			+ "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL

-			+ "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_TreePage_label\"));";

-	protected final String TEXT_259 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t// This is the page for the table viewer."

-			+ NL + "\t\t\t//" + NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL

-			+ "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";

-	protected final String TEXT_260 = ".this)" + NL + "\t\t\t\t\t{";

-	protected final String TEXT_261 = NL + "\t\t\t\t\t\t@Override";

-	protected final String TEXT_262 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL

-			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\treturn new TableViewer(composite);" + NL + "\t\t\t\t\t\t}";

-	protected final String TEXT_263 = NL + "\t\t\t\t\t\t@Override";

-	protected final String TEXT_264 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL

-			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL

-			+ "\t\t\t\ttableViewer = (TableViewer)viewerPane.getViewer();" + NL + "" + NL

-			+ "\t\t\t\tTable table = tableViewer.getTable();" + NL + "\t\t\t\tTableLayout layout = new TableLayout();"

-			+ NL + "\t\t\t\ttable.setLayout(layout);" + NL + "\t\t\t\ttable.setHeaderVisible(true);" + NL

-			+ "\t\t\t\ttable.setLinesVisible(true);" + NL + "" + NL

-			+ "\t\t\t\tTableColumn objectColumn = new TableColumn(table, SWT.NONE);" + NL

-			+ "\t\t\t\tlayout.addColumnData(new ColumnWeightData(3, 100, true));" + NL

-			+ "\t\t\t\tobjectColumn.setText(getString(\"_UI_ObjectColumn_label\"));";

-	protected final String TEXT_265 = NL + "\t\t\t\tobjectColumn.setResizable(true);" + NL + "" + NL

-			+ "\t\t\t\tTableColumn selfColumn = new TableColumn(table, SWT.NONE);" + NL

-			+ "\t\t\t\tlayout.addColumnData(new ColumnWeightData(2, 100, true));" + NL

-			+ "\t\t\t\tselfColumn.setText(getString(\"_UI_SelfColumn_label\"));";

-	protected final String TEXT_266 = NL + "\t\t\t\tselfColumn.setResizable(true);" + NL + "" + NL

-			+ "\t\t\t\ttableViewer.setColumnProperties(new String [] {\"a\", \"b\"});";

-	protected final String TEXT_267 = NL

-			+ "\t\t\t\ttableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL

-			+ "\t\t\t\ttableViewer.setLabelProvider(";

-	protected final String TEXT_268 = "new ";

-	protected final String TEXT_269 = "(";

-	protected final String TEXT_270 = "new ";

-	protected final String TEXT_271 = "(";

-	protected final String TEXT_272 = "new ";

-	protected final String TEXT_273 = "(adapterFactory";

-	protected final String TEXT_274 = ", tableViewer";

-	protected final String TEXT_275 = ")";

-	protected final String TEXT_276 = ", new ";

-	protected final String TEXT_277 = "(editingDomain";

-	protected final String TEXT_278 = ".getResourceSet()";

-	protected final String TEXT_279 = ", tableViewer";

-	protected final String TEXT_280 = ", ";

-	protected final String TEXT_281 = ".getPlugin().getDialogSettings()";

-	protected final String TEXT_282 = "))";

-	protected final String TEXT_283 = ")";

-	protected final String TEXT_284 = ");" + NL;

-	protected final String TEXT_285 = NL + "\t\t\t\tnew ";

-	protected final String TEXT_286 = "(tableViewer, new ";

-	protected final String TEXT_287 = ".EditingDomainLocationListener(editingDomain, tableViewer));" + NL;

-	protected final String TEXT_288 = NL + "\t\t\t\tcreateContextMenuFor(tableViewer);" + NL

-			+ "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL

-			+ "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_TablePage_label\"));";

-	protected final String TEXT_289 = NL + "\t\t\t}" + NL + "" + NL

-			+ "\t\t\t// This is the page for the table tree viewer." + NL + "\t\t\t//" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tViewerPane viewerPane =" + NL + "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";

-	protected final String TEXT_290 = ".this)" + NL + "\t\t\t\t\t{";

-	protected final String TEXT_291 = NL + "\t\t\t\t\t\t@Override";

-	protected final String TEXT_292 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL

-			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\treturn new TreeViewer(composite);" + NL + "\t\t\t\t\t\t}";

-	protected final String TEXT_293 = NL + "\t\t\t\t\t\t@Override";

-	protected final String TEXT_294 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL

-			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL

-			+ "" + NL + "\t\t\t\ttreeViewerWithColumns = (TreeViewer)viewerPane.getViewer();" + NL + "" + NL

-			+ "\t\t\t\tTree tree = treeViewerWithColumns.getTree();" + NL

-			+ "\t\t\t\ttree.setLayoutData(new FillLayout());" + NL + "\t\t\t\ttree.setHeaderVisible(true);" + NL

-			+ "\t\t\t\ttree.setLinesVisible(true);" + NL + "" + NL

-			+ "\t\t\t\tTreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);" + NL

-			+ "\t\t\t\tobjectColumn.setText(getString(\"_UI_ObjectColumn_label\"));";

-	protected final String TEXT_295 = NL + "\t\t\t\tobjectColumn.setResizable(true);" + NL

-			+ "\t\t\t\tobjectColumn.setWidth(250);" + NL + "" + NL

-			+ "\t\t\t\tTreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);" + NL

-			+ "\t\t\t\tselfColumn.setText(getString(\"_UI_SelfColumn_label\"));";

-	protected final String TEXT_296 = NL + "\t\t\t\tselfColumn.setResizable(true);" + NL

-			+ "\t\t\t\tselfColumn.setWidth(200);" + NL + "" + NL

-			+ "\t\t\t\ttreeViewerWithColumns.setColumnProperties(new String [] {\"a\", \"b\"});";

-	protected final String TEXT_297 = NL

-			+ "\t\t\t\ttreeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));"

-			+ NL + "\t\t\t\ttreeViewerWithColumns.setLabelProvider(";

-	protected final String TEXT_298 = "new ";

-	protected final String TEXT_299 = "(";

-	protected final String TEXT_300 = "new ";

-	protected final String TEXT_301 = "(";

-	protected final String TEXT_302 = "new ";

-	protected final String TEXT_303 = "(adapterFactory";

-	protected final String TEXT_304 = ", treeViewerWithColumns";

-	protected final String TEXT_305 = ")";

-	protected final String TEXT_306 = ", new ";

-	protected final String TEXT_307 = "(editingDomain";

-	protected final String TEXT_308 = ".getResourceSet()";

-	protected final String TEXT_309 = ", treeViewerWithColumns";

-	protected final String TEXT_310 = ", ";

-	protected final String TEXT_311 = ".getPlugin().getDialogSettings()";

-	protected final String TEXT_312 = "))";

-	protected final String TEXT_313 = ")";

-	protected final String TEXT_314 = ");" + NL;

-	protected final String TEXT_315 = NL + "\t\t\t\tnew ";

-	protected final String TEXT_316 = "(treeViewerWithColumns, new ";

-	protected final String TEXT_317 = ".EditingDomainLocationListener(editingDomain, treeViewerWithColumns));" + NL;

-	protected final String TEXT_318 = NL + "\t\t\t\tcreateContextMenuFor(treeViewerWithColumns);" + NL

-			+ "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL

-			+ "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_TreeWithColumnsPage_label\"));";

-	protected final String TEXT_319 = NL + "\t\t\t}";

-	protected final String TEXT_320 = NL + "\t\t\tTree tree = new Tree(getContainer(), SWT.MULTI);" + NL

-			+ "\t\t\tselectionViewer = new TreeViewer(tree);" + NL + "\t\t\tsetCurrentViewer(selectionViewer);" + NL

-			+ "" + NL + "\t\t\tselectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));"

-			+ NL + "\t\t\tselectionViewer.setLabelProvider(";

-	protected final String TEXT_321 = "new ";

-	protected final String TEXT_322 = "(";

-	protected final String TEXT_323 = "new ";

-	protected final String TEXT_324 = "(";

-	protected final String TEXT_325 = "new ";

-	protected final String TEXT_326 = "(adapterFactory";

-	protected final String TEXT_327 = ", selectionViewer";

-	protected final String TEXT_328 = ")";

-	protected final String TEXT_329 = ", new ";

-	protected final String TEXT_330 = "(editingDomain";

-	protected final String TEXT_331 = ".getResourceSet()";

-	protected final String TEXT_332 = ", selectionViewer";

-	protected final String TEXT_333 = ", ";

-	protected final String TEXT_334 = ".getPlugin().getDialogSettings()";

-	protected final String TEXT_335 = "))";

-	protected final String TEXT_336 = ")";

-	protected final String TEXT_337 = ");"

-			+ NL

-			+ "\t\t\tselectionViewer.setInput(editingDomain.getResourceSet());"

-			+ NL

-			+ "\t\t\tselectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);"

-			+ NL + "" + NL + "\t\t\tnew AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);";

-	protected final String TEXT_338 = NL + "\t\t\tnew ";

-	protected final String TEXT_339 = "(selectionViewer, new ";

-	protected final String TEXT_340 = ".EditingDomainLocationListener(editingDomain, selectionViewer));";

-	protected final String TEXT_341 = NL + NL + "\t\t\tcreateContextMenuFor(selectionViewer);" + NL

-			+ "\t\t\tint pageIndex = addPage(tree);" + NL

-			+ "\t\t\tsetPageText(pageIndex, getString(\"_UI_SelectionPage_label\"));";

-	protected final String TEXT_342 = NL + NL + "\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL

-			+ "\t\t\t\t(new Runnable()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t {"

-			+ NL + "\t\t\t\t\t\t setActivePage(0);" + NL + "\t\t\t\t\t }" + NL + "\t\t\t\t });" + NL + "\t\t}" + NL

-			+ "" + NL + "\t\t// Ensures that this editor will only display the page's tab" + NL

-			+ "\t\t// area if there are more than one page" + NL + "\t\t//" + NL

-			+ "\t\tgetContainer().addControlListener" + NL + "\t\t\t(new ControlAdapter()" + NL + "\t\t\t {" + NL

-			+ "\t\t\t\tboolean guard = false;";

-	protected final String TEXT_343 = NL + "\t\t\t\t@Override";

-	protected final String TEXT_344 = NL + "\t\t\t\tpublic void controlResized(ControlEvent event)" + NL + "\t\t\t\t{"

-			+ NL + "\t\t\t\t\tif (!guard)" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tguard = true;" + NL

-			+ "\t\t\t\t\t\thideTabs();" + NL + "\t\t\t\t\t\tguard = false;" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}"

-			+ NL + "\t\t\t });" + NL + "" + NL + "\t\tgetSite().getShell().getDisplay().asyncExec" + NL

-			+ "\t\t\t(new Runnable()" + NL + "\t\t\t {" + NL + "\t\t\t\t public void run()" + NL + "\t\t\t\t {" + NL

-			+ "\t\t\t\t\t updateProblemIndication();" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL + "\t}" + NL + ""

-			+ NL + "\t/**" + NL + "\t * If there is just one page in the multi-page editor part," + NL

-			+ "\t * this hides the single tab at the bottom." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void hideTabs()"

-			+ NL + "\t{" + NL + "\t\tif (getPageCount() <= 1)" + NL + "\t\t{" + NL + "\t\t\tsetPageText(0, \"\");";

-	protected final String TEXT_345 = NL + "\t\t\tif (getContainer() instanceof CTabFolder)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t((CTabFolder)getContainer()).setTabHeight(1);" + NL

-			+ "\t\t\t\tPoint point = getContainer().getSize();" + NL

-			+ "\t\t\t\tgetContainer().setSize(point.x, point.y + 6);" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL

-			+ "" + NL + "\t/**" + NL + "\t * If there is more than one page in the multi-page editor part," + NL

-			+ "\t * this shows the tabs at the bottom." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void showTabs()"

-			+ NL + "\t{" + NL + "\t\tif (getPageCount() > 1)" + NL + "\t\t{" + NL

-			+ "\t\t\tsetPageText(0, getString(\"_UI_SelectionPage_label\"));";

-	protected final String TEXT_346 = NL + "\t\t\tif (getContainer() instanceof CTabFolder)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);" + NL

-			+ "\t\t\t\tPoint point = getContainer().getSize();" + NL

-			+ "\t\t\t\tgetContainer().setSize(point.x, point.y - 6);" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL

-			+ "" + NL + "\t/**" + NL + "\t * This is used to track the active viewer." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_347 = NL + "\t@Override";

-	protected final String TEXT_348 = NL + "\tprotected void pageChange(int pageIndex)" + NL + "\t{" + NL

-			+ "\t\tsuper.pageChange(pageIndex);" + NL + "" + NL + "\t\tif (contentOutlinePage != null)" + NL + "\t\t{"

-			+ NL + "\t\t\thandleContentOutlineSelection(contentOutlinePage.getSelection());" + NL + "\t\t}" + NL

-			+ "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This is how the framework determines which interfaces we implement." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_349 = NL + "\t@SuppressWarnings(\"";

-	protected final String TEXT_350 = "rawtypes";

-	protected final String TEXT_351 = "unchecked";

-	protected final String TEXT_352 = "\")";

-	protected final String TEXT_353 = NL + "\t@Override";

-	protected final String TEXT_354 = NL + "\tpublic Object getAdapter(Class key)" + NL + "\t{" + NL

-			+ "\t\tif (key.equals(IContentOutlinePage.class))" + NL + "\t\t{" + NL

-			+ "\t\t\treturn showOutlineView() ? getContentOutlinePage() : null;" + NL + "\t\t}" + NL

-			+ "\t\telse if (key.equals(IPropertySheetPage.class))" + NL + "\t\t{" + NL

-			+ "\t\t\treturn getPropertySheetPage();" + NL + "\t\t}";

-	protected final String TEXT_355 = NL + "\t\telse if (key.equals(IGotoMarker.class))" + NL + "\t\t{" + NL

-			+ "\t\t\treturn this;" + NL + "\t\t}";

-	protected final String TEXT_356 = NL + "\t\telse" + NL + "\t\t{" + NL + "\t\t\treturn super.getAdapter(key);" + NL

-			+ "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This accesses a cached version of the content outliner." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic IContentOutlinePage getContentOutlinePage()" + NL + "\t{" + NL

-			+ "\t\tif (contentOutlinePage == null)" + NL + "\t\t{" + NL

-			+ "\t\t\t// The content outline is just a tree." + NL + "\t\t\t//" + NL

-			+ "\t\t\tclass MyContentOutlinePage extends ContentOutlinePage" + NL + "\t\t\t{";

-	protected final String TEXT_357 = NL + "\t\t\t\t@Override";

-	protected final String TEXT_358 = NL + "\t\t\t\tpublic void createControl(Composite parent)" + NL + "\t\t\t\t{"

-			+ NL + "\t\t\t\t\tsuper.createControl(parent);" + NL + "\t\t\t\t\tcontentOutlineViewer = getTreeViewer();"

-			+ NL + "\t\t\t\t\tcontentOutlineViewer.addSelectionChangedListener(this);" + NL + "" + NL

-			+ "\t\t\t\t\t// Set up the tree viewer." + NL + "\t\t\t\t\t//" + NL

-			+ "\t\t\t\t\tcontentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));"

-			+ NL + "\t\t\t\t\tcontentOutlineViewer.setLabelProvider(";

-	protected final String TEXT_359 = "new ";

-	protected final String TEXT_360 = "(";

-	protected final String TEXT_361 = "new ";

-	protected final String TEXT_362 = "(";

-	protected final String TEXT_363 = "new ";

-	protected final String TEXT_364 = "(adapterFactory";

-	protected final String TEXT_365 = ", contentOutlineViewer";

-	protected final String TEXT_366 = ")";

-	protected final String TEXT_367 = ", new ";

-	protected final String TEXT_368 = "(editingDomain";

-	protected final String TEXT_369 = ".getResourceSet()";

-	protected final String TEXT_370 = ", contentOutlineViewer";

-	protected final String TEXT_371 = ", ";

-	protected final String TEXT_372 = ".getPlugin().getDialogSettings()";

-	protected final String TEXT_373 = "))";

-	protected final String TEXT_374 = ")";

-	protected final String TEXT_375 = ");" + NL

-			+ "\t\t\t\t\tcontentOutlineViewer.setInput(editingDomain.getResourceSet());" + NL;

-	protected final String TEXT_376 = NL + "\t\t\t\t\tnew ";

-	protected final String TEXT_377 = "(contentOutlineViewer, new ";

-	protected final String TEXT_378 = ".EditingDomainLocationListener(editingDomain, contentOutlineViewer));" + NL;

-	protected final String TEXT_379 = NL

-			+ "\t\t\t\t\t// Make sure our popups work."

-			+ NL

-			+ "\t\t\t\t\t//"

-			+ NL

-			+ "\t\t\t\t\tcreateContextMenuFor(contentOutlineViewer);"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t\t\t\t\tif (!editingDomain.getResourceSet().getResources().isEmpty())"

-			+ NL

-			+ "\t\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\t  // Select the root object in the view."

-			+ NL

-			+ "\t\t\t\t\t  //"

-			+ NL

-			+ "\t\t\t\t\t  contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);"

-			+ NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL;

-	protected final String TEXT_380 = NL + "\t\t\t\t@Override";

-	protected final String TEXT_381 = NL

-			+ "\t\t\t\tpublic void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager)"

-			+ NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tsuper.makeContributions(menuManager, toolBarManager, statusLineManager);" + NL

-			+ "\t\t\t\t\tcontentOutlineStatusLineManager = statusLineManager;" + NL + "\t\t\t\t}" + NL;

-	protected final String TEXT_382 = NL + "\t\t\t\t@Override";

-	protected final String TEXT_383 = NL + "\t\t\t\tpublic void setActionBars(IActionBars actionBars)" + NL

-			+ "\t\t\t\t{" + NL + "\t\t\t\t\tsuper.setActionBars(actionBars);" + NL

-			+ "\t\t\t\t\tgetActionBarContributor().shareGlobalActions(this, actionBars);" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t}" + NL + "" + NL + "\t\t\tcontentOutlinePage = new MyContentOutlinePage();" + NL + "" + NL

-			+ "\t\t\t// Listen to selection so that we can handle it is a special way." + NL + "\t\t\t//" + NL

-			+ "\t\t\tcontentOutlinePage.addSelectionChangedListener" + NL + "\t\t\t\t(new ISelectionChangedListener()"

-			+ NL + "\t\t\t\t {" + NL + "\t\t\t\t\t // This ensures that we handle selections correctly." + NL

-			+ "\t\t\t\t\t //" + NL + "\t\t\t\t\t public void selectionChanged(SelectionChangedEvent event)" + NL

-			+ "\t\t\t\t\t {" + NL + "\t\t\t\t\t\t handleContentOutlineSelection(event.getSelection());" + NL

-			+ "\t\t\t\t\t }" + NL + "\t\t\t\t });" + NL + "\t\t}" + NL + "" + NL + "\t\treturn contentOutlinePage;"

-			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This accesses a cached version of the property sheet."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic IPropertySheetPage getPropertySheetPage()" + NL + "\t{" + NL

-			+ "\t\tPropertySheetPage propertySheetPage =" + NL + "\t\t\tnew ExtendedPropertySheetPage(editingDomain";

-	protected final String TEXT_384 = ", ExtendedPropertySheetPage.Decoration.MANUAL";

-	protected final String TEXT_385 = ", ExtendedPropertySheetPage.Decoration.LIVE, ";

-	protected final String TEXT_386 = ".getPlugin().getDialogSettings()";

-	protected final String TEXT_387 = ")" + NL + "\t\t\t{";

-	protected final String TEXT_388 = NL + "\t\t\t\t@Override";

-	protected final String TEXT_389 = NL + "\t\t\t\tpublic void setSelectionToViewer(";

-	protected final String TEXT_390 = " selection)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";

-	protected final String TEXT_391 = ".this.setSelectionToViewer(selection);" + NL + "\t\t\t\t\t";

-	protected final String TEXT_392 = ".this.setFocus();" + NL + "\t\t\t\t}" + NL;

-	protected final String TEXT_393 = NL + "\t\t\t\t@Override";

-	protected final String TEXT_394 = NL + "\t\t\t\tpublic void setActionBars(IActionBars actionBars)" + NL

-			+ "\t\t\t\t{" + NL + "\t\t\t\t\tsuper.setActionBars(actionBars);" + NL

-			+ "\t\t\t\t\tgetActionBarContributor().shareGlobalActions(this, actionBars);" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t};" + NL

-			+ "\t\tpropertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));"

-			+ NL + "\t\tpropertySheetPages.add(propertySheetPage);" + NL + "" + NL + "\t\treturn propertySheetPage;"

-			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This deals with how we want selection in the outliner to affect the other views." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void handleContentOutlineSelection(ISelection selection)" + NL + "\t{";

-	protected final String TEXT_395 = NL

-			+ "\t\tif (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection)";

-	protected final String TEXT_396 = NL

-			+ "\t\tif (selectionViewer != null && !selection.isEmpty() && selection instanceof IStructuredSelection)";

-	protected final String TEXT_397 = NL + "\t\t{" + NL + "\t\t\tIterator";

-	protected final String TEXT_398 = "<?>";

-	protected final String TEXT_399 = " selectedElements = ((IStructuredSelection)selection).iterator();" + NL

-			+ "\t\t\tif (selectedElements.hasNext())" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t// Get the first selected element." + NL + "\t\t\t\t//" + NL

-			+ "\t\t\t\tObject selectedElement = selectedElements.next();" + NL;

-	protected final String TEXT_400 = NL

-			+ "\t\t\t\t// If it's the selection viewer, then we want it to select the same selection as this selection."

-			+ NL + "\t\t\t\t//" + NL + "\t\t\t\tif (currentViewerPane.getViewer() == selectionViewer)" + NL

-			+ "\t\t\t\t{" + NL + "\t\t\t\t\t";

-	protected final String TEXT_401 = " selectionList = new ";

-	protected final String TEXT_402 = "();" + NL + "\t\t\t\t\tselectionList.add(selectedElement);" + NL

-			+ "\t\t\t\t\twhile (selectedElements.hasNext())" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\tselectionList.add(selectedElements.next());" + NL + "\t\t\t\t\t}" + NL + "" + NL

-			+ "\t\t\t\t\t// Set the selection to the widget." + NL + "\t\t\t\t\t//" + NL

-			+ "\t\t\t\t\tselectionViewer.setSelection(new StructuredSelection(selectionList));" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t// Set the input to the widget." + NL

-			+ "\t\t\t\t\t//" + NL + "\t\t\t\t\tif (currentViewerPane.getViewer().getInput() != selectedElement)" + NL

-			+ "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tcurrentViewerPane.getViewer().setInput(selectedElement);" + NL

-			+ "\t\t\t\t\t\tcurrentViewerPane.setTitle(selectedElement);" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}";

-	protected final String TEXT_403 = NL + "\t\t\t\t";

-	protected final String TEXT_404 = " selectionList = new ";

-	protected final String TEXT_405 = "();" + NL + "\t\t\t\tselectionList.add(selectedElement);" + NL

-			+ "\t\t\t\twhile (selectedElements.hasNext())" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tselectionList.add(selectedElements.next());" + NL + "\t\t\t\t}" + NL + "" + NL

-			+ "\t\t\t\t// Set the selection to the widget." + NL + "\t\t\t\t//" + NL

-			+ "\t\t\t\tselectionViewer.setSelection(new StructuredSelection(selectionList));";

-	protected final String TEXT_406 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This is for implementing {@link IEditorPart} and simply tests the command stack." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_407 = NL + "\t@Override";

-	protected final String TEXT_408 = NL + "\tpublic boolean isDirty()" + NL + "\t{" + NL

-			+ "\t\treturn ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();" + NL + "\t}" + NL + ""

-			+ NL + "\t/**" + NL + "\t * This is for implementing {@link IEditorPart} and simply saves the model file."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_409 = NL + "\t@Override";

-	protected final String TEXT_410 = NL + "\tpublic void doSave(IProgressMonitor progressMonitor)" + NL + "\t{" + NL

-			+ "\t\t// Save only resources that have actually changed." + NL + "\t\t//" + NL + "\t\tfinal ";

-	protected final String TEXT_411 = " saveOptions = new ";

-	protected final String TEXT_412 = "();";

-	protected final String TEXT_413 = NL

-			+ "\t\tsaveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);";

-	protected final String TEXT_414 = NL

-			+ "\t\tsaveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);";

-	protected final String TEXT_415 = NL

-			+ NL

-			+ "\t\t// Do the work within an operation because this is a long running activity that modifies the workbench."

-			+ NL + "\t\t//" + NL + "\t\t";

-	protected final String TEXT_416 = " operation =" + NL + "\t\t\tnew ";

-	protected final String TEXT_417 = "()" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t// This is the method that gets invoked when the operation runs." + NL + "\t\t\t\t//";

-	protected final String TEXT_418 = NL + "\t\t\t\t@Override";

-	protected final String TEXT_419 = NL + "\t\t\t\tpublic void ";

-	protected final String TEXT_420 = "(IProgressMonitor monitor)" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\t// Save the resources to the file system." + NL + "\t\t\t\t\t//" + NL

-			+ "\t\t\t\t\tboolean first = true;";

-	protected final String TEXT_421 = NL

-			+ "\t\t\t\t\tfor (Resource resource : editingDomain.getResourceSet().getResources())";

-	protected final String TEXT_422 = NL

-			+ "\t\t\t\t\tfor (Iterator i = editingDomain.getResourceSet().getResources().iterator(); i.hasNext(); )";

-	protected final String TEXT_423 = NL + "\t\t\t\t\t{";

-	protected final String TEXT_424 = NL + "\t\t\t\t\t\tResource resource = (Resource)i.next();";

-	protected final String TEXT_425 = NL

-			+ "\t\t\t\t\t\tif ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource))"

-			+ NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\ttry" + NL + "\t\t\t\t\t\t\t{";

-	protected final String TEXT_426 = NL + "\t\t\t\t\t\t\t\tlong timeStamp = resource.getTimeStamp();" + NL

-			+ "\t\t\t\t\t\t\t\tresource.save(saveOptions);" + NL

-			+ "\t\t\t\t\t\t\t\tif (resource.getTimeStamp() != timeStamp)" + NL + "\t\t\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\t\t\tsavedResources.add(resource);" + NL + "\t\t\t\t\t\t\t\t}";

-	protected final String TEXT_427 = NL + "\t\t\t\t\t\t\t\tresource.save(saveOptions);" + NL

-			+ "\t\t\t\t\t\t\t\tsavedResources.add(resource);";

-	protected final String TEXT_428 = NL + "\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\tcatch (Exception exception)" + NL

-			+ "\t\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\t\tresourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));"

-			+ NL + "\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\tfirst = false;" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}"

-			+ NL + "\t\t\t\t}" + NL + "\t\t\t};" + NL + "" + NL + "\t\tupdateProblemIndication = false;" + NL

-			+ "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t// This runs the options, and shows progress." + NL + "\t\t\t//"

-			+ NL + "\t\t\tnew ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);" + NL + "" + NL

-			+ "\t\t\t// Refresh the necessary state." + NL + "\t\t\t//" + NL

-			+ "\t\t\t((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();" + NL

-			+ "\t\t\tfirePropertyChange(IEditorPart.PROP_DIRTY);" + NL + "\t\t}" + NL

-			+ "\t\tcatch (Exception exception)" + NL + "\t\t{" + NL + "\t\t\t// Something went wrong that shouldn't."

-			+ NL + "\t\t\t//" + NL + "\t\t\t";

-	protected final String TEXT_429 = ".INSTANCE.log(exception);"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\tupdateProblemIndication = true;"

-			+ NL

-			+ "\t\tupdateProblemIndication();"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This returns whether something has been persisted to the URI of the specified resource."

-			+ NL

-			+ "\t * The implementation uses the URI converter from the editor's resource set to try to open an input stream."

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tprotected boolean isPersisted(Resource resource)"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\tboolean result = false;"

-			+ NL

-			+ "\t\ttry"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\tInputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());"

-			+ NL + "\t\t\tif (stream != null)" + NL + "\t\t\t{" + NL + "\t\t\t\tresult = true;" + NL

-			+ "\t\t\t\tstream.close();" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (IOException e)" + NL

-			+ "\t\t{" + NL + "\t\t\t// Ignore" + NL + "\t\t}" + NL + "\t\treturn result;" + NL + "\t}" + NL + "" + NL

-			+ "\t/**" + NL + "\t * This always returns true because it is not currently supported." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_430 = NL + "\t@Override";

-	protected final String TEXT_431 = NL + "\tpublic boolean isSaveAsAllowed()" + NL + "\t{" + NL + "\t\treturn true;"

-			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This also changes the editor's input." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_432 = NL + "\t@Override";

-	protected final String TEXT_433 = NL + "\tpublic void doSaveAs()" + NL + "\t{";

-	protected final String TEXT_434 = NL + "\t\tnew ";

-	protected final String TEXT_435 = "(getSite().getShell(), null, SWT.NONE)" + NL + "\t\t\t{";

-	protected final String TEXT_436 = NL + "\t\t\t\t@Override";

-	protected final String TEXT_437 = NL + "\t\t\t\tprotected boolean isSave()" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\treturn true;" + NL + "\t\t\t\t}" + NL;

-	protected final String TEXT_438 = NL + "\t\t\t\t@Override";

-	protected final String TEXT_439 = NL + "\t\t\t\tprotected boolean processResources()" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\t";

-	protected final String TEXT_440 = " uris = getURIs();" + NL + "\t\t\t\t\tif (uris.size() > 0)" + NL + "\t\t\t\t\t{"

-			+ NL + "\t\t\t\t\t\tURI uri = ";

-	protected final String TEXT_441 = "uris.get(0);" + NL + "\t\t\t\t\t\tdoSaveAs(uri, new ";

-	protected final String TEXT_442 = "(uri));" + NL + "\t\t\t\t\t\treturn true;" + NL + "\t\t\t\t\t}" + NL

-			+ "\t\t\t\t\telse" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\treturn false;" + NL + "\t\t\t\t\t}" + NL

-			+ "\t\t\t\t}" + NL + "\t\t\t}.open();";

-	protected final String TEXT_443 = NL + "\t\tString[] filters = ";

-	protected final String TEXT_444 = "(String[])";

-	protected final String TEXT_445 = "FILE_EXTENSION_FILTERS.toArray(new String[FILE_EXTENSION_FILTERS.size()]);" + NL

-			+ "\t\tString[] files = ";

-	protected final String TEXT_446 = ".openFilePathDialog(getSite().getShell(), ";

-	protected final String TEXT_447 = ".SAVE, filters);" + NL + "\t\tif (files.length > 0)" + NL + "\t\t{" + NL

-			+ "\t\t\tURI uri = URI.createFileURI(files[0]);" + NL + "\t\t\tdoSaveAs(uri, new ";

-	protected final String TEXT_448 = "(uri));" + NL + "\t\t}";

-	protected final String TEXT_449 = NL

-			+ "\t\tSaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());"

-			+ NL

-			+ "\t\tsaveAsDialog.open();"

-			+ NL

-			+ "\t\tIPath path = saveAsDialog.getResult();"

-			+ NL

-			+ "\t\tif (path != null)"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\tIFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);"

-			+ NL

-			+ "\t\t\tif (file != null)"

-			+ NL

-			+ "\t\t\t{"

-			+ NL

-			+ "\t\t\t\tdoSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));"

-			+ NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_450 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected void doSaveAs(URI uri, IEditorInput editorInput)" + NL + "\t{" + NL + "\t\t(";

-	protected final String TEXT_451 = "(Resource)";

-	protected final String TEXT_452 = "editingDomain.getResourceSet().getResources().get(0)).setURI(uri);" + NL

-			+ "\t\tsetInputWithNotify(editorInput);" + NL + "\t\tsetPartName(editorInput.getName());" + NL

-			+ "\t\tIProgressMonitor progressMonitor =" + NL + "\t\t\tgetActionBars().getStatusLineManager() != null ?"

-			+ NL + "\t\t\t\tgetActionBars().getStatusLineManager().getProgressMonitor() :" + NL + "\t\t\t\tnew ";

-	protected final String TEXT_453 = "();" + NL + "\t\tdoSave(progressMonitor);" + NL + "\t}";

-	protected final String TEXT_454 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic void gotoMarker(IMarker marker)" + NL + "\t{";

-	protected final String TEXT_455 = NL + "\t\t";

-	protected final String TEXT_456 = " targetObjects = markerHelper.getTargetObjects(editingDomain, marker);" + NL

-			+ "\t\tif (!targetObjects.isEmpty())" + NL + "\t\t{" + NL + "\t\t\tsetSelectionToViewer(targetObjects);"

-			+ NL + "\t\t}";

-	protected final String TEXT_457 = NL + "\t\ttry" + NL + "\t\t{" + NL

-			+ "\t\t\tif (marker.isSubtypeOf(EValidator.MARKER))" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tString uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);" + NL

-			+ "\t\t\t\tif (uriAttribute != null)" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tURI uri = URI.createURI(uriAttribute);" + NL

-			+ "\t\t\t\t\tEObject eObject = editingDomain.getResourceSet().getEObject(uri, true);" + NL

-			+ "\t\t\t\t\tif (eObject != null)" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t  setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));" + NL

-			+ "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL

-			+ "\t\tcatch (CoreException exception)" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_458 = ".INSTANCE.log(exception);" + NL + "\t\t}";

-	protected final String TEXT_459 = NL + "\t}";

-	protected final String TEXT_460 = NL + NL + "\t/**" + NL + "\t * This is called during startup." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_461 = NL + "\t@Override";

-	protected final String TEXT_462 = NL + "\tpublic void init(IEditorSite site, IEditorInput editorInput)" + NL

-			+ "\t{" + NL + "\t\tsetSite(site);" + NL + "\t\tsetInputWithNotify(editorInput);" + NL

-			+ "\t\tsetPartName(editorInput.getName());" + NL + "\t\tsite.setSelectionProvider(this);" + NL

-			+ "\t\tsite.getPage().addPartListener(partListener);";

-	protected final String TEXT_463 = NL

-			+ "\t\tResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);";

-	protected final String TEXT_464 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_465 = NL + "\t@Override";

-	protected final String TEXT_466 = NL + "\tpublic void setFocus()" + NL + "\t{";

-	protected final String TEXT_467 = NL + "\t\tif (currentViewerPane != null)" + NL + "\t\t{" + NL

-			+ "\t\t\tcurrentViewerPane.setFocus();" + NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{" + NL

-			+ "\t\t\tgetControl(getActivePage()).setFocus();" + NL + "\t\t}";

-	protected final String TEXT_468 = NL + "\t\tgetControl(getActivePage()).setFocus();";

-	protected final String TEXT_469 = NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}."

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tpublic void addSelectionChangedListener(ISelectionChangedListener listener)"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\tselectionChangedListeners.add(listener);"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}."

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tpublic void removeSelectionChangedListener(ISelectionChangedListener listener)"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\tselectionChangedListeners.remove(listener);"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection."

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tpublic ISelection getSelection()"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\treturn editorSelection;"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection."

-			+ NL + "\t * Calling this result will notify the listeners." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic void setSelection(ISelection selection)" + NL + "\t{" + NL + "\t\teditorSelection = selection;"

-			+ NL;

-	protected final String TEXT_470 = NL + "\t\tfor (ISelectionChangedListener listener : selectionChangedListeners)";

-	protected final String TEXT_471 = NL

-			+ "\t\tfor (Iterator listeners = selectionChangedListeners.iterator(); listeners.hasNext(); )";

-	protected final String TEXT_472 = NL + "\t\t{";

-	protected final String TEXT_473 = NL

-			+ "\t\t\tISelectionChangedListener listener = (ISelectionChangedListener)listeners.next();";

-	protected final String TEXT_474 = NL

-			+ "\t\t\tlistener.selectionChanged(new SelectionChangedEvent(this, selection));"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\tsetStatusLineManager(selection);"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tpublic void setStatusLineManager(ISelection selection)"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\tIStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?"

-			+ NL + "\t\t\tcontentOutlineStatusLineManager : getActionBars().getStatusLineManager();" + NL + "" + NL

-			+ "\t\tif (statusLineManager != null)" + NL + "\t\t{" + NL

-			+ "\t\t\tif (selection instanceof IStructuredSelection)" + NL + "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_475 = " collection = ((IStructuredSelection)selection).toList();" + NL

-			+ "\t\t\t\tswitch (collection.size())" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tcase 0:" + NL + "\t\t\t\t\t{"

-			+ NL + "\t\t\t\t\t\tstatusLineManager.setMessage(getString(\"_UI_NoObjectSelected\"));";

-	protected final String TEXT_476 = NL

-			+ "\t\t\t\t\t\tbreak;"

-			+ NL

-			+ "\t\t\t\t\t}"

-			+ NL

-			+ "\t\t\t\t\tcase 1:"

-			+ NL

-			+ "\t\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\t\tString text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());"

-			+ NL + "\t\t\t\t\t\tstatusLineManager.setMessage(getString(\"_UI_SingleObjectSelected\", text));";

-	protected final String TEXT_477 = NL

-			+ "\t\t\t\t\t\tbreak;"

-			+ NL

-			+ "\t\t\t\t\t}"

-			+ NL

-			+ "\t\t\t\t\tdefault:"

-			+ NL

-			+ "\t\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\t\tstatusLineManager.setMessage(getString(\"_UI_MultiObjectSelected\", Integer.toString(collection.size())));";

-	protected final String TEXT_478 = NL + "\t\t\t\t\t\tbreak;" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t}" + NL + "\t\t\telse" + NL + "\t\t\t{" + NL + "\t\t\t\tstatusLineManager.setMessage(\"\");";

-	protected final String TEXT_479 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This looks up a string in the plugin's plugin.properties file." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprivate static String getString(String key)" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_480 = ".INSTANCE.getString(key);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This looks up a string in plugin.properties, making a substitution." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprivate static String getString(String key, Object s1)" + NL + "\t{" + NL

-			+ "\t\treturn ";

-	protected final String TEXT_481 = ".INSTANCE.getString(key, new Object [] { s1 });"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void menuAboutToShow(IMenuManager menuManager)" + NL + "\t{" + NL

-			+ "\t\t((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);" + NL

-			+ "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic EditingDomainActionBarContributor getActionBarContributor()" + NL + "\t{" + NL

-			+ "\t\treturn (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();" + NL + "\t}"

-			+ NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic IActionBars getActionBars()" + NL + "\t{" + NL

-			+ "\t\treturn getActionBarContributor().getActionBars();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic AdapterFactory getAdapterFactory()" + NL + "\t{" + NL

-			+ "\t\treturn adapterFactory;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_482 = NL + "\t@Override";

-	protected final String TEXT_483 = NL + "\tpublic void dispose()" + NL + "\t{" + NL

-			+ "\t\tupdateProblemIndication = false;" + NL;

-	protected final String TEXT_484 = NL

-			+ "\t\tResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);" + NL;

-	protected final String TEXT_485 = NL + "\t\tgetSite().getPage().removePartListener(partListener);" + NL + "" + NL

-			+ "\t\tadapterFactory.dispose();" + NL + "" + NL

-			+ "\t\tif (getActionBarContributor().getActiveEditor() == this)" + NL + "\t\t{" + NL

-			+ "\t\t\tgetActionBarContributor().setActiveEditor(null);" + NL + "\t\t}" + NL;

-	protected final String TEXT_486 = NL + "\t\tfor (PropertySheetPage propertySheetPage : propertySheetPages)";

-	protected final String TEXT_487 = NL + "\t\tfor (Iterator i = propertySheetPages.iterator(); i.hasNext(); )";

-	protected final String TEXT_488 = NL + "\t\t{";

-	protected final String TEXT_489 = NL + "\t\t\tPropertySheetPage propertySheetPage = (PropertySheetPage)i.next();";

-	protected final String TEXT_490 = NL + "\t\t\tpropertySheetPage.dispose();" + NL + "\t\t}" + NL + "" + NL

-			+ "\t\tif (contentOutlinePage != null)" + NL + "\t\t{" + NL + "\t\t\tcontentOutlinePage.dispose();" + NL

-			+ "\t\t}" + NL + "" + NL + "\t\tsuper.dispose();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Returns whether the outline view should be presented to the user." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected boolean showOutlineView()" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_491 = ";" + NL + "\t}" + NL + "}";

-	protected final String TEXT_492 = NL;

-	protected final String TEXT_493 = NL;

-	protected final String TEXT_494 = NL;

-

-	public Editor() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_493);

-		stringBuffer.append(TEXT_494);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getEditorDirectory();

-		packageName = genPackage.getPresentationPackageName();

-		className = genPackage.getEditorClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2010 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) argument;

-		GenModel genModel = genPackage.getGenModel(); /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		String importedOperationClassName = genModel

-				.getImportedName(genModel.isRichClientPlatform() ? "org.eclipse.jface.operation.IRunnableWithProgress"

-						: "org.eclipse.ui.actions.WorkspaceModifyOperation");

-		String operationMethodName = genModel.isRichClientPlatform() ? "run" : "execute";

-		String _ArrayListOfObject = "ArrayList" + (genModel.useGenerics() ? "<Object>" : "");

-		String _ArrayListOfSelectionChangedListener = "ArrayList"

-				+ (genModel.useGenerics() ? "<ISelectionChangedListener>" : "");

-		String _CollectionOfSelectionChangedListener = "Collection"

-				+ (genModel.useGenerics() ? "<ISelectionChangedListener>" : "");

-		String _ArrayListOfResource = "ArrayList" + (genModel.useGenerics() ? "<Resource>" : "");

-		String _CollectionOfResource = "Collection" + (genModel.useGenerics() ? "<Resource>" : "");

-		String _MapOfResourceToDiagnostic = "Map" + (genModel.useGenerics() ? "<Resource, Diagnostic>" : "");

-		String _HashMapOfResourceToBoolean = "HashMap" + (genModel.useGenerics() ? "<Resource, Boolean>" : "");

-		String _MapOfObjectToObject = "Map" + (genModel.useGenerics() ? "<Object, Object>" : "");

-		String _HashMapOfObjectToObject = "HashMap" + (genModel.useGenerics() ? "<Object, Object>" : "");

-		String _LinkedHashMapOfResourceToDiagnostic = "LinkedHashMap"

-				+ (genModel.useGenerics() ? "<Resource, Diagnostic>" : "");

-		String _CollectionOfAnything = "Collection" + (genModel.useGenerics() ? "<?>" : "");

-		String _ListOfAnything = "List" + (genModel.useGenerics() ? "<?>" : "");

-		boolean useExtendedLabelProvider = genModel.isStyleProviders() || genModel.isFontProviders()

-				|| genModel.isColorProviders();

-		boolean useStyledLabelProvider = genModel.isStyleProviders();

-		String _AdapterFactoryLabelProvider = (useStyledLabelProvider ? "AdapterFactoryLabelProvider.StyledLabelProvider"

-				: "AdapterFactoryLabelProvider"

-						+ (genModel.isFontProviders() && genModel.isColorProviders() ? ".FontAndColorProvider"

-								: genModel.isFontProviders() ? ".FontProvider"

-										: genModel.isColorProviders() ? ".ColorProvider" : ""));

-		String _DelegatingAdapterFactoryLabelProvider = useStyledLabelProvider ? genModel

-				.getImportedName("org.eclipse.emf.edit.ui.provider.DelegatingStyledCellLabelProvider")

-				+ (genModel.isFontProviders() && genModel.isColorProviders() ? ".FontAndColorProvider" : genModel

-						.isFontProviders() ? ".FontProvider" : genModel.isColorProviders() ? ".ColorProvider" : "")

-				: "";

-		String _DecoratingColumLabelProvider = genModel.getDecoration() != GenDecoration.NONE ? genModel

-				.getImportedName("org.eclipse.emf.edit.ui.provider.DecoratingColumLabelProvider")

-				+ (useStyledLabelProvider ? ".StyledLabelProvider" : "") : "";

-		String _DiagnosticDecorator = genModel.getDecoration() != GenDecoration.NONE ? genModel

-				.getImportedName("org.eclipse.emf.edit.ui.provider.DiagnosticDecorator")

-				+ (useStyledLabelProvider ? ".Styled" : "") : "";

-		String _ArrayListOfString = "ArrayList" + (genModel.useGenerics() ? "<String>" : "");

-		String _ListOfString = "List" + (genModel.useGenerics() ? "<String>" : "");

-		String _ListOfPropertySheetPage = "List" + (genModel.useGenerics() ? "<PropertySheetPage>" : "");

-		String _ArrayListOfPropertySheetPage = "ArrayList" + (genModel.useGenerics() ? "<PropertySheetPage>" : "");

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getPresentationPackageName());

-		stringBuffer.append(TEXT_3);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_4);

-		}

-		stringBuffer.append(TEXT_5);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_6);

-		}

-		stringBuffer.append(TEXT_7);

-		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {

-			stringBuffer.append(TEXT_8);

-		}

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_9);

-		}

-		stringBuffer.append(TEXT_10);

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_11);

-		}

-		stringBuffer.append(TEXT_12);

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_13);

-		}

-		stringBuffer.append(TEXT_14);

-		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {

-			stringBuffer.append(TEXT_15);

-		}

-		stringBuffer.append(TEXT_16);

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_17);

-		}

-		stringBuffer.append(TEXT_18);

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_19);

-		}

-		stringBuffer.append(TEXT_20);

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_21);

-		}

-		stringBuffer.append(TEXT_22);

-		if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-			stringBuffer.append(TEXT_23);

-		}

-		stringBuffer.append(TEXT_24);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_25);

-		}

-		stringBuffer.append(TEXT_26);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_27);

-		}

-		stringBuffer.append(TEXT_28);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_29);

-		}

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_30);

-		}

-		stringBuffer.append(TEXT_31);

-		if (!genModel.isRichClientPlatform() && genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF23_VALUE) {

-			stringBuffer.append(TEXT_32);

-		}

-		stringBuffer.append(TEXT_33);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_34);

-		}

-		stringBuffer.append(TEXT_35);

-		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {

-			stringBuffer.append(TEXT_36);

-		}

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_37);

-		}

-		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {

-			stringBuffer.append(TEXT_38);

-		}

-		stringBuffer.append(TEXT_39);

-		stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());

-		stringBuffer.append(TEXT_40);

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_41);

-		stringBuffer.append(genPackage.getPrefix());

-		stringBuffer.append(TEXT_42);

-		stringBuffer.append(genPackage.getEditorClassName());

-		stringBuffer.append(TEXT_43);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_44);

-		}

-		stringBuffer.append(TEXT_45);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_46);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_47);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_48);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_49);

-		}

-		if (genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_50);

-			if (genPackage.isGenerateModelWizard()) {

-				stringBuffer.append(TEXT_51);

-				stringBuffer.append(_ListOfString);

-				stringBuffer.append(TEXT_52);

-				stringBuffer.append(genPackage.getImportedModelWizardClassName());

-				stringBuffer.append(TEXT_53);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(TEXT_54);

-			} else {

-				stringBuffer.append(TEXT_55);

-				stringBuffer.append(_ListOfString);

-				stringBuffer.append(TEXT_56);

-				stringBuffer.append(genModel.getImportedName("java.util.Arrays"));

-				stringBuffer.append(TEXT_57);

-				stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-				stringBuffer.append(TEXT_58);

-				stringBuffer.append(genPackage.getEditorClassName());

-				stringBuffer.append(TEXT_59);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(genModel.getNonNLS(2));

-				stringBuffer.append(genModel.getNonNLS(3));

-				stringBuffer.append(TEXT_60);

-			}

-			stringBuffer.append(TEXT_61);

-			stringBuffer.append(_ListOfString);

-			stringBuffer.append(TEXT_62);

-			stringBuffer.append(_ListOfString);

-			stringBuffer.append(TEXT_63);

-			stringBuffer.append(_ListOfString);

-			stringBuffer.append(TEXT_64);

-			stringBuffer.append(_ArrayListOfString);

-			stringBuffer.append(TEXT_65);

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_66);

-			} else {

-				stringBuffer.append(TEXT_67);

-			}

-			stringBuffer.append(TEXT_68);

-		}

-		stringBuffer.append(TEXT_69);

-		stringBuffer.append(_ListOfPropertySheetPage);

-		stringBuffer.append(TEXT_70);

-		stringBuffer.append(_ArrayListOfPropertySheetPage);

-		stringBuffer.append(TEXT_71);

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_72);

-		}

-		stringBuffer.append(TEXT_73);

-		stringBuffer.append(_CollectionOfSelectionChangedListener);

-		stringBuffer.append(TEXT_74);

-		stringBuffer.append(_ArrayListOfSelectionChangedListener);

-		stringBuffer.append(TEXT_75);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_76);

-		}

-		stringBuffer.append(TEXT_77);

-		stringBuffer.append(genPackage.getEditorClassName());

-		stringBuffer.append(TEXT_78);

-		stringBuffer.append(genPackage.getEditorClassName());

-		stringBuffer.append(TEXT_79);

-		stringBuffer.append(genPackage.getEditorClassName());

-		stringBuffer.append(TEXT_80);

-		stringBuffer.append(_CollectionOfResource);

-		stringBuffer.append(TEXT_81);

-		stringBuffer.append(_ArrayListOfResource);

-		stringBuffer.append(TEXT_82);

-		stringBuffer.append(_CollectionOfResource);

-		stringBuffer.append(TEXT_83);

-		stringBuffer.append(_ArrayListOfResource);

-		stringBuffer.append(TEXT_84);

-		stringBuffer.append(_CollectionOfResource);

-		stringBuffer.append(TEXT_85);

-		stringBuffer.append(_ArrayListOfResource);

-		stringBuffer.append(TEXT_86);

-		stringBuffer.append(_MapOfResourceToDiagnostic);

-		stringBuffer.append(TEXT_87);

-		stringBuffer.append(_LinkedHashMapOfResourceToDiagnostic);

-		stringBuffer.append(TEXT_88);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_89);

-		}

-		stringBuffer.append(TEXT_90);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_91);

-		}

-		stringBuffer.append(TEXT_92);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_93);

-		}

-		stringBuffer.append(TEXT_94);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_95);

-			stringBuffer.append(_CollectionOfResource);

-			stringBuffer.append(TEXT_96);

-			stringBuffer.append(_ArrayListOfResource);

-			stringBuffer.append(TEXT_97);

-			stringBuffer.append(_CollectionOfResource);

-			stringBuffer.append(TEXT_98);

-			stringBuffer.append(_ArrayListOfResource);

-			stringBuffer.append(TEXT_99);

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_100);

-			}

-			stringBuffer.append(TEXT_101);

-			if (genModel.getDecoration() == GenDecoration.NONE) {

-				stringBuffer.append(TEXT_102);

-			}

-			stringBuffer.append(TEXT_103);

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_104);

-			}

-			stringBuffer.append(TEXT_105);

-			if (genModel.getDecoration() == GenDecoration.NONE) {

-				stringBuffer.append(TEXT_106);

-			} else {

-				stringBuffer.append(TEXT_107);

-				stringBuffer.append(_DiagnosticDecorator);

-				stringBuffer.append(TEXT_108);

-			}

-			stringBuffer.append(TEXT_109);

-			stringBuffer.append(_CollectionOfResource);

-			stringBuffer.append(TEXT_110);

-			stringBuffer.append(_CollectionOfResource);

-			stringBuffer.append(TEXT_111);

-			stringBuffer.append(genPackage.getEditorClassName());

-			stringBuffer.append(TEXT_112);

-			stringBuffer.append(genPackage.getEditorClassName());

-			stringBuffer.append(TEXT_113);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_114);

-		}

-		stringBuffer.append(TEXT_115);

-		stringBuffer.append(genPackage.getEditorClassName());

-		stringBuffer.append(TEXT_116);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_117);

-		} else {

-			stringBuffer.append(TEXT_118);

-		}

-		stringBuffer.append(TEXT_119);

-		if (!genModel.useGenerics()) {

-			stringBuffer.append(TEXT_120);

-		}

-		stringBuffer.append(TEXT_121);

-		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

-			stringBuffer.append(TEXT_122);

-		}

-		stringBuffer.append(TEXT_123);

-		stringBuffer.append(genPackage.getGenModel().getEditorPluginID());

-		stringBuffer.append(TEXT_124);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_125);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_126);

-		} else {

-			stringBuffer.append(TEXT_127);

-		}

-		stringBuffer.append(TEXT_128);

-		if (!genModel.useGenerics()) {

-			stringBuffer.append(TEXT_129);

-		}

-		stringBuffer.append(TEXT_130);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_131);

-		}

-		stringBuffer.append(TEXT_132);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_133);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_134);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_135);

-		}

-		stringBuffer.append(TEXT_136);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_137);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_138);

-		stringBuffer.append(genPackage.getEditorClassName());

-		stringBuffer.append(TEXT_139);

-		stringBuffer.append(TEXT_140);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.editor.call.Editor.Editor.addItemProviderFactories.override" args="genPackage:genPackage,genModel:genModel,importedOperationClassName:importedOperationClassName,operationMethodName:operationMethodName,_ArrayListOfObject:_ArrayListOfObject,_ArrayListOfSelectionChangedListener:_ArrayListOfSelectionChangedListener,_CollectionOfSelectionChangedListener:_CollectionOfSelectionChangedListener,_ArrayListOfResource:_ArrayListOfResource,_CollectionOfResource:_CollectionOfResource,_MapOfResourceToDiagnostic:_MapOfResourceToDiagnostic,_HashMapOfResourceToBoolean:_HashMapOfResourceToBoolean,_MapOfObjectToObject:_MapOfObjectToObject,_HashMapOfObjectToObject:_HashMapOfObjectToObject,_LinkedHashMapOfResourceToDiagnostic:_LinkedHashMapOfResourceToDiagnostic,_CollectionOfAnything:_CollectionOfAnything,_ListOfAnything:_ListOfAnything,useExtendedLabelProvider:useExtendedLabelProvider,useStyledLabelProvider:useStyledLabelProvider,_AdapterFactoryLabelProvider:_AdapterFactoryLabelProvider,_DelegatingAdapterFactoryLabelProvider:_DelegatingAdapterFactoryLabelProvider,_DecoratingColumLabelProvider:_DecoratingColumLabelProvider,_DiagnosticDecorator:_DiagnosticDecorator,_ArrayListOfString:_ArrayListOfString,_ListOfString:_ListOfString,_ListOfPropertySheetPage:_ListOfPropertySheetPage,_ArrayListOfPropertySheetPage:_ArrayListOfPropertySheetPage"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("importedOperationClassName", importedOperationClassName);

-			callParameters.put("operationMethodName", operationMethodName);

-			callParameters.put("_ArrayListOfObject", _ArrayListOfObject);

-			callParameters.put("_ArrayListOfSelectionChangedListener", _ArrayListOfSelectionChangedListener);

-			callParameters.put("_CollectionOfSelectionChangedListener", _CollectionOfSelectionChangedListener);

-			callParameters.put("_ArrayListOfResource", _ArrayListOfResource);

-			callParameters.put("_CollectionOfResource", _CollectionOfResource);

-			callParameters.put("_MapOfResourceToDiagnostic", _MapOfResourceToDiagnostic);

-			callParameters.put("_HashMapOfResourceToBoolean", _HashMapOfResourceToBoolean);

-			callParameters.put("_MapOfObjectToObject", _MapOfObjectToObject);

-			callParameters.put("_HashMapOfObjectToObject", _HashMapOfObjectToObject);

-			callParameters.put("_LinkedHashMapOfResourceToDiagnostic", _LinkedHashMapOfResourceToDiagnostic);

-			callParameters.put("_CollectionOfAnything", _CollectionOfAnything);

-			callParameters.put("_ListOfAnything", _ListOfAnything);

-			callParameters.put("useExtendedLabelProvider", useExtendedLabelProvider);

-			callParameters.put("useStyledLabelProvider", useStyledLabelProvider);

-			callParameters.put("_AdapterFactoryLabelProvider", _AdapterFactoryLabelProvider);

-			callParameters.put("_DelegatingAdapterFactoryLabelProvider", _DelegatingAdapterFactoryLabelProvider);

-			callParameters.put("_DecoratingColumLabelProvider", _DecoratingColumLabelProvider);

-			callParameters.put("_DiagnosticDecorator", _DiagnosticDecorator);

-			callParameters.put("_ArrayListOfString", _ArrayListOfString);

-			callParameters.put("_ListOfString", _ListOfString);

-			callParameters.put("_ListOfPropertySheetPage", _ListOfPropertySheetPage);

-			callParameters.put("_ArrayListOfPropertySheetPage", _ArrayListOfPropertySheetPage);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_08-MQWJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		//Editor/addItemproviderFactories.override.javajetinc"

-		stringBuffer.append(TEXT_141);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_142);

-		}

-		stringBuffer.append(TEXT_143);

-		if (!genModel.useGenerics()) {

-			stringBuffer.append(TEXT_144);

-		}

-		stringBuffer.append(TEXT_145);

-		stringBuffer.append(_HashMapOfResourceToBoolean);

-		stringBuffer.append(TEXT_146);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_147);

-		}

-		stringBuffer.append(TEXT_148);

-		stringBuffer.append(_CollectionOfAnything);

-		stringBuffer.append(TEXT_149);

-		stringBuffer.append(_CollectionOfAnything);

-		stringBuffer.append(TEXT_150);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_151);

-		}

-		stringBuffer.append(TEXT_152);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_153);

-		}

-		stringBuffer.append(TEXT_154);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_155);

-		}

-		stringBuffer.append(TEXT_156);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_157);

-		}

-		stringBuffer.append(TEXT_158);

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_159);

-		}

-		stringBuffer.append(TEXT_160);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_161);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_162);

-		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {

-			stringBuffer.append(TEXT_163);

-		} else {

-			stringBuffer.append(TEXT_164);

-		}

-		stringBuffer.append(TEXT_165);

-		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {

-			stringBuffer.append(TEXT_166);

-		}

-		stringBuffer.append(TEXT_167);

-		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {

-			stringBuffer.append(TEXT_168);

-		} else if (genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_169);

-		} else {

-			stringBuffer.append(TEXT_170);

-		}

-		stringBuffer.append(TEXT_171);

-		stringBuffer.append(genPackage.getGenModel().getEditorPluginID());

-		stringBuffer.append(TEXT_172);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_173);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_174);

-		stringBuffer.append(genPackage.getGenModel().getEditorPluginID());

-		stringBuffer.append(TEXT_175);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_176);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_177);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_178);

-		}

-		stringBuffer.append(TEXT_179);

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_180);

-			stringBuffer.append(genPackage.getEditorClassName());

-			stringBuffer.append(TEXT_181);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_182);

-			}

-			stringBuffer.append(TEXT_183);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_184);

-			}

-			stringBuffer.append(TEXT_185);

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_186);

-				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

-				stringBuffer.append(TEXT_187);

-			}

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_188);

-				stringBuffer.append(_DecoratingColumLabelProvider);

-				stringBuffer.append(TEXT_189);

-			}

-			stringBuffer.append(TEXT_190);

-			stringBuffer.append(_AdapterFactoryLabelProvider);

-			stringBuffer.append(TEXT_191);

-			if (useExtendedLabelProvider) {

-				stringBuffer.append(TEXT_192);

-			}

-			stringBuffer.append(TEXT_193);

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_194);

-				stringBuffer.append(_DiagnosticDecorator);

-				stringBuffer.append(TEXT_195);

-				if (genModel.getDecoration() == GenDecoration.MANUAL) {

-					stringBuffer.append(TEXT_196);

-				}

-				stringBuffer.append(TEXT_197);

-				if (genModel.getDecoration() == GenDecoration.LIVE) {

-					stringBuffer.append(TEXT_198);

-					stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-					stringBuffer.append(TEXT_199);

-				}

-				stringBuffer.append(TEXT_200);

-			}

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_201);

-			}

-			stringBuffer.append(TEXT_202);

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_203);

-				stringBuffer

-						.append(genModel

-								.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));

-				stringBuffer.append(TEXT_204);

-				stringBuffer.append(_DiagnosticDecorator);

-				stringBuffer.append(TEXT_205);

-			}

-			stringBuffer.append(TEXT_206);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_207);

-			stringBuffer.append(genPackage.getEditorClassName());

-			stringBuffer.append(TEXT_208);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_209);

-			}

-			stringBuffer.append(TEXT_210);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_211);

-			}

-			stringBuffer.append(TEXT_212);

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_213);

-				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

-				stringBuffer.append(TEXT_214);

-			}

-			stringBuffer.append(TEXT_215);

-			stringBuffer.append(_AdapterFactoryLabelProvider);

-			stringBuffer.append(TEXT_216);

-			if (useExtendedLabelProvider) {

-				stringBuffer.append(TEXT_217);

-			}

-			stringBuffer.append(TEXT_218);

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_219);

-			}

-			stringBuffer.append(TEXT_220);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_221);

-			stringBuffer.append(genPackage.getEditorClassName());

-			stringBuffer.append(TEXT_222);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_223);

-			}

-			stringBuffer.append(TEXT_224);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_225);

-			}

-			stringBuffer.append(TEXT_226);

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_227);

-				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

-				stringBuffer.append(TEXT_228);

-			}

-			stringBuffer.append(TEXT_229);

-			stringBuffer.append(_AdapterFactoryLabelProvider);

-			stringBuffer.append(TEXT_230);

-			if (useExtendedLabelProvider) {

-				stringBuffer.append(TEXT_231);

-			}

-			stringBuffer.append(TEXT_232);

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_233);

-			}

-			stringBuffer.append(TEXT_234);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_235);

-			stringBuffer.append(genPackage.getEditorClassName());

-			stringBuffer.append(TEXT_236);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_237);

-			}

-			stringBuffer.append(TEXT_238);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_239);

-			}

-			stringBuffer.append(TEXT_240);

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_241);

-				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

-				stringBuffer.append(TEXT_242);

-			}

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_243);

-				stringBuffer.append(_DecoratingColumLabelProvider);

-				stringBuffer.append(TEXT_244);

-			}

-			stringBuffer.append(TEXT_245);

-			stringBuffer.append(_AdapterFactoryLabelProvider);

-			stringBuffer.append(TEXT_246);

-			if (useExtendedLabelProvider) {

-				stringBuffer.append(TEXT_247);

-			}

-			stringBuffer.append(TEXT_248);

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_249);

-				stringBuffer.append(_DiagnosticDecorator);

-				stringBuffer.append(TEXT_250);

-				if (genModel.getDecoration() == GenDecoration.MANUAL) {

-					stringBuffer.append(TEXT_251);

-				}

-				stringBuffer.append(TEXT_252);

-			}

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_253);

-			}

-			stringBuffer.append(TEXT_254);

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_255);

-				stringBuffer

-						.append(genModel

-								.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));

-				stringBuffer.append(TEXT_256);

-				stringBuffer.append(_DiagnosticDecorator);

-				stringBuffer.append(TEXT_257);

-			}

-			stringBuffer.append(TEXT_258);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_259);

-			stringBuffer.append(genPackage.getEditorClassName());

-			stringBuffer.append(TEXT_260);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_261);

-			}

-			stringBuffer.append(TEXT_262);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_263);

-			}

-			stringBuffer.append(TEXT_264);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_265);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_266);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(genModel.getNonNLS(2));

-			stringBuffer.append(TEXT_267);

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_268);

-				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

-				stringBuffer.append(TEXT_269);

-			}

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_270);

-				stringBuffer.append(_DecoratingColumLabelProvider);

-				stringBuffer.append(TEXT_271);

-			}

-			stringBuffer.append(TEXT_272);

-			stringBuffer.append(_AdapterFactoryLabelProvider);

-			stringBuffer.append(TEXT_273);

-			if (useExtendedLabelProvider) {

-				stringBuffer.append(TEXT_274);

-			}

-			stringBuffer.append(TEXT_275);

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_276);

-				stringBuffer.append(_DiagnosticDecorator);

-				stringBuffer.append(TEXT_277);

-				if (genModel.getDecoration() == GenDecoration.MANUAL) {

-					stringBuffer.append(TEXT_278);

-				}

-				stringBuffer.append(TEXT_279);

-				if (genModel.getDecoration() == GenDecoration.LIVE) {

-					stringBuffer.append(TEXT_280);

-					stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-					stringBuffer.append(TEXT_281);

-				}

-				stringBuffer.append(TEXT_282);

-			}

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_283);

-			}

-			stringBuffer.append(TEXT_284);

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_285);

-				stringBuffer

-						.append(genModel

-								.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));

-				stringBuffer.append(TEXT_286);

-				stringBuffer.append(_DiagnosticDecorator);

-				stringBuffer.append(TEXT_287);

-			}

-			stringBuffer.append(TEXT_288);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_289);

-			stringBuffer.append(genPackage.getEditorClassName());

-			stringBuffer.append(TEXT_290);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_291);

-			}

-			stringBuffer.append(TEXT_292);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_293);

-			}

-			stringBuffer.append(TEXT_294);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_295);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_296);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(genModel.getNonNLS(2));

-			stringBuffer.append(TEXT_297);

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_298);

-				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

-				stringBuffer.append(TEXT_299);

-			}

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_300);

-				stringBuffer.append(_DecoratingColumLabelProvider);

-				stringBuffer.append(TEXT_301);

-			}

-			stringBuffer.append(TEXT_302);

-			stringBuffer.append(_AdapterFactoryLabelProvider);

-			stringBuffer.append(TEXT_303);

-			if (useExtendedLabelProvider) {

-				stringBuffer.append(TEXT_304);

-			}

-			stringBuffer.append(TEXT_305);

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_306);

-				stringBuffer.append(_DiagnosticDecorator);

-				stringBuffer.append(TEXT_307);

-				if (genModel.getDecoration() == GenDecoration.MANUAL) {

-					stringBuffer.append(TEXT_308);

-				}

-				stringBuffer.append(TEXT_309);

-				if (genModel.getDecoration() == GenDecoration.LIVE) {

-					stringBuffer.append(TEXT_310);

-					stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-					stringBuffer.append(TEXT_311);

-				}

-				stringBuffer.append(TEXT_312);

-			}

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_313);

-			}

-			stringBuffer.append(TEXT_314);

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_315);

-				stringBuffer

-						.append(genModel

-								.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));

-				stringBuffer.append(TEXT_316);

-				stringBuffer.append(_DiagnosticDecorator);

-				stringBuffer.append(TEXT_317);

-			}

-			stringBuffer.append(TEXT_318);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_319);

-		} else {

-			stringBuffer.append(TEXT_320);

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_321);

-				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

-				stringBuffer.append(TEXT_322);

-			}

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_323);

-				stringBuffer.append(_DecoratingColumLabelProvider);

-				stringBuffer.append(TEXT_324);

-			}

-			stringBuffer.append(TEXT_325);

-			stringBuffer.append(_AdapterFactoryLabelProvider);

-			stringBuffer.append(TEXT_326);

-			if (useExtendedLabelProvider) {

-				stringBuffer.append(TEXT_327);

-			}

-			stringBuffer.append(TEXT_328);

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_329);

-				stringBuffer.append(_DiagnosticDecorator);

-				stringBuffer.append(TEXT_330);

-				if (genModel.getDecoration() == GenDecoration.MANUAL) {

-					stringBuffer.append(TEXT_331);

-				}

-				stringBuffer.append(TEXT_332);

-				if (genModel.getDecoration() == GenDecoration.LIVE) {

-					stringBuffer.append(TEXT_333);

-					stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-					stringBuffer.append(TEXT_334);

-				}

-				stringBuffer.append(TEXT_335);

-			}

-			if (useStyledLabelProvider) {

-				stringBuffer.append(TEXT_336);

-			}

-			stringBuffer.append(TEXT_337);

-			if (genModel.getDecoration() != GenDecoration.NONE) {

-				stringBuffer.append(TEXT_338);

-				stringBuffer

-						.append(genModel

-								.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));

-				stringBuffer.append(TEXT_339);

-				stringBuffer.append(_DiagnosticDecorator);

-				stringBuffer.append(TEXT_340);

-			}

-			stringBuffer.append(TEXT_341);

-			stringBuffer.append(genModel.getNonNLS());

-		}

-		stringBuffer.append(TEXT_342);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_343);

-		}

-		stringBuffer.append(TEXT_344);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_345);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_346);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_347);

-		}

-		stringBuffer.append(TEXT_348);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_349);

-			if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE) {

-				stringBuffer.append(TEXT_350);

-			} else {

-				stringBuffer.append(TEXT_351);

-			}

-			stringBuffer.append(TEXT_352);

-		}

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_353);

-		}

-		stringBuffer.append(TEXT_354);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_355);

-		}

-		stringBuffer.append(TEXT_356);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_357);

-		}

-		stringBuffer.append(TEXT_358);

-		if (useStyledLabelProvider) {

-			stringBuffer.append(TEXT_359);

-			stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);

-			stringBuffer.append(TEXT_360);

-		}

-		if (genModel.getDecoration() != GenDecoration.NONE) {

-			stringBuffer.append(TEXT_361);

-			stringBuffer.append(_DecoratingColumLabelProvider);

-			stringBuffer.append(TEXT_362);

-		}

-		stringBuffer.append(TEXT_363);

-		stringBuffer.append(_AdapterFactoryLabelProvider);

-		stringBuffer.append(TEXT_364);

-		if (useExtendedLabelProvider) {

-			stringBuffer.append(TEXT_365);

-		}

-		stringBuffer.append(TEXT_366);

-		if (genModel.getDecoration() != GenDecoration.NONE) {

-			stringBuffer.append(TEXT_367);

-			stringBuffer.append(_DiagnosticDecorator);

-			stringBuffer.append(TEXT_368);

-			if (genModel.getDecoration() == GenDecoration.MANUAL) {

-				stringBuffer.append(TEXT_369);

-			}

-			stringBuffer.append(TEXT_370);

-			if (genModel.getDecoration() == GenDecoration.LIVE) {

-				stringBuffer.append(TEXT_371);

-				stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-				stringBuffer.append(TEXT_372);

-			}

-			stringBuffer.append(TEXT_373);

-		}

-		if (useStyledLabelProvider) {

-			stringBuffer.append(TEXT_374);

-		}

-		stringBuffer.append(TEXT_375);

-		if (genModel.getDecoration() != GenDecoration.NONE) {

-			stringBuffer.append(TEXT_376);

-			stringBuffer.append(genModel

-					.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));

-			stringBuffer.append(TEXT_377);

-			stringBuffer.append(_DiagnosticDecorator);

-			stringBuffer.append(TEXT_378);

-		}

-		stringBuffer.append(TEXT_379);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_380);

-		}

-		stringBuffer.append(TEXT_381);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_382);

-		}

-		stringBuffer.append(TEXT_383);

-		if (genModel.getDecoration() == GenDecoration.MANUAL) {

-			stringBuffer.append(TEXT_384);

-		} else if (genModel.getDecoration() == GenDecoration.LIVE) {

-			stringBuffer.append(TEXT_385);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_386);

-		}

-		stringBuffer.append(TEXT_387);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_388);

-		}

-		stringBuffer.append(TEXT_389);

-		stringBuffer.append(_ListOfAnything);

-		stringBuffer.append(TEXT_390);

-		stringBuffer.append(genPackage.getEditorClassName());

-		stringBuffer.append(TEXT_391);

-		stringBuffer.append(genPackage.getEditorClassName());

-		stringBuffer.append(TEXT_392);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_393);

-		}

-		stringBuffer.append(TEXT_394);

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_395);

-		} else {

-			stringBuffer.append(TEXT_396);

-		}

-		stringBuffer.append(TEXT_397);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_398);

-		}

-		stringBuffer.append(TEXT_399);

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_400);

-			stringBuffer.append(_ArrayListOfObject);

-			stringBuffer.append(TEXT_401);

-			stringBuffer.append(_ArrayListOfObject);

-			stringBuffer.append(TEXT_402);

-		} else {

-			stringBuffer.append(TEXT_403);

-			stringBuffer.append(_ArrayListOfObject);

-			stringBuffer.append(TEXT_404);

-			stringBuffer.append(_ArrayListOfObject);

-			stringBuffer.append(TEXT_405);

-		}

-		stringBuffer.append(TEXT_406);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_407);

-		}

-		stringBuffer.append(TEXT_408);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_409);

-		}

-		stringBuffer.append(TEXT_410);

-		stringBuffer.append(_MapOfObjectToObject);

-		stringBuffer.append(TEXT_411);

-		stringBuffer.append(_HashMapOfObjectToObject);

-		stringBuffer.append(TEXT_412);

-		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {

-			stringBuffer.append(TEXT_413);

-		}

-		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {

-			stringBuffer.append(TEXT_414);

-		}

-		stringBuffer.append(TEXT_415);

-		stringBuffer.append(importedOperationClassName);

-		stringBuffer.append(TEXT_416);

-		stringBuffer.append(importedOperationClassName);

-		stringBuffer.append(TEXT_417);

-		if (!genModel.isRichClientPlatform() && genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_418);

-		}

-		stringBuffer.append(TEXT_419);

-		stringBuffer.append(operationMethodName);

-		stringBuffer.append(TEXT_420);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_421);

-		} else {

-			stringBuffer.append(TEXT_422);

-		}

-		stringBuffer.append(TEXT_423);

-		if (!genModel.useGenerics()) {

-			stringBuffer.append(TEXT_424);

-		}

-		stringBuffer.append(TEXT_425);

-		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

-			stringBuffer.append(TEXT_426);

-		} else {

-			stringBuffer.append(TEXT_427);

-		}

-		stringBuffer.append(TEXT_428);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_429);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_430);

-		}

-		stringBuffer.append(TEXT_431);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_432);

-		}

-		stringBuffer.append(TEXT_433);

-		if (genModel.isRichClientPlatform()) {

-			if (genModel.isRichAjaxPlatform()) {

-				stringBuffer.append(TEXT_434);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.dialogs.ResourceDialog"));

-				stringBuffer.append(TEXT_435);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_436);

-				}

-				stringBuffer.append(TEXT_437);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_438);

-				}

-				stringBuffer.append(TEXT_439);

-				stringBuffer.append("List" + (genModel.useGenerics() ? "<URI>" : ""));

-				stringBuffer.append(TEXT_440);

-				stringBuffer.append(genModel.useGenerics() ? "" : "(URI)");

-				stringBuffer.append(TEXT_441);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.URIEditorInput"));

-				stringBuffer.append(TEXT_442);

-			} else {

-				stringBuffer.append(TEXT_443);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_444);

-				}

-				stringBuffer.append(TEXT_445);

-				stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));

-				stringBuffer.append(TEXT_446);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.SWT"));

-				stringBuffer.append(TEXT_447);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.URIEditorInput"));

-				stringBuffer.append(TEXT_448);

-			}

-		} else {

-			stringBuffer.append(TEXT_449);

-		}

-		stringBuffer.append(TEXT_450);

-		if (!genModel.useGenerics()) {

-			stringBuffer.append(TEXT_451);

-		}

-		stringBuffer.append(TEXT_452);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.NullProgressMonitor"));

-		stringBuffer.append(TEXT_453);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_454);

-			if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {

-				stringBuffer.append(TEXT_455);

-				stringBuffer.append(_ListOfAnything);

-				stringBuffer.append(TEXT_456);

-			} else {

-				stringBuffer.append(TEXT_457);

-				stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-				stringBuffer.append(TEXT_458);

-			}

-			stringBuffer.append(TEXT_459);

-		}

-		stringBuffer.append(TEXT_460);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_461);

-		}

-		stringBuffer.append(TEXT_462);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_463);

-		}

-		stringBuffer.append(TEXT_464);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_465);

-		}

-		stringBuffer.append(TEXT_466);

-		if (genPackage.isMultipleEditorPages()) {

-			stringBuffer.append(TEXT_467);

-		} else {

-			stringBuffer.append(TEXT_468);

-		}

-		stringBuffer.append(TEXT_469);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_470);

-		} else {

-			stringBuffer.append(TEXT_471);

-		}

-		stringBuffer.append(TEXT_472);

-		if (!genModel.useGenerics()) {

-			stringBuffer.append(TEXT_473);

-		}

-		stringBuffer.append(TEXT_474);

-		stringBuffer.append(_CollectionOfAnything);

-		stringBuffer.append(TEXT_475);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_476);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_477);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_478);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_479);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_480);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_481);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_482);

-		}

-		stringBuffer.append(TEXT_483);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_484);

-		}

-		stringBuffer.append(TEXT_485);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_486);

-		} else {

-			stringBuffer.append(TEXT_487);

-		}

-		stringBuffer.append(TEXT_488);

-		if (!genModel.useGenerics()) {

-			stringBuffer.append(TEXT_489);

-		}

-		stringBuffer.append(TEXT_490);

-		stringBuffer.append(genPackage.isMultipleEditorPages());

-		stringBuffer.append(TEXT_491);

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_492);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate

-				&& (genPackage.hasConcreteClasses() && genPackage.getGenModel().getRuntimePlatform() != GenRuntimePlatform.GWT);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Editor extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized Editor create(String lineSeparator) {
+		nl = lineSeparator;
+		Editor result = new Editor();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL + "" + NL + "" + NL + "import java.io.IOException;" + NL
+			+ "import java.io.InputStream;" + NL + "" + NL + "import java.util.ArrayList;" + NL
+			+ "import java.util.Collection;" + NL + "import java.util.Collections;" + NL
+			+ "import java.util.EventObject;" + NL + "import java.util.HashMap;" + NL + "import java.util.Iterator;"
+			+ NL + "import java.util.LinkedHashMap;" + NL + "import java.util.List;" + NL + "import java.util.Map;";
+	protected final String TEXT_4 = NL + NL + "import org.eclipse.core.resources.IFile;" + NL
+			+ "import org.eclipse.core.resources.IMarker;" + NL + "import org.eclipse.core.resources.IResource;" + NL
+			+ "import org.eclipse.core.resources.IResourceChangeEvent;" + NL
+			+ "import org.eclipse.core.resources.IResourceChangeListener;" + NL
+			+ "import org.eclipse.core.resources.IResourceDelta;" + NL
+			+ "import org.eclipse.core.resources.IResourceDeltaVisitor;" + NL
+			+ "import org.eclipse.core.resources.ResourcesPlugin;";
+	protected final String TEXT_5 = NL;
+	protected final String TEXT_6 = NL + "import org.eclipse.core.runtime.CoreException;" + NL
+			+ "import org.eclipse.core.runtime.IPath;";
+	protected final String TEXT_7 = NL + "import org.eclipse.core.runtime.IProgressMonitor;" + NL
+			+ "import org.eclipse.core.runtime.NullProgressMonitor;" + NL + "" + NL
+			+ "import org.eclipse.jface.action.IMenuListener;" + NL + "import org.eclipse.jface.action.IMenuManager;"
+			+ NL + "import org.eclipse.jface.action.IStatusLineManager;" + NL
+			+ "import org.eclipse.jface.action.IToolBarManager;" + NL + "import org.eclipse.jface.action.MenuManager;"
+			+ NL + "import org.eclipse.jface.action.Separator;" + NL + "" + NL
+			+ "import org.eclipse.jface.dialogs.MessageDialog;" + NL
+			+ "import org.eclipse.jface.dialogs.ProgressMonitorDialog;" + NL;
+	protected final String TEXT_8 = NL + "import org.eclipse.jface.util.LocalSelectionTransfer;" + NL;
+	protected final String TEXT_9 = NL + "import org.eclipse.jface.viewers.ColumnWeightData;";
+	protected final String TEXT_10 = NL + "import org.eclipse.jface.viewers.ISelection;" + NL
+			+ "import org.eclipse.jface.viewers.ISelectionChangedListener;" + NL
+			+ "import org.eclipse.jface.viewers.ISelectionProvider;" + NL
+			+ "import org.eclipse.jface.viewers.IStructuredSelection;";
+	protected final String TEXT_11 = NL + "import org.eclipse.jface.viewers.ListViewer;";
+	protected final String TEXT_12 = NL + "import org.eclipse.jface.viewers.SelectionChangedEvent;" + NL
+			+ "import org.eclipse.jface.viewers.StructuredSelection;" + NL
+			+ "import org.eclipse.jface.viewers.StructuredViewer;";
+	protected final String TEXT_13 = NL + "import org.eclipse.jface.viewers.TableLayout;" + NL
+			+ "import org.eclipse.jface.viewers.TableViewer;";
+	protected final String TEXT_14 = NL + "import org.eclipse.jface.viewers.TreeViewer;" + NL
+			+ "import org.eclipse.jface.viewers.Viewer;" + NL + "" + NL + "import org.eclipse.swt.SWT;" + NL + "" + NL
+			+ "import org.eclipse.swt.custom.CTabFolder;" + NL + "" + NL + "import org.eclipse.swt.dnd.DND;";
+	protected final String TEXT_15 = NL + "import org.eclipse.swt.dnd.FileTransfer;";
+	protected final String TEXT_16 = NL + "import org.eclipse.swt.dnd.Transfer;" + NL + "" + NL
+			+ "import org.eclipse.swt.events.ControlAdapter;" + NL + "import org.eclipse.swt.events.ControlEvent;" + NL
+			+ "" + NL + "import org.eclipse.swt.graphics.Point;";
+	protected final String TEXT_17 = NL + NL + "import org.eclipse.swt.layout.FillLayout;";
+	protected final String TEXT_18 = NL + NL + "import org.eclipse.swt.widgets.Composite;" + NL
+			+ "import org.eclipse.swt.widgets.Menu;";
+	protected final String TEXT_19 = NL + "import org.eclipse.swt.widgets.Table;" + NL
+			+ "import org.eclipse.swt.widgets.TableColumn;";
+	protected final String TEXT_20 = NL + "import org.eclipse.swt.widgets.Tree;";
+	protected final String TEXT_21 = NL + "import org.eclipse.swt.widgets.TreeColumn;";
+	protected final String TEXT_22 = NL + NL + "import org.eclipse.ui.IActionBars;" + NL
+			+ "import org.eclipse.ui.IEditorInput;" + NL + "import org.eclipse.ui.IEditorPart;" + NL
+			+ "import org.eclipse.ui.IEditorSite;";
+	protected final String TEXT_23 = NL + "import org.eclipse.ui.IFileEditorInput;";
+	protected final String TEXT_24 = NL + "import org.eclipse.ui.IPartListener;" + NL
+			+ "import org.eclipse.ui.IWorkbenchPart;" + NL + "import org.eclipse.ui.PartInitException;";
+	protected final String TEXT_25 = NL + NL + "import org.eclipse.ui.dialogs.SaveAsDialog;" + NL + "" + NL
+			+ "import org.eclipse.ui.ide.IGotoMarker;";
+	protected final String TEXT_26 = NL;
+	protected final String TEXT_27 = NL + "import org.eclipse.ui.part.FileEditorInput;";
+	protected final String TEXT_28 = NL + "import org.eclipse.ui.part.MultiPageEditorPart;" + NL + "" + NL
+			+ "import org.eclipse.ui.views.contentoutline.ContentOutline;" + NL
+			+ "import org.eclipse.ui.views.contentoutline.ContentOutlinePage;" + NL
+			+ "import org.eclipse.ui.views.contentoutline.IContentOutlinePage;" + NL + "" + NL
+			+ "import org.eclipse.ui.views.properties.IPropertySheetPage;" + NL
+			+ "import org.eclipse.ui.views.properties.PropertySheet;" + NL
+			+ "import org.eclipse.ui.views.properties.PropertySheetPage;" + NL + "" + NL
+			+ "import org.eclipse.emf.common.command.BasicCommandStack;" + NL
+			+ "import org.eclipse.emf.common.command.Command;" + NL
+			+ "import org.eclipse.emf.common.command.CommandStack;" + NL
+			+ "import org.eclipse.emf.common.command.CommandStackListener;" + NL + "" + NL
+			+ "import org.eclipse.emf.common.notify.AdapterFactory;" + NL
+			+ "import org.eclipse.emf.common.notify.Notification;" + NL;
+	protected final String TEXT_29 = NL + "import org.eclipse.emf.common.ui.MarkerHelper;";
+	protected final String TEXT_30 = NL + "import org.eclipse.emf.common.ui.ViewerPane;";
+	protected final String TEXT_31 = NL + NL + "import org.eclipse.emf.common.ui.editor.ProblemEditorPart;" + NL + ""
+			+ NL + "import org.eclipse.emf.common.ui.viewer.IViewerProvider;" + NL + "" + NL
+			+ "import org.eclipse.emf.common.util.BasicDiagnostic;" + NL
+			+ "import org.eclipse.emf.common.util.Diagnostic;" + NL + "import org.eclipse.emf.common.util.URI;" + NL;
+	protected final String TEXT_32 = NL + "import org.eclipse.emf.ecore.EObject;" + NL
+			+ "import org.eclipse.emf.ecore.EValidator;";
+	protected final String TEXT_33 = NL + NL + "import org.eclipse.emf.ecore.resource.Resource;";
+	protected final String TEXT_34 = NL + "import org.eclipse.emf.ecore.resource.ResourceSet;";
+	protected final String TEXT_35 = NL + NL + "import org.eclipse.emf.ecore.util.EContentAdapter;" + NL
+			+ "import org.eclipse.emf.ecore.util.EcoreUtil;" + NL + "" + NL
+			+ "import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;" + NL
+			+ "import org.eclipse.emf.edit.domain.EditingDomain;" + NL
+			+ "import org.eclipse.emf.edit.domain.IEditingDomainProvider;" + NL + "" + NL
+			+ "import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;" + NL
+			+ "import org.eclipse.emf.edit.provider.ComposedAdapterFactory;" + NL
+			+ "import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;" + NL + "" + NL
+			+ "import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;" + NL + "" + NL
+			+ "import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;" + NL + "" + NL
+			+ "import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;" + NL + "" + NL
+			+ "import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;" + NL
+			+ "import org.eclipse.emf.edit.ui.dnd.LocalTransfer;" + NL
+			+ "import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;" + NL + "" + NL
+			+ "import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;" + NL
+			+ "import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;";
+	protected final String TEXT_36 = NL + "import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;";
+	protected final String TEXT_37 = NL + NL + "import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;";
+	protected final String TEXT_38 = NL + "import org.eclipse.emf.edit.ui.util.EditUIUtil;";
+	protected final String TEXT_39 = NL + NL + "import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;" + NL
+			+ "" + NL + "import ";
+	protected final String TEXT_40 = ";" + NL;
+	protected final String TEXT_41 = NL + NL + NL + "/**" + NL + " * This is an example of a ";
+	protected final String TEXT_42 = " model editor." + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public class ";
+	protected final String TEXT_43 = NL + "\textends MultiPageEditorPart" + NL
+			+ "\timplements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider";
+	protected final String TEXT_44 = ", IGotoMarker";
+	protected final String TEXT_45 = NL + "{";
+	protected final String TEXT_46 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_47 = " copyright = ";
+	protected final String TEXT_48 = ";";
+	protected final String TEXT_49 = NL;
+	protected final String TEXT_50 = NL + "\t/**" + NL + "\t * The filters for file extensions supported by the editor."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_51 = NL + "\tpublic static final ";
+	protected final String TEXT_52 = " FILE_EXTENSION_FILTERS = prefixExtensions(";
+	protected final String TEXT_53 = ".FILE_EXTENSIONS, \"*.\");";
+	protected final String TEXT_54 = NL + "\t";
+	protected final String TEXT_55 = NL + "\tpublic static final ";
+	protected final String TEXT_56 = " FILE_EXTENSION_FILTERS = prefixExtensions(";
+	protected final String TEXT_57 = ".asList(";
+	protected final String TEXT_58 = ".INSTANCE.getString(\"_UI_";
+	protected final String TEXT_59 = "FilenameExtensions\").split(\"\\\\s*,\\\\s*\")), \"*.\");";
+	protected final String TEXT_60 = NL + "\t";
+	protected final String TEXT_61 = NL + "\t/**" + NL
+			+ "\t * Returns a new unmodifiable list containing prefixed versions of the extensions in the given list."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprivate static ";
+	protected final String TEXT_62 = " prefixExtensions(";
+	protected final String TEXT_63 = " extensions, String prefix)" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_64 = " result = new ";
+	protected final String TEXT_65 = "();";
+	protected final String TEXT_66 = NL + "\t\tfor (String extension : extensions)" + NL + "\t\t{" + NL
+			+ "\t\t\tresult.add(prefix + extension);";
+	protected final String TEXT_67 = NL + "\t\tfor (Iterator iterator = extensions.iterator() ; iterator.hasNext(); )"
+			+ NL + "\t\t{" + NL + "\t\t\tresult.add(prefix + (String)iterator.next());";
+	protected final String TEXT_68 = NL + "\t\t}" + NL + "\t\treturn Collections.unmodifiableList(result);" + NL + "\t}"
+			+ NL;
+	protected final String TEXT_69 = NL + "\t/**" + NL
+			+ "\t * This keeps track of the editing domain that is used to track all changes to the model." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected AdapterFactoryEditingDomain editingDomain;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This is the one adapter factory used for providing views of the model." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ComposedAdapterFactory adapterFactory;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This is the content outline page." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected IContentOutlinePage contentOutlinePage;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This is a kludge..." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t */" + NL + "\tprotected IStatusLineManager contentOutlineStatusLineManager;"
+			+ NL + "" + NL + "\t/**" + NL + "\t * This is the content outline page's viewer." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected TreeViewer contentOutlineViewer;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This is the property sheet page." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_70 = " propertySheetPages = new ";
+	protected final String TEXT_71 = "();" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This is the viewer that shadows the selection in the content outline." + NL
+			+ "\t * The parent relation must be correctly defined for this to work." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected TreeViewer selectionViewer;";
+	protected final String TEXT_72 = NL + NL + "\t/**" + NL
+			+ "\t * This inverts the roll of parent and child in the content provider and show parents as a tree." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected TreeViewer parentViewer;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This shows how a tree view works." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected TreeViewer treeViewer;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This shows how a list view works." + NL + "\t * A list viewer doesn't support icons." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ListViewer listViewer;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This shows how a table view works." + NL + "\t * A table can be used as a list with icons." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected TableViewer tableViewer;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This shows how a tree view with columns works." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected TreeViewer treeViewerWithColumns;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This keeps track of the active viewer pane, in the book." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected ViewerPane currentViewerPane;";
+	protected final String TEXT_73 = NL + NL + "\t/**" + NL
+			+ "\t * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected Viewer currentViewer;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This listens to which ever viewer is active." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected ISelectionChangedListener selectionChangedListener;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected ";
+	protected final String TEXT_74 = " selectionChangedListeners = new ";
+	protected final String TEXT_75 = "();" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This keeps track of the selection of the editor as a whole." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected ISelection editorSelection = StructuredSelection.EMPTY;" + NL;
+	protected final String TEXT_76 = NL + "\t/**" + NL
+			+ "\t * The MarkerHelper is responsible for creating workspace resource markers presented" + NL
+			+ "\t * in Eclipse's Problems View." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected MarkerHelper markerHelper = new EditUIMarkerHelper();" + NL;
+	protected final String TEXT_77 = NL + "\t/**" + NL + "\t * This listens for when the outline becomes active" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected IPartListener partListener =" + NL + "\t\tnew IPartListener()" + NL + "\t\t{" + NL
+			+ "\t\t\tpublic void partActivated(IWorkbenchPart p)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tif (p instanceof ContentOutline)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tif (((ContentOutline)p).getCurrentPage() == contentOutlinePage)" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tgetActionBarContributor().setActiveEditor(";
+	protected final String TEXT_78 = ".this);" + NL + "" + NL + "\t\t\t\t\t\tsetCurrentViewer(contentOutlineViewer);"
+			+ NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t\telse if (p instanceof PropertySheet)" + NL
+			+ "\t\t\t\t{" + NL + "\t\t\t\t\tif (propertySheetPages.contains(((PropertySheet)p).getCurrentPage()))" + NL
+			+ "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tgetActionBarContributor().setActiveEditor(";
+	protected final String TEXT_79 = ".this);" + NL + "\t\t\t\t\t\thandleActivate();" + NL + "\t\t\t\t\t}" + NL
+			+ "\t\t\t\t}" + NL + "\t\t\t\telse if (p == ";
+	protected final String TEXT_80 = ".this)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\thandleActivate();" + NL + "\t\t\t\t}"
+			+ NL + "\t\t\t}" + NL + "\t\t\tpublic void partBroughtToTop(IWorkbenchPart p)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t// Ignore." + NL + "\t\t\t}" + NL + "\t\t\tpublic void partClosed(IWorkbenchPart p)" + NL
+			+ "\t\t\t{" + NL + "\t\t\t\t// Ignore." + NL + "\t\t\t}" + NL
+			+ "\t\t\tpublic void partDeactivated(IWorkbenchPart p)" + NL + "\t\t\t{" + NL + "\t\t\t\t// Ignore." + NL
+			+ "\t\t\t}" + NL + "\t\t\tpublic void partOpened(IWorkbenchPart p)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t// Ignore." + NL + "\t\t\t}" + NL + "\t\t};" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Resources that have been removed since last activation." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_81 = " removedResources = new ";
+	protected final String TEXT_82 = "();" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Resources that have been changed since last activation." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_83 = " changedResources = new ";
+	protected final String TEXT_84 = "();" + NL + "" + NL + "\t/**" + NL + "\t * Resources that have been saved." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ";
+	protected final String TEXT_85 = " savedResources = new ";
+	protected final String TEXT_86 = "();" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Map to store the diagnostic associated with a resource." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_87 = " resourceToDiagnosticMap = new ";
+	protected final String TEXT_88 = "();" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Controls whether the problem indication should be updated." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected boolean updateProblemIndication = true;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Adapter used to update the problem indication when resources are demanded loaded." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected EContentAdapter problemIndicationAdapter =" + NL + "\t\tnew EContentAdapter()" + NL
+			+ "\t\t{";
+	protected final String TEXT_89 = NL + "\t\t\t@Override";
+	protected final String TEXT_90 = NL + "\t\t\tpublic void notifyChanged(Notification notification)" + NL + "\t\t\t{"
+			+ NL + "\t\t\t\tif (notification.getNotifier() instanceof Resource)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tswitch (notification.getFeatureID(Resource.class))" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tcase Resource.RESOURCE__IS_LOADED:" + NL + "\t\t\t\t\t\tcase Resource.RESOURCE__ERRORS:" + NL
+			+ "\t\t\t\t\t\tcase Resource.RESOURCE__WARNINGS:" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\tResource resource = (Resource)notification.getNotifier();" + NL
+			+ "\t\t\t\t\t\t\tDiagnostic diagnostic = analyzeResourceProblems(resource, null);" + NL
+			+ "\t\t\t\t\t\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\t\tresourceToDiagnosticMap.put(resource, diagnostic);" + NL + "\t\t\t\t\t\t\t}" + NL
+			+ "\t\t\t\t\t\t\telse" + NL + "\t\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\t\tresourceToDiagnosticMap.remove(resource);" + NL + "\t\t\t\t\t\t\t}" + NL + "" + NL
+			+ "\t\t\t\t\t\t\tif (updateProblemIndication)" + NL + "\t\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL + "\t\t\t\t\t\t\t\t\t(new Runnable()"
+			+ NL + "\t\t\t\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t\t\t\t public void run()" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t\t\t\t\t updateProblemIndication();" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t\t\t\t });" + NL + "\t\t\t\t\t\t\t}" + NL
+			+ "\t\t\t\t\t\t\tbreak;" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tsuper.notifyChanged(notification);" + NL + "\t\t\t\t}"
+			+ NL + "\t\t\t}" + NL;
+	protected final String TEXT_91 = NL + "\t\t\t@Override";
+	protected final String TEXT_92 = NL + "\t\t\tprotected void setTarget(Resource target)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tbasicSetTarget(target);" + NL + "\t\t\t}" + NL;
+	protected final String TEXT_93 = NL + "\t\t\t@Override";
+	protected final String TEXT_94 = NL + "\t\t\tprotected void unsetTarget(Resource target)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tbasicUnsetTarget(target);" + NL + "\t\t\t\tresourceToDiagnosticMap.remove(target);" + NL
+			+ "\t\t\t\tif (updateProblemIndication)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL + "\t\t\t\t\t\t(new Runnable()" + NL
+			+ "\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t\t\t {" + NL
+			+ "\t\t\t\t\t\t\t\t updateProblemIndication();" + NL + "\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t });" + NL
+			+ "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t};";
+	protected final String TEXT_95 = NL + NL + "\t/**" + NL + "\t * This listens for workspace changes." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected IResourceChangeListener resourceChangeListener =" + NL
+			+ "\t\tnew IResourceChangeListener()" + NL + "\t\t{" + NL
+			+ "\t\t\tpublic void resourceChanged(IResourceChangeEvent event)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tIResourceDelta delta = event.getDelta();" + NL + "\t\t\t\ttry" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tclass ResourceDeltaVisitor implements IResourceDeltaVisitor" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tprotected ResourceSet resourceSet = editingDomain.getResourceSet();" + NL
+			+ "\t\t\t\t\t\tprotected ";
+	protected final String TEXT_96 = " changedResources = new ";
+	protected final String TEXT_97 = "();" + NL + "\t\t\t\t\t\tprotected ";
+	protected final String TEXT_98 = " removedResources = new ";
+	protected final String TEXT_99 = "();" + NL + "" + NL + "\t\t\t\t\t\tpublic boolean visit(";
+	protected final String TEXT_100 = "final ";
+	protected final String TEXT_101 = "IResourceDelta delta)" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\tif (delta.getResource().getType() == IResource.FILE)" + NL + "\t\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\t\tif (delta.getKind() == IResourceDelta.REMOVED ||" + NL
+			+ "\t\t\t\t\t\t\t\t    delta.getKind() == IResourceDelta.CHANGED";
+	protected final String TEXT_102 = " && delta.getFlags() != IResourceDelta.MARKERS";
+	protected final String TEXT_103 = ")" + NL + "\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t";
+	protected final String TEXT_104 = "final ";
+	protected final String TEXT_105 = "Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);"
+			+ NL + "\t\t\t\t\t\t\t\t\tif (resource != null)" + NL + "\t\t\t\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\t\t\t\tif (delta.getKind() == IResourceDelta.REMOVED)" + NL + "\t\t\t\t\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t\tremovedResources.add(resource);" + NL + "\t\t\t\t\t\t\t\t\t\t}";
+	protected final String TEXT_106 = NL + "\t\t\t\t\t\t\t\t\t\telse if (!savedResources.remove(resource))" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\t\tchangedResources.add(resource);" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t}";
+	protected final String TEXT_107 = NL + "\t\t\t\t\t\t\t\t\t\telse" + NL + "\t\t\t\t\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t\tif ((delta.getFlags() & IResourceDelta.MARKERS) != 0)" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\t\t\t";
+	protected final String TEXT_108 = ".DiagnosticAdapter.update(resource, markerHelper.getMarkerDiagnostics(resource, (IFile)delta.getResource()";
+	protected final String TEXT_109 = ", false";
+	protected final String TEXT_110 = "));" + NL + "\t\t\t\t\t\t\t\t\t\t\t}" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t\tif ((delta.getFlags() & IResourceDelta.CONTENT) != 0)" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\t\t\tif (!savedResources.remove(resource))" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\t\t\t\t\t\tchangedResources.add(resource);" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\t\t\t\t}";
+	protected final String TEXT_111 = NL + "\t\t\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\t\t}" + NL
+			+ "\t\t\t\t\t\t\t\treturn false;" + NL + "\t\t\t\t\t\t\t}" + NL + "" + NL + "\t\t\t\t\t\t\treturn true;"
+			+ NL + "\t\t\t\t\t\t}" + NL + "" + NL + "\t\t\t\t\t\tpublic ";
+	protected final String TEXT_112 = " getChangedResources()" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\treturn changedResources;" + NL + "\t\t\t\t\t\t}" + NL + "" + NL + "\t\t\t\t\t\tpublic ";
+	protected final String TEXT_113 = " getRemovedResources()" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\treturn removedResources;" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "" + NL
+			+ "\t\t\t\t\tfinal ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();" + NL
+			+ "\t\t\t\t\tdelta.accept(visitor);" + NL + "" + NL
+			+ "\t\t\t\t\tif (!visitor.getRemovedResources().isEmpty())" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL + "\t\t\t\t\t\t\t(new Runnable()" + NL
+			+ "\t\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t\t\t\t {" + NL
+			+ "\t\t\t\t\t\t\t\t\t removedResources.addAll(visitor.getRemovedResources());" + NL
+			+ "\t\t\t\t\t\t\t\t\t if (!isDirty())" + NL + "\t\t\t\t\t\t\t\t\t {" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t getSite().getPage().closeEditor(";
+	protected final String TEXT_114 = ".this, false);" + NL + "\t\t\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t\t\t }" + NL
+			+ "\t\t\t\t\t\t\t });" + NL + "\t\t\t\t\t}" + NL + "" + NL
+			+ "\t\t\t\t\tif (!visitor.getChangedResources().isEmpty())" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL + "\t\t\t\t\t\t\t(new Runnable()" + NL
+			+ "\t\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t\t\t\t {" + NL
+			+ "\t\t\t\t\t\t\t\t\t changedResources.addAll(visitor.getChangedResources());" + NL
+			+ "\t\t\t\t\t\t\t\t\t if (getSite().getPage().getActiveEditor() == ";
+	protected final String TEXT_115 = ".this)" + NL + "\t\t\t\t\t\t\t\t\t {" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t handleActivate();" + NL + "\t\t\t\t\t\t\t\t\t }" + NL + "\t\t\t\t\t\t\t\t }" + NL
+			+ "\t\t\t\t\t\t\t });" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t\tcatch (CoreException exception)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+	protected final String TEXT_116 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t};";
+	protected final String TEXT_117 = NL + NL + "\t/**" + NL
+			+ "\t * Handles activation of the editor or it's associated views." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected void handleActivate()" + NL + "\t{" + NL + "\t\t// Recompute the read only state." + NL
+			+ "\t\t//" + NL + "\t\tif (editingDomain.getResourceToReadOnlyMap() != null)" + NL + "\t\t{" + NL
+			+ "\t\t  editingDomain.getResourceToReadOnlyMap().clear();" + NL + "" + NL
+			+ "\t\t  // Refresh any actions that may become enabled or disabled." + NL + "\t\t  //" + NL
+			+ "\t\t  setSelection(getSelection());" + NL + "\t\t}" + NL + "" + NL
+			+ "\t\tif (!removedResources.isEmpty())" + NL + "\t\t{" + NL + "\t\t\tif (handleDirtyConflict())" + NL
+			+ "\t\t\t{" + NL + "\t\t\t\tgetSite().getPage().closeEditor(";
+	protected final String TEXT_118 = ".this, false);" + NL + "\t\t\t}" + NL + "\t\t\telse" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tremovedResources.clear();" + NL + "\t\t\t\tchangedResources.clear();" + NL
+			+ "\t\t\t\tsavedResources.clear();" + NL + "\t\t\t}" + NL + "\t\t}" + NL
+			+ "\t\telse if (!changedResources.isEmpty())" + NL + "\t\t{" + NL
+			+ "\t\t\tchangedResources.removeAll(savedResources);" + NL + "\t\t\thandleChangedResources();" + NL
+			+ "\t\t\tchangedResources.clear();" + NL + "\t\t\tsavedResources.clear();" + NL + "\t\t}" + NL + "\t}" + NL
+			+ "" + NL + "\t/**" + NL + "\t * Handles what to do with changed resources on activation." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected void handleChangedResources()" + NL + "\t{" + NL
+			+ "\t\tif (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict()))" + NL + "\t\t{" + NL
+			+ "\t\t\tif (isDirty())" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tchangedResources.addAll(editingDomain.getResourceSet().getResources());" + NL + "\t\t\t}" + NL
+			+ "\t\t\teditingDomain.getCommandStack().flush();" + NL + "" + NL
+			+ "\t\t\tupdateProblemIndication = false;";
+	protected final String TEXT_119 = NL + "\t\t\tfor (Resource resource : changedResources)";
+	protected final String TEXT_120 = NL + "\t\t\tfor (Iterator i = changedResources.iterator(); i.hasNext(); )";
+	protected final String TEXT_121 = NL + "\t\t\t{";
+	protected final String TEXT_122 = NL + "\t\t\t\tResource resource = (Resource)i.next();";
+	protected final String TEXT_123 = NL + "\t\t\t\tif (resource.isLoaded())" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tresource.unload();" + NL + "\t\t\t\t\ttry" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tresource.load(Collections.EMPTY_MAP);" + NL + "\t\t\t\t\t}" + NL
+			+ "\t\t\t\t\tcatch (IOException exception)" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tif (!resourceToDiagnosticMap.containsKey(resource))" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\tresourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));" + NL
+			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL;
+	protected final String TEXT_124 = NL + "\t\t\tif (AdapterFactoryEditingDomain.isStale(editorSelection))" + NL
+			+ "\t\t\t{" + NL + "\t\t\t\tsetSelection(StructuredSelection.EMPTY);" + NL + "\t\t\t}";
+	protected final String TEXT_125 = NL + NL + "\t\t\tupdateProblemIndication = true;" + NL
+			+ "\t\t\tupdateProblemIndication();" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Updates the problems indication with the information described in the specified diagnostic." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected void updateProblemIndication()" + NL + "\t{" + NL + "\t\tif (updateProblemIndication)"
+			+ NL + "\t\t{" + NL + "\t\t\tBasicDiagnostic diagnostic =" + NL + "\t\t\t\tnew BasicDiagnostic" + NL
+			+ "\t\t\t\t\t(Diagnostic.OK," + NL + "\t\t\t\t\t \"";
+	protected final String TEXT_126 = "\",";
+	protected final String TEXT_127 = NL + "\t\t\t\t\t 0," + NL + "\t\t\t\t\t null," + NL
+			+ "\t\t\t\t\t new Object [] { editingDomain.getResourceSet() });";
+	protected final String TEXT_128 = NL + "\t\t\tfor (Diagnostic childDiagnostic : resourceToDiagnosticMap.values())";
+	protected final String TEXT_129 = NL
+			+ "\t\t\tfor (Iterator i = resourceToDiagnosticMap.values().iterator(); i.hasNext(); )";
+	protected final String TEXT_130 = NL + "\t\t\t{";
+	protected final String TEXT_131 = NL + "\t\t\t\tDiagnostic childDiagnostic = (Diagnostic)i.next();";
+	protected final String TEXT_132 = NL + "\t\t\t\tif (childDiagnostic.getSeverity() != Diagnostic.OK)" + NL
+			+ "\t\t\t\t{" + NL + "\t\t\t\t\tdiagnostic.add(childDiagnostic);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL
+			+ "" + NL + "\t\t\tint lastEditorPage = getPageCount() - 1;" + NL
+			+ "\t\t\tif (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart)" + NL
+			+ "\t\t\t{" + NL + "\t\t\t\t((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);" + NL
+			+ "\t\t\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tsetActivePage(lastEditorPage);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL
+			+ "\t\t\telse if (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tProblemEditorPart problemEditorPart = new ProblemEditorPart();" + NL
+			+ "\t\t\t\tproblemEditorPart.setDiagnostic(diagnostic);";
+	protected final String TEXT_133 = NL + "\t\t\t\tproblemEditorPart.setMarkerHelper(markerHelper);";
+	protected final String TEXT_134 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\taddPage(++lastEditorPage, problemEditorPart, getEditorInput());" + NL
+			+ "\t\t\t\t\tsetPageText(lastEditorPage, problemEditorPart.getPartName());" + NL
+			+ "\t\t\t\t\tsetActivePage(lastEditorPage);" + NL + "\t\t\t\t\tshowTabs();" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t\tcatch (PartInitException exception)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+	protected final String TEXT_135 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t}" + NL + "\t\t\t}";
+	protected final String TEXT_136 = NL + NL + "\t\t\tif (markerHelper.hasMarkers(editingDomain.getResourceSet()))"
+			+ NL + "\t\t\t{" + NL + "\t\t\t\tmarkerHelper.deleteMarkers(editingDomain.getResourceSet());" + NL
+			+ "\t\t\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\ttry" + NL
+			+ "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tmarkerHelper.createMarkers(diagnostic);" + NL + "\t\t\t\t\t}" + NL
+			+ "\t\t\t\t\tcatch (CoreException exception)" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\t";
+	protected final String TEXT_137 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t}";
+	protected final String TEXT_138 = NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Shows a dialog that asks if conflicting changes should be discarded." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected boolean handleDirtyConflict()" + NL + "\t{" + NL + "\t\treturn" + NL
+			+ "\t\t\tMessageDialog.openQuestion" + NL + "\t\t\t\t(getSite().getShell()," + NL
+			+ "\t\t\t\t getString(\"_UI_FileConflict_label\"),";
+	protected final String TEXT_139 = NL + "\t\t\t\t getString(\"_WARN_FileConflict\"));";
+	protected final String TEXT_140 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This creates a model editor."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tpublic ";
+	protected final String TEXT_141 = "()" + NL + "\t{" + NL + "\t\tsuper();" + NL + "\t\tinitializeEditingDomain();"
+			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This sets up the editing domain for the model editor."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected void initializeEditingDomain()" + NL + "\t{" + NL
+			+ "\t\t// Create an adapter factory that yields item providers." + NL + "\t\t//" + NL
+			+ "\t\tadapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);"
+			+ NL + "" + NL + "\t\tadapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());";
+	protected final String TEXT_142 = NL;
+	protected final String TEXT_143 = NL
+			+ "\t\tadapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());" + NL + "" + NL
+			+ "\t\t// Create the command stack that will notify this editor as commands are executed." + NL + "\t\t//"
+			+ NL + "\t\tBasicCommandStack commandStack = new BasicCommandStack();" + NL + "" + NL
+			+ "\t\t// Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus."
+			+ NL + "\t\t//" + NL + "\t\tcommandStack.addCommandStackListener" + NL + "\t\t\t(new CommandStackListener()"
+			+ NL + "\t\t\t {" + NL + "\t\t\t\t public void commandStackChanged(final EventObject event)" + NL
+			+ "\t\t\t\t {" + NL + "\t\t\t\t\t getContainer().getDisplay().asyncExec" + NL
+			+ "\t\t\t\t\t\t (new Runnable()" + NL + "\t\t\t\t\t\t  {" + NL + "\t\t\t\t\t\t\t  public void run()" + NL
+			+ "\t\t\t\t\t\t\t  {" + NL + "\t\t\t\t\t\t\t\t  firePropertyChange(IEditorPart.PROP_DIRTY);" + NL + "" + NL
+			+ "\t\t\t\t\t\t\t\t  // Try to select the affected objects." + NL + "\t\t\t\t\t\t\t\t  //" + NL
+			+ "\t\t\t\t\t\t\t\t  Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();"
+			+ NL + "\t\t\t\t\t\t\t\t  if (mostRecentCommand != null)" + NL + "\t\t\t\t\t\t\t\t  {" + NL
+			+ "\t\t\t\t\t\t\t\t\t  setSelectionToViewer(mostRecentCommand.getAffectedObjects());" + NL
+			+ "\t\t\t\t\t\t\t\t  }" + NL + "\t\t\t\t\t\t\t\t  for (Iterator";
+	protected final String TEXT_144 = "<PropertySheetPage>";
+	protected final String TEXT_145 = " i = propertySheetPages.iterator(); i.hasNext(); )" + NL + "\t\t\t\t\t\t\t\t  {"
+			+ NL + "\t\t\t\t\t\t\t\t\t  PropertySheetPage propertySheetPage = ";
+	protected final String TEXT_146 = "(PropertySheetPage)";
+	protected final String TEXT_147 = "i.next();" + NL
+			+ "\t\t\t\t\t\t\t\t\t  if (propertySheetPage.getControl().isDisposed())" + NL + "\t\t\t\t\t\t\t\t\t  {" + NL
+			+ "\t\t\t\t\t\t\t\t\t\t  i.remove();" + NL + "\t\t\t\t\t\t\t\t\t  }" + NL + "\t\t\t\t\t\t\t\t\t  else" + NL
+			+ "\t\t\t\t\t\t\t\t\t  {" + NL + "\t\t\t\t\t\t\t\t\t\t  propertySheetPage.refresh();" + NL
+			+ "\t\t\t\t\t\t\t\t\t  }" + NL + "\t\t\t\t\t\t\t\t  }" + NL + "\t\t\t\t\t\t\t  }" + NL + "\t\t\t\t\t\t  });"
+			+ NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL + "" + NL
+			+ "\t\t// Create the editing domain with a special command stack." + NL + "\t\t//" + NL
+			+ "\t\teditingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new ";
+	protected final String TEXT_148 = "());" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This is here for the listener to be able to call it." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_149 = NL + "\t\t\t@Override";
+	protected final String TEXT_150 = NL + "\tprotected void firePropertyChange(int action)" + NL + "\t{" + NL
+			+ "\t\tsuper.firePropertyChange(action);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This sets the selection into whichever viewer is active." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic void setSelectionToViewer(";
+	protected final String TEXT_151 = " collection)" + NL + "\t{" + NL + "\t\tfinal ";
+	protected final String TEXT_152 = " theSelection = collection;" + NL + "\t\t// Make sure it's okay." + NL + "\t\t//"
+			+ NL + "\t\tif (theSelection != null && !theSelection.isEmpty())" + NL + "\t\t{" + NL
+			+ "\t\t\tRunnable runnable =" + NL + "\t\t\t\tnew Runnable()" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tpublic void run()" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t// Try to select the items in the current content viewer of the editor." + NL
+			+ "\t\t\t\t\t\t//" + NL + "\t\t\t\t\t\tif (currentViewer != null)" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\tcurrentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);" + NL
+			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t};" + NL
+			+ "\t\t\tgetSite().getShell().getDisplay().asyncExec(runnable);" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL
+			+ "\t/**" + NL
+			+ "\t * This returns the editing domain as required by the {@link IEditingDomainProvider} interface." + NL
+			+ "\t * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}" + NL
+			+ "\t * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic EditingDomain getEditingDomain()" + NL + "\t{" + NL + "\t\treturn editingDomain;" + NL
+			+ "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider" + NL + "\t{"
+			+ NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+			+ "\t\t * @generated" + NL + "\t\t */" + NL
+			+ "\t\tpublic ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory)" + NL + "\t\t{" + NL
+			+ "\t\t\tsuper(adapterFactory);" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */";
+	protected final String TEXT_153 = NL + "\t\t@Override";
+	protected final String TEXT_154 = NL + "\t\tpublic Object [] getElements(Object object)" + NL + "\t\t{" + NL
+			+ "\t\t\tObject parent = super.getParent(object);" + NL
+			+ "\t\t\treturn (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();" + NL
+			+ "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";
+	protected final String TEXT_155 = NL + "\t\t@Override";
+	protected final String TEXT_156 = NL + "\t\tpublic Object [] getChildren(Object object)" + NL + "\t\t{" + NL
+			+ "\t\t\tObject parent = super.getParent(object);" + NL
+			+ "\t\t\treturn (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();" + NL
+			+ "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";
+	protected final String TEXT_157 = NL + "\t\t@Override";
+	protected final String TEXT_158 = NL + "\t\tpublic boolean hasChildren(Object object)" + NL + "\t\t{" + NL
+			+ "\t\t\tObject parent = super.getParent(object);" + NL + "\t\t\treturn parent != null;" + NL + "\t\t}" + NL
+			+ "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+			+ "\t\t * @generated" + NL + "\t\t */";
+	protected final String TEXT_159 = NL + "\t\t@Override";
+	protected final String TEXT_160 = NL + "\t\tpublic Object getParent(Object object)" + NL + "\t\t{" + NL
+			+ "\t\t\treturn null;" + NL + "\t\t}" + NL + "\t}";
+	protected final String TEXT_161 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic void setCurrentViewerPane(ViewerPane viewerPane)" + NL + "\t{" + NL
+			+ "\t\tif (currentViewerPane != viewerPane)" + NL + "\t\t{" + NL + "\t\t\tif (currentViewerPane != null)"
+			+ NL + "\t\t\t{" + NL + "\t\t\t\tcurrentViewerPane.showFocus(false);" + NL + "\t\t\t}" + NL
+			+ "\t\t\tcurrentViewerPane = viewerPane;" + NL + "\t\t}" + NL
+			+ "\t\tsetCurrentViewer(currentViewerPane.getViewer());" + NL + "\t}";
+	protected final String TEXT_162 = NL + NL + "\t/**" + NL
+			+ "\t * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,"
+			+ NL + "\t * is the current one." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic void setCurrentViewer(Viewer viewer)" + NL + "\t{"
+			+ NL + "\t\t// If it is changing..." + NL + "\t\t//" + NL + "\t\tif (currentViewer != viewer)" + NL
+			+ "\t\t{" + NL + "\t\t\tif (selectionChangedListener == null)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t// Create the listener on demand." + NL + "\t\t\t\t//" + NL
+			+ "\t\t\t\tselectionChangedListener =" + NL + "\t\t\t\t\tnew ISelectionChangedListener()" + NL
+			+ "\t\t\t\t\t{" + NL + "\t\t\t\t\t\t// This just notifies those things that are affected by the section."
+			+ NL + "\t\t\t\t\t\t//" + NL
+			+ "\t\t\t\t\t\tpublic void selectionChanged(SelectionChangedEvent selectionChangedEvent)" + NL
+			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tsetSelection(selectionChangedEvent.getSelection());" + NL
+			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t}" + NL + "" + NL
+			+ "\t\t\t// Stop listening to the old one." + NL + "\t\t\t//" + NL + "\t\t\tif (currentViewer != null)" + NL
+			+ "\t\t\t{" + NL + "\t\t\t\tcurrentViewer.removeSelectionChangedListener(selectionChangedListener);" + NL
+			+ "\t\t\t}" + NL + "" + NL + "\t\t\t// Start listening to the new one." + NL + "\t\t\t//" + NL
+			+ "\t\t\tif (viewer != null)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tviewer.addSelectionChangedListener(selectionChangedListener);" + NL + "\t\t\t}" + NL + "" + NL
+			+ "\t\t\t// Remember it." + NL + "\t\t\t//" + NL + "\t\t\tcurrentViewer = viewer;" + NL + "" + NL
+			+ "\t\t\t// Set the editors selection based on the current viewer's selection." + NL + "\t\t\t//" + NL
+			+ "\t\t\tsetSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());"
+			+ NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This returns the viewer as required by the {@link IViewerProvider} interface." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic Viewer getViewer()" + NL + "\t{" + NL + "\t\treturn currentViewer;" + NL + "\t}" + NL + ""
+			+ NL + "\t/**" + NL
+			+ "\t * This creates a context menu for the viewer and adds a listener as well registering the menu for extension."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected void createContextMenuFor(StructuredViewer viewer)" + NL + "\t{" + NL
+			+ "\t\tMenuManager contextMenu = new MenuManager(\"#PopUp\");";
+	protected final String TEXT_163 = NL + "\t\tcontextMenu.add(new Separator(\"additions\"));";
+	protected final String TEXT_164 = NL + "\t\tcontextMenu.setRemoveAllWhenShown(true);" + NL
+			+ "\t\tcontextMenu.addMenuListener(this);" + NL
+			+ "\t\tMenu menu= contextMenu.createContextMenu(viewer.getControl());" + NL
+			+ "\t\tviewer.getControl().setMenu(menu);";
+	protected final String TEXT_165 = NL
+			+ "\t\tgetSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));";
+	protected final String TEXT_166 = NL + "\t\tgetSite().registerContextMenu(contextMenu, viewer);";
+	protected final String TEXT_167 = NL + NL + "\t\tint dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;"
+			+ NL + "\t\tTransfer[] transfers = new Transfer[] { LocalTransfer.getInstance()";
+	protected final String TEXT_168 = ", LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance()";
+	protected final String TEXT_169 = " };" + NL
+			+ "\t\tviewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));" + NL
+			+ "\t\tviewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));"
+			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This is the method called to load a resource into the editing domain's resource set based on the editor's input."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tpublic void createModel()" + NL + "\t{";
+	protected final String TEXT_170 = NL
+			+ "\t\tURI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter());";
+	protected final String TEXT_171 = NL + "\t\tURI resourceURI = EditUIUtil.getURI(getEditorInput());";
+	protected final String TEXT_172 = NL + "\t\tURI resourceURI = URI.createURI(getEditorInput().getName());";
+	protected final String TEXT_173 = NL + "\t\t// Assumes that the input is a file object." + NL + "\t\t//" + NL
+			+ "\t\tIFileEditorInput modelFile = (IFileEditorInput)getEditorInput();" + NL
+			+ "\t\tURI resourceURI = URI.createPlatformResourceURI(modelFile.getFile().getFullPath().toString(), true);";
+	protected final String TEXT_174 = NL + "\t\tException exception = null;" + NL + "\t\tResource resource = null;" + NL
+			+ "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t// Load the resource through the editing domain." + NL + "\t\t\t//"
+			+ NL + "\t\t\tresource = editingDomain.getResourceSet().getResource(resourceURI, true);" + NL + "\t\t}" + NL
+			+ "\t\tcatch (Exception e)" + NL + "\t\t{" + NL + "\t\t\texception = e;" + NL
+			+ "\t\t\tresource = editingDomain.getResourceSet().getResource(resourceURI, false);" + NL + "\t\t}" + NL
+			+ "" + NL + "\t\tDiagnostic diagnostic = analyzeResourceProblems(resource, exception);" + NL
+			+ "\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t{" + NL
+			+ "\t\t\tresourceToDiagnosticMap.put(resource,  analyzeResourceProblems(resource, exception));" + NL
+			+ "\t\t}" + NL + "\t\teditingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);" + NL
+			+ "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Returns a diagnostic describing the errors and warnings listed in the resource" + NL
+			+ "\t * and the specified exception (if any)." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic Diagnostic analyzeResourceProblems(Resource resource, Exception exception)" + NL + "\t{" + NL
+			+ "\t\tboolean hasErrors = !resource.getErrors().isEmpty();" + NL
+			+ "\t\tif (hasErrors || !resource.getWarnings().isEmpty())" + NL + "\t\t{" + NL
+			+ "\t\t\tBasicDiagnostic basicDiagnostic =" + NL + "\t\t\t\tnew BasicDiagnostic" + NL
+			+ "\t\t\t\t\t(hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING," + NL + "\t\t\t\t\t \"";
+	protected final String TEXT_175 = "\",";
+	protected final String TEXT_176 = NL + "\t\t\t\t\t 0," + NL
+			+ "\t\t\t\t\t getString(\"_UI_CreateModelError_message\", resource.getURI()),";
+	protected final String TEXT_177 = NL
+			+ "\t\t\t\t\t new Object [] { exception == null ? (Object)resource : exception });" + NL
+			+ "\t\t\tbasicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));" + NL
+			+ "\t\t\treturn basicDiagnostic;" + NL + "\t\t}" + NL + "\t\telse if (exception != null)" + NL + "\t\t{"
+			+ NL + "\t\t\treturn" + NL + "\t\t\t\tnew BasicDiagnostic" + NL + "\t\t\t\t\t(Diagnostic.ERROR," + NL
+			+ "\t\t\t\t\t \"";
+	protected final String TEXT_178 = "\",";
+	protected final String TEXT_179 = NL + "\t\t\t\t\t 0," + NL
+			+ "\t\t\t\t\t getString(\"_UI_CreateModelError_message\", resource.getURI()),";
+	protected final String TEXT_180 = NL + "\t\t\t\t\t new Object[] { exception });" + NL + "\t\t}" + NL + "\t\telse"
+			+ NL + "\t\t{" + NL + "\t\t\treturn Diagnostic.OK_INSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL
+			+ "\t/**" + NL + "\t * This is the method used by the framework to install your own controls." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_181 = NL + "\t@Override";
+	protected final String TEXT_182 = NL + "\tpublic void createPages()" + NL + "\t{" + NL
+			+ "\t\t// Creates the model from the editor input" + NL + "\t\t//" + NL + "\t\tcreateModel();" + NL + ""
+			+ NL + "\t\t// Only creates the other pages if there is something that can be edited" + NL + "\t\t//" + NL
+			+ "\t\tif (!getEditingDomain().getResourceSet().getResources().isEmpty())" + NL + "\t\t{" + NL
+			+ "\t\t\t// Create a page for the selection tree view." + NL + "\t\t\t//";
+	protected final String TEXT_183 = NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL
+			+ "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";
+	protected final String TEXT_184 = ".this)" + NL + "\t\t\t\t\t{";
+	protected final String TEXT_185 = NL + "\t\t\t\t\t\t@Override";
+	protected final String TEXT_186 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL
+			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tTree tree = new Tree(composite, SWT.MULTI);" + NL
+			+ "\t\t\t\t\t\t\tTreeViewer newTreeViewer = new TreeViewer(tree);" + NL
+			+ "\t\t\t\t\t\t\treturn newTreeViewer;" + NL + "\t\t\t\t\t\t}";
+	protected final String TEXT_187 = NL + "\t\t\t\t\t\t@Override";
+	protected final String TEXT_188 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL
+			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL + ""
+			+ NL + "\t\t\t\tselectionViewer = (TreeViewer)viewerPane.getViewer();" + NL
+			+ "\t\t\t\tselectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL + ""
+			+ NL + "\t\t\t\tselectionViewer.setLabelProvider(";
+	protected final String TEXT_189 = "new ";
+	protected final String TEXT_190 = "(";
+	protected final String TEXT_191 = "new ";
+	protected final String TEXT_192 = "(";
+	protected final String TEXT_193 = "new ";
+	protected final String TEXT_194 = "(adapterFactory";
+	protected final String TEXT_195 = ", selectionViewer";
+	protected final String TEXT_196 = ")";
+	protected final String TEXT_197 = ", new ";
+	protected final String TEXT_198 = "(editingDomain";
+	protected final String TEXT_199 = ".getResourceSet()";
+	protected final String TEXT_200 = ", selectionViewer";
+	protected final String TEXT_201 = ", ";
+	protected final String TEXT_202 = ".getPlugin().getDialogSettings()";
+	protected final String TEXT_203 = "))";
+	protected final String TEXT_204 = ")";
+	protected final String TEXT_205 = ");" + NL + "\t\t\t\tselectionViewer.setInput(editingDomain.getResourceSet());"
+			+ NL
+			+ "\t\t\t\tselectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);"
+			+ NL + "\t\t\t\tviewerPane.setTitle(editingDomain.getResourceSet());" + NL + "" + NL
+			+ "\t\t\t\tnew AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);";
+	protected final String TEXT_206 = NL + "\t\t\t\tnew ";
+	protected final String TEXT_207 = "(selectionViewer, new ";
+	protected final String TEXT_208 = ".EditingDomainLocationListener(editingDomain, selectionViewer));";
+	protected final String TEXT_209 = NL + NL + "\t\t\t\tcreateContextMenuFor(selectionViewer);" + NL
+			+ "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL
+			+ "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_SelectionPage_label\"));";
+	protected final String TEXT_210 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t// Create a page for the parent tree view."
+			+ NL + "\t\t\t//" + NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL
+			+ "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";
+	protected final String TEXT_211 = ".this)" + NL + "\t\t\t\t\t{";
+	protected final String TEXT_212 = NL + "\t\t\t\t\t\t@Override";
+	protected final String TEXT_213 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL
+			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tTree tree = new Tree(composite, SWT.MULTI);" + NL
+			+ "\t\t\t\t\t\t\tTreeViewer newTreeViewer = new TreeViewer(tree);" + NL
+			+ "\t\t\t\t\t\t\treturn newTreeViewer;" + NL + "\t\t\t\t\t\t}";
+	protected final String TEXT_214 = NL + "\t\t\t\t\t\t@Override";
+	protected final String TEXT_215 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL
+			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL + ""
+			+ NL + "\t\t\t\tparentViewer = (TreeViewer)viewerPane.getViewer();" + NL
+			+ "\t\t\t\tparentViewer.setAutoExpandLevel(30);" + NL
+			+ "\t\t\t\tparentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));" + NL
+			+ "\t\t\t\tparentViewer.setLabelProvider(";
+	protected final String TEXT_216 = "new ";
+	protected final String TEXT_217 = "(";
+	protected final String TEXT_218 = "new ";
+	protected final String TEXT_219 = "(adapterFactory";
+	protected final String TEXT_220 = ", parentViewer";
+	protected final String TEXT_221 = ")";
+	protected final String TEXT_222 = ")";
+	protected final String TEXT_223 = ");" + NL + "" + NL + "\t\t\t\tcreateContextMenuFor(parentViewer);" + NL
+			+ "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL
+			+ "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_ParentPage_label\"));";
+	protected final String TEXT_224 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t// This is the page for the list viewer"
+			+ NL + "\t\t\t//" + NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL
+			+ "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";
+	protected final String TEXT_225 = ".this)" + NL + "\t\t\t\t\t{";
+	protected final String TEXT_226 = NL + "\t\t\t\t\t\t@Override";
+	protected final String TEXT_227 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL
+			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\treturn new ListViewer(composite);" + NL + "\t\t\t\t\t\t}";
+	protected final String TEXT_228 = NL + "\t\t\t\t\t\t@Override";
+	protected final String TEXT_229 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL
+			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL
+			+ "\t\t\t\tlistViewer = (ListViewer)viewerPane.getViewer();" + NL
+			+ "\t\t\t\tlistViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL
+			+ "\t\t\t\tlistViewer.setLabelProvider(";
+	protected final String TEXT_230 = "new ";
+	protected final String TEXT_231 = "(";
+	protected final String TEXT_232 = "new ";
+	protected final String TEXT_233 = "(adapterFactory";
+	protected final String TEXT_234 = ", listViewer";
+	protected final String TEXT_235 = ")";
+	protected final String TEXT_236 = ")";
+	protected final String TEXT_237 = ");" + NL + "" + NL + "\t\t\t\tcreateContextMenuFor(listViewer);" + NL
+			+ "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL
+			+ "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_ListPage_label\"));";
+	protected final String TEXT_238 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t// This is the page for the tree viewer"
+			+ NL + "\t\t\t//" + NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL
+			+ "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";
+	protected final String TEXT_239 = ".this)" + NL + "\t\t\t\t\t{";
+	protected final String TEXT_240 = NL + "\t\t\t\t\t\t@Override";
+	protected final String TEXT_241 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL
+			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\treturn new TreeViewer(composite);" + NL + "\t\t\t\t\t\t}";
+	protected final String TEXT_242 = NL + "\t\t\t\t\t\t@Override";
+	protected final String TEXT_243 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL
+			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL
+			+ "\t\t\t\ttreeViewer = (TreeViewer)viewerPane.getViewer();" + NL
+			+ "\t\t\t\ttreeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL
+			+ "\t\t\t\ttreeViewer.setLabelProvider(";
+	protected final String TEXT_244 = "new ";
+	protected final String TEXT_245 = "(";
+	protected final String TEXT_246 = "new ";
+	protected final String TEXT_247 = "(";
+	protected final String TEXT_248 = "new ";
+	protected final String TEXT_249 = "(adapterFactory";
+	protected final String TEXT_250 = ", treeViewer";
+	protected final String TEXT_251 = ")";
+	protected final String TEXT_252 = ", new ";
+	protected final String TEXT_253 = "(editingDomain";
+	protected final String TEXT_254 = ".getResourceSet()";
+	protected final String TEXT_255 = ", treeViewer))";
+	protected final String TEXT_256 = ")";
+	protected final String TEXT_257 = ");" + NL + "" + NL
+			+ "\t\t\t\tnew AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);";
+	protected final String TEXT_258 = NL + "\t\t\t\tnew ";
+	protected final String TEXT_259 = "(treeViewer, new ";
+	protected final String TEXT_260 = ".EditingDomainLocationListener(editingDomain, treeViewer));";
+	protected final String TEXT_261 = NL + NL + "\t\t\t\tcreateContextMenuFor(treeViewer);" + NL
+			+ "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL
+			+ "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_TreePage_label\"));";
+	protected final String TEXT_262 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t// This is the page for the table viewer."
+			+ NL + "\t\t\t//" + NL + "\t\t\t{" + NL + "\t\t\t\tViewerPane viewerPane =" + NL
+			+ "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";
+	protected final String TEXT_263 = ".this)" + NL + "\t\t\t\t\t{";
+	protected final String TEXT_264 = NL + "\t\t\t\t\t\t@Override";
+	protected final String TEXT_265 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL
+			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\treturn new TableViewer(composite);" + NL + "\t\t\t\t\t\t}";
+	protected final String TEXT_266 = NL + "\t\t\t\t\t\t@Override";
+	protected final String TEXT_267 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL
+			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL
+			+ "\t\t\t\ttableViewer = (TableViewer)viewerPane.getViewer();" + NL + "" + NL
+			+ "\t\t\t\tTable table = tableViewer.getTable();" + NL + "\t\t\t\tTableLayout layout = new TableLayout();"
+			+ NL + "\t\t\t\ttable.setLayout(layout);" + NL + "\t\t\t\ttable.setHeaderVisible(true);" + NL
+			+ "\t\t\t\ttable.setLinesVisible(true);" + NL + "" + NL
+			+ "\t\t\t\tTableColumn objectColumn = new TableColumn(table, SWT.NONE);" + NL
+			+ "\t\t\t\tlayout.addColumnData(new ColumnWeightData(3, 100, true));" + NL
+			+ "\t\t\t\tobjectColumn.setText(getString(\"_UI_ObjectColumn_label\"));";
+	protected final String TEXT_268 = NL + "\t\t\t\tobjectColumn.setResizable(true);" + NL + "" + NL
+			+ "\t\t\t\tTableColumn selfColumn = new TableColumn(table, SWT.NONE);" + NL
+			+ "\t\t\t\tlayout.addColumnData(new ColumnWeightData(2, 100, true));" + NL
+			+ "\t\t\t\tselfColumn.setText(getString(\"_UI_SelfColumn_label\"));";
+	protected final String TEXT_269 = NL + "\t\t\t\tselfColumn.setResizable(true);" + NL + "" + NL
+			+ "\t\t\t\ttableViewer.setColumnProperties(new String [] {\"a\", \"b\"});";
+	protected final String TEXT_270 = NL
+			+ "\t\t\t\ttableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL
+			+ "\t\t\t\ttableViewer.setLabelProvider(";
+	protected final String TEXT_271 = "new ";
+	protected final String TEXT_272 = "(";
+	protected final String TEXT_273 = "new ";
+	protected final String TEXT_274 = "(";
+	protected final String TEXT_275 = "new ";
+	protected final String TEXT_276 = "(adapterFactory";
+	protected final String TEXT_277 = ", tableViewer";
+	protected final String TEXT_278 = ")";
+	protected final String TEXT_279 = ", new ";
+	protected final String TEXT_280 = "(editingDomain";
+	protected final String TEXT_281 = ".getResourceSet()";
+	protected final String TEXT_282 = ", tableViewer";
+	protected final String TEXT_283 = ", ";
+	protected final String TEXT_284 = ".getPlugin().getDialogSettings()";
+	protected final String TEXT_285 = "))";
+	protected final String TEXT_286 = ")";
+	protected final String TEXT_287 = ");" + NL;
+	protected final String TEXT_288 = NL + "\t\t\t\tnew ";
+	protected final String TEXT_289 = "(tableViewer, new ";
+	protected final String TEXT_290 = ".EditingDomainLocationListener(editingDomain, tableViewer));" + NL;
+	protected final String TEXT_291 = NL + "\t\t\t\tcreateContextMenuFor(tableViewer);" + NL
+			+ "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL
+			+ "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_TablePage_label\"));";
+	protected final String TEXT_292 = NL + "\t\t\t}" + NL + "" + NL
+			+ "\t\t\t// This is the page for the table tree viewer." + NL + "\t\t\t//" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tViewerPane viewerPane =" + NL + "\t\t\t\t\tnew ViewerPane(getSite().getPage(), ";
+	protected final String TEXT_293 = ".this)" + NL + "\t\t\t\t\t{";
+	protected final String TEXT_294 = NL + "\t\t\t\t\t\t@Override";
+	protected final String TEXT_295 = NL + "\t\t\t\t\t\tpublic Viewer createViewer(Composite composite)" + NL
+			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\treturn new TreeViewer(composite);" + NL + "\t\t\t\t\t\t}";
+	protected final String TEXT_296 = NL + "\t\t\t\t\t\t@Override";
+	protected final String TEXT_297 = NL + "\t\t\t\t\t\tpublic void requestActivation()" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\tsuper.requestActivation();" + NL + "\t\t\t\t\t\t\tsetCurrentViewerPane(this);" + NL
+			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t};" + NL + "\t\t\t\tviewerPane.createControl(getContainer());" + NL + ""
+			+ NL + "\t\t\t\ttreeViewerWithColumns = (TreeViewer)viewerPane.getViewer();" + NL + "" + NL
+			+ "\t\t\t\tTree tree = treeViewerWithColumns.getTree();" + NL
+			+ "\t\t\t\ttree.setLayoutData(new FillLayout());" + NL + "\t\t\t\ttree.setHeaderVisible(true);" + NL
+			+ "\t\t\t\ttree.setLinesVisible(true);" + NL + "" + NL
+			+ "\t\t\t\tTreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);" + NL
+			+ "\t\t\t\tobjectColumn.setText(getString(\"_UI_ObjectColumn_label\"));";
+	protected final String TEXT_298 = NL + "\t\t\t\tobjectColumn.setResizable(true);" + NL
+			+ "\t\t\t\tobjectColumn.setWidth(250);" + NL + "" + NL
+			+ "\t\t\t\tTreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);" + NL
+			+ "\t\t\t\tselfColumn.setText(getString(\"_UI_SelfColumn_label\"));";
+	protected final String TEXT_299 = NL + "\t\t\t\tselfColumn.setResizable(true);" + NL
+			+ "\t\t\t\tselfColumn.setWidth(200);" + NL + "" + NL
+			+ "\t\t\t\ttreeViewerWithColumns.setColumnProperties(new String [] {\"a\", \"b\"});";
+	protected final String TEXT_300 = NL
+			+ "\t\t\t\ttreeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));"
+			+ NL + "\t\t\t\ttreeViewerWithColumns.setLabelProvider(";
+	protected final String TEXT_301 = "new ";
+	protected final String TEXT_302 = "(";
+	protected final String TEXT_303 = "new ";
+	protected final String TEXT_304 = "(";
+	protected final String TEXT_305 = "new ";
+	protected final String TEXT_306 = "(adapterFactory";
+	protected final String TEXT_307 = ", treeViewerWithColumns";
+	protected final String TEXT_308 = ")";
+	protected final String TEXT_309 = ", new ";
+	protected final String TEXT_310 = "(editingDomain";
+	protected final String TEXT_311 = ".getResourceSet()";
+	protected final String TEXT_312 = ", treeViewerWithColumns";
+	protected final String TEXT_313 = ", ";
+	protected final String TEXT_314 = ".getPlugin().getDialogSettings()";
+	protected final String TEXT_315 = "))";
+	protected final String TEXT_316 = ")";
+	protected final String TEXT_317 = ");" + NL;
+	protected final String TEXT_318 = NL + "\t\t\t\tnew ";
+	protected final String TEXT_319 = "(treeViewerWithColumns, new ";
+	protected final String TEXT_320 = ".EditingDomainLocationListener(editingDomain, treeViewerWithColumns));" + NL;
+	protected final String TEXT_321 = NL + "\t\t\t\tcreateContextMenuFor(treeViewerWithColumns);" + NL
+			+ "\t\t\t\tint pageIndex = addPage(viewerPane.getControl());" + NL
+			+ "\t\t\t\tsetPageText(pageIndex, getString(\"_UI_TreeWithColumnsPage_label\"));";
+	protected final String TEXT_322 = NL + "\t\t\t}";
+	protected final String TEXT_323 = NL + "\t\t\tTree tree = new Tree(getContainer(), SWT.MULTI);" + NL
+			+ "\t\t\tselectionViewer = new TreeViewer(tree);" + NL + "\t\t\tsetCurrentViewer(selectionViewer);" + NL
+			+ "" + NL + "\t\t\tselectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));"
+			+ NL + "\t\t\tselectionViewer.setLabelProvider(";
+	protected final String TEXT_324 = "new ";
+	protected final String TEXT_325 = "(";
+	protected final String TEXT_326 = "new ";
+	protected final String TEXT_327 = "(";
+	protected final String TEXT_328 = "new ";
+	protected final String TEXT_329 = "(adapterFactory";
+	protected final String TEXT_330 = ", selectionViewer";
+	protected final String TEXT_331 = ")";
+	protected final String TEXT_332 = ", new ";
+	protected final String TEXT_333 = "(editingDomain";
+	protected final String TEXT_334 = ".getResourceSet()";
+	protected final String TEXT_335 = ", selectionViewer";
+	protected final String TEXT_336 = ", ";
+	protected final String TEXT_337 = ".getPlugin().getDialogSettings()";
+	protected final String TEXT_338 = "))";
+	protected final String TEXT_339 = ")";
+	protected final String TEXT_340 = ");" + NL + "\t\t\tselectionViewer.setInput(editingDomain.getResourceSet());" + NL
+			+ "\t\t\tselectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);"
+			+ NL + "" + NL + "\t\t\tnew AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);";
+	protected final String TEXT_341 = NL + "\t\t\tnew ";
+	protected final String TEXT_342 = "(selectionViewer, new ";
+	protected final String TEXT_343 = ".EditingDomainLocationListener(editingDomain, selectionViewer));";
+	protected final String TEXT_344 = NL + NL + "\t\t\tcreateContextMenuFor(selectionViewer);" + NL
+			+ "\t\t\tint pageIndex = addPage(tree);" + NL
+			+ "\t\t\tsetPageText(pageIndex, getString(\"_UI_SelectionPage_label\"));";
+	protected final String TEXT_345 = NL + NL + "\t\t\tgetSite().getShell().getDisplay().asyncExec" + NL
+			+ "\t\t\t\t(new Runnable()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t public void run()" + NL + "\t\t\t\t\t {"
+			+ NL + "\t\t\t\t\t\t setActivePage(0);" + NL + "\t\t\t\t\t }" + NL + "\t\t\t\t });" + NL + "\t\t}" + NL + ""
+			+ NL + "\t\t// Ensures that this editor will only display the page's tab" + NL
+			+ "\t\t// area if there are more than one page" + NL + "\t\t//" + NL
+			+ "\t\tgetContainer().addControlListener" + NL + "\t\t\t(new ControlAdapter()" + NL + "\t\t\t {" + NL
+			+ "\t\t\t\tboolean guard = false;";
+	protected final String TEXT_346 = NL + "\t\t\t\t@Override";
+	protected final String TEXT_347 = NL + "\t\t\t\tpublic void controlResized(ControlEvent event)" + NL + "\t\t\t\t{"
+			+ NL + "\t\t\t\t\tif (!guard)" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tguard = true;" + NL
+			+ "\t\t\t\t\t\thideTabs();" + NL + "\t\t\t\t\t\tguard = false;" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t });" + NL + "" + NL + "\t\tgetSite().getShell().getDisplay().asyncExec" + NL
+			+ "\t\t\t(new Runnable()" + NL + "\t\t\t {" + NL + "\t\t\t\t public void run()" + NL + "\t\t\t\t {" + NL
+			+ "\t\t\t\t\t updateProblemIndication();" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL + "\t}" + NL + ""
+			+ NL + "\t/**" + NL + "\t * If there is just one page in the multi-page editor part," + NL
+			+ "\t * this hides the single tab at the bottom." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void hideTabs()"
+			+ NL + "\t{" + NL + "\t\tif (getPageCount() <= 1)" + NL + "\t\t{" + NL + "\t\t\tsetPageText(0, \"\");";
+	protected final String TEXT_348 = NL + "\t\t\tif (getContainer() instanceof CTabFolder)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t((CTabFolder)getContainer()).setTabHeight(1);" + NL
+			+ "\t\t\t\tPoint point = getContainer().getSize();" + NL
+			+ "\t\t\t\tgetContainer().setSize(point.x, point.y + 6);" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL
+			+ "" + NL + "\t/**" + NL + "\t * If there is more than one page in the multi-page editor part," + NL
+			+ "\t * this shows the tabs at the bottom." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void showTabs()"
+			+ NL + "\t{" + NL + "\t\tif (getPageCount() > 1)" + NL + "\t\t{" + NL
+			+ "\t\t\tsetPageText(0, getString(\"_UI_SelectionPage_label\"));";
+	protected final String TEXT_349 = NL + "\t\t\tif (getContainer() instanceof CTabFolder)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);" + NL
+			+ "\t\t\t\tPoint point = getContainer().getSize();" + NL
+			+ "\t\t\t\tgetContainer().setSize(point.x, point.y - 6);" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL
+			+ "" + NL + "\t/**" + NL + "\t * This is used to track the active viewer." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_350 = NL + "\t@Override";
+	protected final String TEXT_351 = NL + "\tprotected void pageChange(int pageIndex)" + NL + "\t{" + NL
+			+ "\t\tsuper.pageChange(pageIndex);" + NL + "" + NL + "\t\tif (contentOutlinePage != null)" + NL + "\t\t{"
+			+ NL + "\t\t\thandleContentOutlineSelection(contentOutlinePage.getSelection());" + NL + "\t\t}" + NL + "\t}"
+			+ NL + "" + NL + "\t/**" + NL + "\t * This is how the framework determines which interfaces we implement."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_352 = NL + "\t@SuppressWarnings(\"";
+	protected final String TEXT_353 = "rawtypes";
+	protected final String TEXT_354 = "unchecked";
+	protected final String TEXT_355 = "\")";
+	protected final String TEXT_356 = NL + "\t@Override";
+	protected final String TEXT_357 = NL + "\tpublic Object getAdapter(Class key)" + NL + "\t{" + NL
+			+ "\t\tif (key.equals(IContentOutlinePage.class))" + NL + "\t\t{" + NL
+			+ "\t\t\treturn showOutlineView() ? getContentOutlinePage() : null;" + NL + "\t\t}" + NL
+			+ "\t\telse if (key.equals(IPropertySheetPage.class))" + NL + "\t\t{" + NL
+			+ "\t\t\treturn getPropertySheetPage();" + NL + "\t\t}";
+	protected final String TEXT_358 = NL + "\t\telse if (key.equals(IGotoMarker.class))" + NL + "\t\t{" + NL
+			+ "\t\t\treturn this;" + NL + "\t\t}";
+	protected final String TEXT_359 = NL + "\t\telse" + NL + "\t\t{" + NL + "\t\t\treturn super.getAdapter(key);" + NL
+			+ "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This accesses a cached version of the content outliner." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic IContentOutlinePage getContentOutlinePage()" + NL + "\t{" + NL
+			+ "\t\tif (contentOutlinePage == null)" + NL + "\t\t{" + NL + "\t\t\t// The content outline is just a tree."
+			+ NL + "\t\t\t//" + NL + "\t\t\tclass MyContentOutlinePage extends ContentOutlinePage" + NL + "\t\t\t{";
+	protected final String TEXT_360 = NL + "\t\t\t\t@Override";
+	protected final String TEXT_361 = NL + "\t\t\t\tpublic void createControl(Composite parent)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tsuper.createControl(parent);" + NL + "\t\t\t\t\tcontentOutlineViewer = getTreeViewer();" + NL
+			+ "\t\t\t\t\tcontentOutlineViewer.addSelectionChangedListener(this);" + NL + "" + NL
+			+ "\t\t\t\t\t// Set up the tree viewer." + NL + "\t\t\t\t\t//" + NL
+			+ "\t\t\t\t\tcontentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));"
+			+ NL + "\t\t\t\t\tcontentOutlineViewer.setLabelProvider(";
+	protected final String TEXT_362 = "new ";
+	protected final String TEXT_363 = "(";
+	protected final String TEXT_364 = "new ";
+	protected final String TEXT_365 = "(";
+	protected final String TEXT_366 = "new ";
+	protected final String TEXT_367 = "(adapterFactory";
+	protected final String TEXT_368 = ", contentOutlineViewer";
+	protected final String TEXT_369 = ")";
+	protected final String TEXT_370 = ", new ";
+	protected final String TEXT_371 = "(editingDomain";
+	protected final String TEXT_372 = ".getResourceSet()";
+	protected final String TEXT_373 = ", contentOutlineViewer";
+	protected final String TEXT_374 = ", ";
+	protected final String TEXT_375 = ".getPlugin().getDialogSettings()";
+	protected final String TEXT_376 = "))";
+	protected final String TEXT_377 = ")";
+	protected final String TEXT_378 = ");" + NL
+			+ "\t\t\t\t\tcontentOutlineViewer.setInput(editingDomain.getResourceSet());" + NL;
+	protected final String TEXT_379 = NL + "\t\t\t\t\tnew ";
+	protected final String TEXT_380 = "(contentOutlineViewer, new ";
+	protected final String TEXT_381 = ".EditingDomainLocationListener(editingDomain, contentOutlineViewer));" + NL;
+	protected final String TEXT_382 = NL + "\t\t\t\t\t// Make sure our popups work." + NL + "\t\t\t\t\t//" + NL
+			+ "\t\t\t\t\tcreateContextMenuFor(contentOutlineViewer);" + NL + "" + NL
+			+ "\t\t\t\t\tif (!editingDomain.getResourceSet().getResources().isEmpty())" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t  // Select the root object in the view." + NL + "\t\t\t\t\t  //" + NL
+			+ "\t\t\t\t\t  contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);"
+			+ NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL;
+	protected final String TEXT_383 = NL + "\t\t\t\t@Override";
+	protected final String TEXT_384 = NL
+			+ "\t\t\t\tpublic void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager)"
+			+ NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tsuper.makeContributions(menuManager, toolBarManager, statusLineManager);" + NL
+			+ "\t\t\t\t\tcontentOutlineStatusLineManager = statusLineManager;" + NL + "\t\t\t\t}" + NL;
+	protected final String TEXT_385 = NL + "\t\t\t\t@Override";
+	protected final String TEXT_386 = NL + "\t\t\t\tpublic void setActionBars(IActionBars actionBars)" + NL
+			+ "\t\t\t\t{" + NL + "\t\t\t\t\tsuper.setActionBars(actionBars);" + NL
+			+ "\t\t\t\t\tgetActionBarContributor().shareGlobalActions(this, actionBars);" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t}" + NL + "" + NL + "\t\t\tcontentOutlinePage = new MyContentOutlinePage();" + NL + "" + NL
+			+ "\t\t\t// Listen to selection so that we can handle it is a special way." + NL + "\t\t\t//" + NL
+			+ "\t\t\tcontentOutlinePage.addSelectionChangedListener" + NL + "\t\t\t\t(new ISelectionChangedListener()"
+			+ NL + "\t\t\t\t {" + NL + "\t\t\t\t\t // This ensures that we handle selections correctly." + NL
+			+ "\t\t\t\t\t //" + NL + "\t\t\t\t\t public void selectionChanged(SelectionChangedEvent event)" + NL
+			+ "\t\t\t\t\t {" + NL + "\t\t\t\t\t\t handleContentOutlineSelection(event.getSelection());" + NL
+			+ "\t\t\t\t\t }" + NL + "\t\t\t\t });" + NL + "\t\t}" + NL + "" + NL + "\t\treturn contentOutlinePage;" + NL
+			+ "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This accesses a cached version of the property sheet." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic IPropertySheetPage getPropertySheetPage()" + NL + "\t{" + NL
+			+ "\t\tPropertySheetPage propertySheetPage =" + NL + "\t\t\tnew ExtendedPropertySheetPage(editingDomain";
+	protected final String TEXT_387 = ", ExtendedPropertySheetPage.Decoration.MANUAL";
+	protected final String TEXT_388 = ", ExtendedPropertySheetPage.Decoration.LIVE, ";
+	protected final String TEXT_389 = ".getPlugin().getDialogSettings()";
+	protected final String TEXT_390 = ")" + NL + "\t\t\t{";
+	protected final String TEXT_391 = NL + "\t\t\t\t@Override";
+	protected final String TEXT_392 = NL + "\t\t\t\tpublic void setSelectionToViewer(";
+	protected final String TEXT_393 = " selection)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t";
+	protected final String TEXT_394 = ".this.setSelectionToViewer(selection);" + NL + "\t\t\t\t\t";
+	protected final String TEXT_395 = ".this.setFocus();" + NL + "\t\t\t\t}" + NL;
+	protected final String TEXT_396 = NL + "\t\t\t\t@Override";
+	protected final String TEXT_397 = NL + "\t\t\t\tpublic void setActionBars(IActionBars actionBars)" + NL
+			+ "\t\t\t\t{" + NL + "\t\t\t\t\tsuper.setActionBars(actionBars);" + NL
+			+ "\t\t\t\t\tgetActionBarContributor().shareGlobalActions(this, actionBars);" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t};" + NL
+			+ "\t\tpropertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));" + NL
+			+ "\t\tpropertySheetPages.add(propertySheetPage);" + NL + "" + NL + "\t\treturn propertySheetPage;" + NL
+			+ "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This deals with how we want selection in the outliner to affect the other views." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void handleContentOutlineSelection(ISelection selection)" + NL + "\t{";
+	protected final String TEXT_398 = NL
+			+ "\t\tif (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection)";
+	protected final String TEXT_399 = NL
+			+ "\t\tif (selectionViewer != null && !selection.isEmpty() && selection instanceof IStructuredSelection)";
+	protected final String TEXT_400 = NL + "\t\t{" + NL + "\t\t\tIterator";
+	protected final String TEXT_401 = "<?>";
+	protected final String TEXT_402 = " selectedElements = ((IStructuredSelection)selection).iterator();" + NL
+			+ "\t\t\tif (selectedElements.hasNext())" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t// Get the first selected element." + NL + "\t\t\t\t//" + NL
+			+ "\t\t\t\tObject selectedElement = selectedElements.next();" + NL;
+	protected final String TEXT_403 = NL
+			+ "\t\t\t\t// If it's the selection viewer, then we want it to select the same selection as this selection."
+			+ NL + "\t\t\t\t//" + NL + "\t\t\t\tif (currentViewerPane.getViewer() == selectionViewer)" + NL
+			+ "\t\t\t\t{" + NL + "\t\t\t\t\t";
+	protected final String TEXT_404 = " selectionList = new ";
+	protected final String TEXT_405 = "();" + NL + "\t\t\t\t\tselectionList.add(selectedElement);" + NL
+			+ "\t\t\t\t\twhile (selectedElements.hasNext())" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tselectionList.add(selectedElements.next());" + NL + "\t\t\t\t\t}" + NL + "" + NL
+			+ "\t\t\t\t\t// Set the selection to the widget." + NL + "\t\t\t\t\t//" + NL
+			+ "\t\t\t\t\tselectionViewer.setSelection(new StructuredSelection(selectionList));" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t// Set the input to the widget." + NL + "\t\t\t\t\t//"
+			+ NL + "\t\t\t\t\tif (currentViewerPane.getViewer().getInput() != selectedElement)" + NL + "\t\t\t\t\t{"
+			+ NL + "\t\t\t\t\t\tcurrentViewerPane.getViewer().setInput(selectedElement);" + NL
+			+ "\t\t\t\t\t\tcurrentViewerPane.setTitle(selectedElement);" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}";
+	protected final String TEXT_406 = NL + "\t\t\t\t";
+	protected final String TEXT_407 = " selectionList = new ";
+	protected final String TEXT_408 = "();" + NL + "\t\t\t\tselectionList.add(selectedElement);" + NL
+			+ "\t\t\t\twhile (selectedElements.hasNext())" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tselectionList.add(selectedElements.next());" + NL + "\t\t\t\t}" + NL + "" + NL
+			+ "\t\t\t\t// Set the selection to the widget." + NL + "\t\t\t\t//" + NL
+			+ "\t\t\t\tselectionViewer.setSelection(new StructuredSelection(selectionList));";
+	protected final String TEXT_409 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This is for implementing {@link IEditorPart} and simply tests the command stack." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_410 = NL + "\t@Override";
+	protected final String TEXT_411 = NL + "\tpublic boolean isDirty()" + NL + "\t{" + NL
+			+ "\t\treturn ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();" + NL + "\t}" + NL + ""
+			+ NL + "\t/**" + NL + "\t * This is for implementing {@link IEditorPart} and simply saves the model file."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_412 = NL + "\t@Override";
+	protected final String TEXT_413 = NL + "\tpublic void doSave(IProgressMonitor progressMonitor)" + NL + "\t{" + NL
+			+ "\t\t// Save only resources that have actually changed." + NL + "\t\t//" + NL + "\t\tfinal ";
+	protected final String TEXT_414 = " saveOptions = new ";
+	protected final String TEXT_415 = "();";
+	protected final String TEXT_416 = NL
+			+ "\t\tsaveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);";
+	protected final String TEXT_417 = NL
+			+ "\t\tsaveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);";
+	protected final String TEXT_418 = NL + NL
+			+ "\t\t// Do the work within an operation because this is a long running activity that modifies the workbench."
+			+ NL + "\t\t//" + NL + "\t\t";
+	protected final String TEXT_419 = " operation =" + NL + "\t\t\tnew ";
+	protected final String TEXT_420 = "()" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t// This is the method that gets invoked when the operation runs." + NL + "\t\t\t\t//";
+	protected final String TEXT_421 = NL + "\t\t\t\t@Override";
+	protected final String TEXT_422 = NL + "\t\t\t\tpublic void ";
+	protected final String TEXT_423 = "(IProgressMonitor monitor)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\t// Save the resources to the file system." + NL + "\t\t\t\t\t//" + NL
+			+ "\t\t\t\t\tboolean first = true;";
+	protected final String TEXT_424 = NL
+			+ "\t\t\t\t\tfor (Resource resource : editingDomain.getResourceSet().getResources())";
+	protected final String TEXT_425 = NL
+			+ "\t\t\t\t\tfor (Iterator i = editingDomain.getResourceSet().getResources().iterator(); i.hasNext(); )";
+	protected final String TEXT_426 = NL + "\t\t\t\t\t{";
+	protected final String TEXT_427 = NL + "\t\t\t\t\t\tResource resource = (Resource)i.next();";
+	protected final String TEXT_428 = NL
+			+ "\t\t\t\t\t\tif ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource))"
+			+ NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\ttry" + NL + "\t\t\t\t\t\t\t{";
+	protected final String TEXT_429 = NL + "\t\t\t\t\t\t\t\tlong timeStamp = resource.getTimeStamp();" + NL
+			+ "\t\t\t\t\t\t\t\tresource.save(saveOptions);" + NL
+			+ "\t\t\t\t\t\t\t\tif (resource.getTimeStamp() != timeStamp)" + NL + "\t\t\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\t\t\tsavedResources.add(resource);" + NL + "\t\t\t\t\t\t\t\t}";
+	protected final String TEXT_430 = NL + "\t\t\t\t\t\t\t\tresource.save(saveOptions);" + NL
+			+ "\t\t\t\t\t\t\t\tsavedResources.add(resource);";
+	protected final String TEXT_431 = NL + "\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\tcatch (Exception exception)" + NL
+			+ "\t\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\t\tresourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));"
+			+ NL + "\t\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\t\tfirst = false;" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}"
+			+ NL + "\t\t\t\t}" + NL + "\t\t\t};" + NL + "" + NL + "\t\tupdateProblemIndication = false;" + NL
+			+ "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t// This runs the options, and shows progress." + NL + "\t\t\t//"
+			+ NL + "\t\t\tnew ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);" + NL + "" + NL
+			+ "\t\t\t// Refresh the necessary state." + NL + "\t\t\t//" + NL
+			+ "\t\t\t((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();" + NL
+			+ "\t\t\tfirePropertyChange(IEditorPart.PROP_DIRTY);" + NL + "\t\t}" + NL
+			+ "\t\tcatch (Exception exception)" + NL + "\t\t{" + NL + "\t\t\t// Something went wrong that shouldn't."
+			+ NL + "\t\t\t//" + NL + "\t\t\t";
+	protected final String TEXT_432 = ".INSTANCE.log(exception);" + NL + "\t\t}" + NL
+			+ "\t\tupdateProblemIndication = true;" + NL + "\t\tupdateProblemIndication();" + NL + "\t}" + NL + "" + NL
+			+ "\t/**" + NL
+			+ "\t * This returns whether something has been persisted to the URI of the specified resource." + NL
+			+ "\t * The implementation uses the URI converter from the editor's resource set to try to open an input stream."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected boolean isPersisted(Resource resource)" + NL + "\t{" + NL
+			+ "\t\tboolean result = false;" + NL + "\t\ttry" + NL + "\t\t{" + NL
+			+ "\t\t\tInputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());"
+			+ NL + "\t\t\tif (stream != null)" + NL + "\t\t\t{" + NL + "\t\t\t\tresult = true;" + NL
+			+ "\t\t\t\tstream.close();" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (IOException e)" + NL
+			+ "\t\t{" + NL + "\t\t\t// Ignore" + NL + "\t\t}" + NL + "\t\treturn result;" + NL + "\t}" + NL + "" + NL
+			+ "\t/**" + NL + "\t * This always returns true because it is not currently supported." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_433 = NL + "\t@Override";
+	protected final String TEXT_434 = NL + "\tpublic boolean isSaveAsAllowed()" + NL + "\t{" + NL + "\t\treturn true;"
+			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This also changes the editor's input." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_435 = NL + "\t@Override";
+	protected final String TEXT_436 = NL + "\tpublic void doSaveAs()" + NL + "\t{";
+	protected final String TEXT_437 = NL + "\t\tnew ";
+	protected final String TEXT_438 = "(getSite().getShell(), null, SWT.NONE)" + NL + "\t\t\t{";
+	protected final String TEXT_439 = NL + "\t\t\t\t@Override";
+	protected final String TEXT_440 = NL + "\t\t\t\tprotected boolean isSave()" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\treturn true;" + NL + "\t\t\t\t}" + NL;
+	protected final String TEXT_441 = NL + "\t\t\t\t@Override";
+	protected final String TEXT_442 = NL + "\t\t\t\tprotected boolean processResources()" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\t";
+	protected final String TEXT_443 = " uris = getURIs();" + NL + "\t\t\t\t\tif (uris.size() > 0)" + NL + "\t\t\t\t\t{"
+			+ NL + "\t\t\t\t\t\tURI uri = ";
+	protected final String TEXT_444 = "uris.get(0);" + NL + "\t\t\t\t\t\tdoSaveAs(uri, new ";
+	protected final String TEXT_445 = "(uri));" + NL + "\t\t\t\t\t\treturn true;" + NL + "\t\t\t\t\t}" + NL
+			+ "\t\t\t\t\telse" + NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\treturn false;" + NL + "\t\t\t\t\t}" + NL
+			+ "\t\t\t\t}" + NL + "\t\t\t}.open();";
+	protected final String TEXT_446 = NL + "\t\tString[] filters = ";
+	protected final String TEXT_447 = "(String[])";
+	protected final String TEXT_448 = "FILE_EXTENSION_FILTERS.toArray(new String[FILE_EXTENSION_FILTERS.size()]);" + NL
+			+ "\t\tString[] files = ";
+	protected final String TEXT_449 = ".openFilePathDialog(getSite().getShell(), ";
+	protected final String TEXT_450 = ".SAVE, filters);" + NL + "\t\tif (files.length > 0)" + NL + "\t\t{" + NL
+			+ "\t\t\tURI uri = URI.createFileURI(files[0]);" + NL + "\t\t\tdoSaveAs(uri, new ";
+	protected final String TEXT_451 = "(uri));" + NL + "\t\t}";
+	protected final String TEXT_452 = NL + "\t\tSaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());"
+			+ NL + "\t\tsaveAsDialog.open();" + NL + "\t\tIPath path = saveAsDialog.getResult();" + NL
+			+ "\t\tif (path != null)" + NL + "\t\t{" + NL
+			+ "\t\t\tIFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);" + NL
+			+ "\t\t\tif (file != null)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tdoSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));"
+			+ NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_453 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected void doSaveAs(URI uri, IEditorInput editorInput)" + NL + "\t{" + NL + "\t\t(";
+	protected final String TEXT_454 = "(Resource)";
+	protected final String TEXT_455 = "editingDomain.getResourceSet().getResources().get(0)).setURI(uri);" + NL
+			+ "\t\tsetInputWithNotify(editorInput);" + NL + "\t\tsetPartName(editorInput.getName());" + NL
+			+ "\t\tIProgressMonitor progressMonitor =" + NL + "\t\t\tgetActionBars().getStatusLineManager() != null ?"
+			+ NL + "\t\t\t\tgetActionBars().getStatusLineManager().getProgressMonitor() :" + NL + "\t\t\t\tnew ";
+	protected final String TEXT_456 = "();" + NL + "\t\tdoSave(progressMonitor);" + NL + "\t}";
+	protected final String TEXT_457 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic void gotoMarker(IMarker marker)" + NL + "\t{";
+	protected final String TEXT_458 = NL + "\t\t";
+	protected final String TEXT_459 = " targetObjects = markerHelper.getTargetObjects(editingDomain, marker);" + NL
+			+ "\t\tif (!targetObjects.isEmpty())" + NL + "\t\t{" + NL + "\t\t\tsetSelectionToViewer(targetObjects);"
+			+ NL + "\t\t}";
+	protected final String TEXT_460 = NL + "\t\ttry" + NL + "\t\t{" + NL
+			+ "\t\t\tif (marker.isSubtypeOf(EValidator.MARKER))" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tString uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);" + NL
+			+ "\t\t\t\tif (uriAttribute != null)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tURI uri = URI.createURI(uriAttribute);" + NL
+			+ "\t\t\t\t\tEObject eObject = editingDomain.getResourceSet().getEObject(uri, true);" + NL
+			+ "\t\t\t\t\tif (eObject != null)" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t  setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));" + NL
+			+ "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t}" + NL
+			+ "\t\tcatch (CoreException exception)" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_461 = ".INSTANCE.log(exception);" + NL + "\t\t}";
+	protected final String TEXT_462 = NL + "\t}";
+	protected final String TEXT_463 = NL + NL + "\t/**" + NL + "\t * This is called during startup." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_464 = NL + "\t@Override";
+	protected final String TEXT_465 = NL + "\tpublic void init(IEditorSite site, IEditorInput editorInput)" + NL + "\t{"
+			+ NL + "\t\tsetSite(site);" + NL + "\t\tsetInputWithNotify(editorInput);" + NL
+			+ "\t\tsetPartName(editorInput.getName());" + NL + "\t\tsite.setSelectionProvider(this);" + NL
+			+ "\t\tsite.getPage().addPartListener(partListener);";
+	protected final String TEXT_466 = NL
+			+ "\t\tResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);";
+	protected final String TEXT_467 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_468 = NL + "\t@Override";
+	protected final String TEXT_469 = NL + "\tpublic void setFocus()" + NL + "\t{";
+	protected final String TEXT_470 = NL + "\t\tif (currentViewerPane != null)" + NL + "\t\t{" + NL
+			+ "\t\t\tcurrentViewerPane.setFocus();" + NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{" + NL
+			+ "\t\t\tgetControl(getActivePage()).setFocus();" + NL + "\t\t}";
+	protected final String TEXT_471 = NL + "\t\tgetControl(getActivePage()).setFocus();";
+	protected final String TEXT_472 = NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void addSelectionChangedListener(ISelectionChangedListener listener)" + NL + "\t{" + NL
+			+ "\t\tselectionChangedListeners.add(listener);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void removeSelectionChangedListener(ISelectionChangedListener listener)" + NL + "\t{" + NL
+			+ "\t\tselectionChangedListeners.remove(listener);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tpublic ISelection getSelection()" + NL + "\t{" + NL + "\t\treturn editorSelection;" + NL
+			+ "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection."
+			+ NL + "\t * Calling this result will notify the listeners." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic void setSelection(ISelection selection)" + NL + "\t{" + NL + "\t\teditorSelection = selection;"
+			+ NL;
+	protected final String TEXT_473 = NL + "\t\tfor (ISelectionChangedListener listener : selectionChangedListeners)";
+	protected final String TEXT_474 = NL
+			+ "\t\tfor (Iterator listeners = selectionChangedListeners.iterator(); listeners.hasNext(); )";
+	protected final String TEXT_475 = NL + "\t\t{";
+	protected final String TEXT_476 = NL
+			+ "\t\t\tISelectionChangedListener listener = (ISelectionChangedListener)listeners.next();";
+	protected final String TEXT_477 = NL
+			+ "\t\t\tlistener.selectionChanged(new SelectionChangedEvent(this, selection));" + NL + "\t\t}" + NL
+			+ "\t\tsetStatusLineManager(selection);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void setStatusLineManager(ISelection selection)" + NL + "\t{" + NL
+			+ "\t\tIStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?"
+			+ NL + "\t\t\tcontentOutlineStatusLineManager : getActionBars().getStatusLineManager();" + NL + "" + NL
+			+ "\t\tif (statusLineManager != null)" + NL + "\t\t{" + NL
+			+ "\t\t\tif (selection instanceof IStructuredSelection)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_478 = " collection = ((IStructuredSelection)selection).toList();" + NL
+			+ "\t\t\t\tswitch (collection.size())" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tcase 0:" + NL + "\t\t\t\t\t{"
+			+ NL + "\t\t\t\t\t\tstatusLineManager.setMessage(getString(\"_UI_NoObjectSelected\"));";
+	protected final String TEXT_479 = NL + "\t\t\t\t\t\tbreak;" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t\tcase 1:" + NL
+			+ "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tString text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());"
+			+ NL + "\t\t\t\t\t\tstatusLineManager.setMessage(getString(\"_UI_SingleObjectSelected\", text));";
+	protected final String TEXT_480 = NL + "\t\t\t\t\t\tbreak;" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t\tdefault:" + NL
+			+ "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tstatusLineManager.setMessage(getString(\"_UI_MultiObjectSelected\", Integer.toString(collection.size())));";
+	protected final String TEXT_481 = NL + "\t\t\t\t\t\tbreak;" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}"
+			+ NL + "\t\t\telse" + NL + "\t\t\t{" + NL + "\t\t\t\tstatusLineManager.setMessage(\"\");";
+	protected final String TEXT_482 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This looks up a string in the plugin's plugin.properties file." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprivate static String getString(String key)" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_483 = ".INSTANCE.getString(key);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This looks up a string in plugin.properties, making a substitution." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprivate static String getString(String key, Object s1)" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_484 = ".INSTANCE.getString(key, new Object [] { s1 });" + NL + "\t}" + NL + "" + NL
+			+ "\t/**" + NL
+			+ "\t * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tpublic void menuAboutToShow(IMenuManager menuManager)" + NL + "\t{" + NL
+			+ "\t\t((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);" + NL
+			+ "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic EditingDomainActionBarContributor getActionBarContributor()" + NL + "\t{" + NL
+			+ "\t\treturn (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();" + NL + "\t}"
+			+ NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic IActionBars getActionBars()" + NL + "\t{" + NL
+			+ "\t\treturn getActionBarContributor().getActionBars();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic AdapterFactory getAdapterFactory()" + NL + "\t{" + NL + "\t\treturn adapterFactory;" + NL
+			+ "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_485 = NL + "\t@Override";
+	protected final String TEXT_486 = NL + "\tpublic void dispose()" + NL + "\t{" + NL
+			+ "\t\tupdateProblemIndication = false;" + NL;
+	protected final String TEXT_487 = NL
+			+ "\t\tResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);" + NL;
+	protected final String TEXT_488 = NL + "\t\tgetSite().getPage().removePartListener(partListener);" + NL + "" + NL
+			+ "\t\tadapterFactory.dispose();" + NL + "" + NL
+			+ "\t\tif (getActionBarContributor().getActiveEditor() == this)" + NL + "\t\t{" + NL
+			+ "\t\t\tgetActionBarContributor().setActiveEditor(null);" + NL + "\t\t}" + NL;
+	protected final String TEXT_489 = NL + "\t\tfor (PropertySheetPage propertySheetPage : propertySheetPages)";
+	protected final String TEXT_490 = NL + "\t\tfor (Iterator i = propertySheetPages.iterator(); i.hasNext(); )";
+	protected final String TEXT_491 = NL + "\t\t{";
+	protected final String TEXT_492 = NL + "\t\t\tPropertySheetPage propertySheetPage = (PropertySheetPage)i.next();";
+	protected final String TEXT_493 = NL + "\t\t\tpropertySheetPage.dispose();" + NL + "\t\t}" + NL + "" + NL
+			+ "\t\tif (contentOutlinePage != null)" + NL + "\t\t{" + NL + "\t\t\tcontentOutlinePage.dispose();" + NL
+			+ "\t\t}" + NL + "" + NL + "\t\tsuper.dispose();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Returns whether the outline view should be presented to the user." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected boolean showOutlineView()" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_494 = ";" + NL + "\t}" + NL + "}";
+	protected final String TEXT_495 = NL;
+	protected final String TEXT_496 = NL;
+	protected final String TEXT_497 = NL;
+
+	public Editor() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_496);
+		stringBuffer.append(TEXT_497);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getEditorDirectory();
+		packageName = genPackage.getPresentationPackageName();
+		className = genPackage.getEditorClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2010 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) argument;
+		GenModel genModel = genPackage.getGenModel();
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		String importedOperationClassName = genModel
+				.getImportedName(genModel.isRichClientPlatform() ? "org.eclipse.jface.operation.IRunnableWithProgress"
+						: "org.eclipse.ui.actions.WorkspaceModifyOperation");
+		String operationMethodName = genModel.isRichClientPlatform() ? "run" : "execute";
+		String _ArrayListOfObject = "ArrayList" + (genModel.useGenerics() ? "<Object>" : "");
+		String _ArrayListOfSelectionChangedListener = "ArrayList"
+				+ (genModel.useGenerics() ? "<ISelectionChangedListener>" : "");
+		String _CollectionOfSelectionChangedListener = "Collection"
+				+ (genModel.useGenerics() ? "<ISelectionChangedListener>" : "");
+		String _ArrayListOfResource = "ArrayList" + (genModel.useGenerics() ? "<Resource>" : "");
+		String _CollectionOfResource = "Collection" + (genModel.useGenerics() ? "<Resource>" : "");
+		String _MapOfResourceToDiagnostic = "Map" + (genModel.useGenerics() ? "<Resource, Diagnostic>" : "");
+		String _HashMapOfResourceToBoolean = "HashMap" + (genModel.useGenerics() ? "<Resource, Boolean>" : "");
+		String _MapOfObjectToObject = "Map" + (genModel.useGenerics() ? "<Object, Object>" : "");
+		String _HashMapOfObjectToObject = "HashMap" + (genModel.useGenerics() ? "<Object, Object>" : "");
+		String _LinkedHashMapOfResourceToDiagnostic = "LinkedHashMap"
+				+ (genModel.useGenerics() ? "<Resource, Diagnostic>" : "");
+		String _CollectionOfAnything = "Collection" + (genModel.useGenerics() ? "<?>" : "");
+		String _ListOfAnything = "List" + (genModel.useGenerics() ? "<?>" : "");
+		boolean useExtendedLabelProvider = genModel.isStyleProviders() || genModel.isFontProviders()
+				|| genModel.isColorProviders();
+		boolean useStyledLabelProvider = genModel.isStyleProviders();
+		String _AdapterFactoryLabelProvider = (useStyledLabelProvider
+				? "AdapterFactoryLabelProvider.StyledLabelProvider"
+				: "AdapterFactoryLabelProvider"
+						+ (genModel.isFontProviders() && genModel.isColorProviders() ? ".FontAndColorProvider"
+								: genModel.isFontProviders() ? ".FontProvider"
+										: genModel.isColorProviders() ? ".ColorProvider" : ""));
+		String _DelegatingAdapterFactoryLabelProvider = useStyledLabelProvider
+				? genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DelegatingStyledCellLabelProvider")
+						+ (genModel.isFontProviders() && genModel.isColorProviders() ? ".FontAndColorProvider"
+								: genModel.isFontProviders() ? ".FontProvider"
+										: genModel.isColorProviders() ? ".ColorProvider" : "")
+				: "";
+		String _DecoratingColumLabelProvider = genModel.getDecoration() != GenDecoration.NONE
+				? genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DecoratingColumLabelProvider")
+						+ (useStyledLabelProvider ? ".StyledLabelProvider" : "")
+				: "";
+		String _DiagnosticDecorator = genModel.getDecoration() != GenDecoration.NONE
+				? genModel.getImportedName("org.eclipse.emf.edit.ui.provider.DiagnosticDecorator")
+						+ (useStyledLabelProvider ? ".Styled" : "")
+				: "";
+		String _ArrayListOfString = "ArrayList" + (genModel.useGenerics() ? "<String>" : "");
+		String _ListOfString = "List" + (genModel.useGenerics() ? "<String>" : "");
+		String _ListOfPropertySheetPage = "List" + (genModel.useGenerics() ? "<PropertySheetPage>" : "");
+		String _ArrayListOfPropertySheetPage = "ArrayList" + (genModel.useGenerics() ? "<PropertySheetPage>" : "");
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getPresentationPackageName());
+		stringBuffer.append(TEXT_3);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_4);
+		}
+		stringBuffer.append(TEXT_5);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_6);
+		}
+		stringBuffer.append(TEXT_7);
+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {
+			stringBuffer.append(TEXT_8);
+		}
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_9);
+		}
+		stringBuffer.append(TEXT_10);
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_11);
+		}
+		stringBuffer.append(TEXT_12);
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_13);
+		}
+		stringBuffer.append(TEXT_14);
+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {
+			stringBuffer.append(TEXT_15);
+		}
+		stringBuffer.append(TEXT_16);
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_17);
+		}
+		stringBuffer.append(TEXT_18);
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_19);
+		}
+		stringBuffer.append(TEXT_20);
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_21);
+		}
+		stringBuffer.append(TEXT_22);
+		if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+			stringBuffer.append(TEXT_23);
+		}
+		stringBuffer.append(TEXT_24);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_25);
+		}
+		stringBuffer.append(TEXT_26);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_27);
+		}
+		stringBuffer.append(TEXT_28);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_29);
+		}
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_30);
+		}
+		stringBuffer.append(TEXT_31);
+		if (!genModel.isRichClientPlatform()
+				&& genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF23_VALUE) {
+			stringBuffer.append(TEXT_32);
+		}
+		stringBuffer.append(TEXT_33);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_34);
+		}
+		stringBuffer.append(TEXT_35);
+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {
+			stringBuffer.append(TEXT_36);
+		}
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_37);
+		}
+		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
+			stringBuffer.append(TEXT_38);
+		}
+		stringBuffer.append(TEXT_39);
+		stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());
+		stringBuffer.append(TEXT_40);
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_41);
+		stringBuffer.append(genPackage.getPrefix());
+		stringBuffer.append(TEXT_42);
+		stringBuffer.append(genPackage.getEditorClassName());
+		stringBuffer.append(TEXT_43);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_44);
+		}
+		stringBuffer.append(TEXT_45);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_46);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_47);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_48);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_49);
+		}
+		if (genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_50);
+			if (genPackage.isGenerateModelWizard()) {
+				stringBuffer.append(TEXT_51);
+				stringBuffer.append(_ListOfString);
+				stringBuffer.append(TEXT_52);
+				stringBuffer.append(genPackage.getImportedModelWizardClassName());
+				stringBuffer.append(TEXT_53);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(TEXT_54);
+			} else {
+				stringBuffer.append(TEXT_55);
+				stringBuffer.append(_ListOfString);
+				stringBuffer.append(TEXT_56);
+				stringBuffer.append(genModel.getImportedName("java.util.Arrays"));
+				stringBuffer.append(TEXT_57);
+				stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+				stringBuffer.append(TEXT_58);
+				stringBuffer.append(genPackage.getEditorClassName());
+				stringBuffer.append(TEXT_59);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(genModel.getNonNLS(2));
+				stringBuffer.append(genModel.getNonNLS(3));
+				stringBuffer.append(TEXT_60);
+			}
+			stringBuffer.append(TEXT_61);
+			stringBuffer.append(_ListOfString);
+			stringBuffer.append(TEXT_62);
+			stringBuffer.append(_ListOfString);
+			stringBuffer.append(TEXT_63);
+			stringBuffer.append(_ListOfString);
+			stringBuffer.append(TEXT_64);
+			stringBuffer.append(_ArrayListOfString);
+			stringBuffer.append(TEXT_65);
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_66);
+			} else {
+				stringBuffer.append(TEXT_67);
+			}
+			stringBuffer.append(TEXT_68);
+		}
+		stringBuffer.append(TEXT_69);
+		stringBuffer.append(_ListOfPropertySheetPage);
+		stringBuffer.append(TEXT_70);
+		stringBuffer.append(_ArrayListOfPropertySheetPage);
+		stringBuffer.append(TEXT_71);
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_72);
+		}
+		stringBuffer.append(TEXT_73);
+		stringBuffer.append(_CollectionOfSelectionChangedListener);
+		stringBuffer.append(TEXT_74);
+		stringBuffer.append(_ArrayListOfSelectionChangedListener);
+		stringBuffer.append(TEXT_75);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_76);
+		}
+		stringBuffer.append(TEXT_77);
+		stringBuffer.append(genPackage.getEditorClassName());
+		stringBuffer.append(TEXT_78);
+		stringBuffer.append(genPackage.getEditorClassName());
+		stringBuffer.append(TEXT_79);
+		stringBuffer.append(genPackage.getEditorClassName());
+		stringBuffer.append(TEXT_80);
+		stringBuffer.append(_CollectionOfResource);
+		stringBuffer.append(TEXT_81);
+		stringBuffer.append(_ArrayListOfResource);
+		stringBuffer.append(TEXT_82);
+		stringBuffer.append(_CollectionOfResource);
+		stringBuffer.append(TEXT_83);
+		stringBuffer.append(_ArrayListOfResource);
+		stringBuffer.append(TEXT_84);
+		stringBuffer.append(_CollectionOfResource);
+		stringBuffer.append(TEXT_85);
+		stringBuffer.append(_ArrayListOfResource);
+		stringBuffer.append(TEXT_86);
+		stringBuffer.append(_MapOfResourceToDiagnostic);
+		stringBuffer.append(TEXT_87);
+		stringBuffer.append(_LinkedHashMapOfResourceToDiagnostic);
+		stringBuffer.append(TEXT_88);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_89);
+		}
+		stringBuffer.append(TEXT_90);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_91);
+		}
+		stringBuffer.append(TEXT_92);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_93);
+		}
+		stringBuffer.append(TEXT_94);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_95);
+			stringBuffer.append(_CollectionOfResource);
+			stringBuffer.append(TEXT_96);
+			stringBuffer.append(_ArrayListOfResource);
+			stringBuffer.append(TEXT_97);
+			stringBuffer.append(_CollectionOfResource);
+			stringBuffer.append(TEXT_98);
+			stringBuffer.append(_ArrayListOfResource);
+			stringBuffer.append(TEXT_99);
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_100);
+			}
+			stringBuffer.append(TEXT_101);
+			if (genModel.getDecoration() == GenDecoration.NONE) {
+				stringBuffer.append(TEXT_102);
+			}
+			stringBuffer.append(TEXT_103);
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_104);
+			}
+			stringBuffer.append(TEXT_105);
+			if (genModel.getDecoration() == GenDecoration.NONE) {
+				stringBuffer.append(TEXT_106);
+			} else {
+				stringBuffer.append(TEXT_107);
+				stringBuffer.append(_DiagnosticDecorator);
+				stringBuffer.append(TEXT_108);
+				if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF211_VALUE) {
+					stringBuffer.append(TEXT_109);
+				}
+				stringBuffer.append(TEXT_110);
+			}
+			stringBuffer.append(TEXT_111);
+			stringBuffer.append(_CollectionOfResource);
+			stringBuffer.append(TEXT_112);
+			stringBuffer.append(_CollectionOfResource);
+			stringBuffer.append(TEXT_113);
+			stringBuffer.append(genPackage.getEditorClassName());
+			stringBuffer.append(TEXT_114);
+			stringBuffer.append(genPackage.getEditorClassName());
+			stringBuffer.append(TEXT_115);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_116);
+		}
+		stringBuffer.append(TEXT_117);
+		stringBuffer.append(genPackage.getEditorClassName());
+		stringBuffer.append(TEXT_118);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_119);
+		} else {
+			stringBuffer.append(TEXT_120);
+		}
+		stringBuffer.append(TEXT_121);
+		if (!genModel.useGenerics()) {
+			stringBuffer.append(TEXT_122);
+		}
+		stringBuffer.append(TEXT_123);
+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+			stringBuffer.append(TEXT_124);
+		}
+		stringBuffer.append(TEXT_125);
+		stringBuffer.append(genPackage.getGenModel().getEditorPluginID());
+		stringBuffer.append(TEXT_126);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_127);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_128);
+		} else {
+			stringBuffer.append(TEXT_129);
+		}
+		stringBuffer.append(TEXT_130);
+		if (!genModel.useGenerics()) {
+			stringBuffer.append(TEXT_131);
+		}
+		stringBuffer.append(TEXT_132);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_133);
+		}
+		stringBuffer.append(TEXT_134);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_135);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_136);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_137);
+		}
+		stringBuffer.append(TEXT_138);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_139);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_140);
+		stringBuffer.append(genPackage.getEditorClassName());
+		stringBuffer.append(TEXT_141);
+		stringBuffer.append(TEXT_142);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.editor.call.Editor.Editor.addItemProviderFactories.override" args="genPackage:genPackage,genModel:genModel,importedOperationClassName:importedOperationClassName,operationMethodName:operationMethodName,_ArrayListOfObject:_ArrayListOfObject,_ArrayListOfSelectionChangedListener:_ArrayListOfSelectionChangedListener,_CollectionOfSelectionChangedListener:_CollectionOfSelectionChangedListener,_ArrayListOfResource:_ArrayListOfResource,_CollectionOfResource:_CollectionOfResource,_MapOfResourceToDiagnostic:_MapOfResourceToDiagnostic,_HashMapOfResourceToBoolean:_HashMapOfResourceToBoolean,_MapOfObjectToObject:_MapOfObjectToObject,_HashMapOfObjectToObject:_HashMapOfObjectToObject,_LinkedHashMapOfResourceToDiagnostic:_LinkedHashMapOfResourceToDiagnostic,_CollectionOfAnything:_CollectionOfAnything,_ListOfAnything:_ListOfAnything,useExtendedLabelProvider:useExtendedLabelProvider,useStyledLabelProvider:useStyledLabelProvider,_AdapterFactoryLabelProvider:_AdapterFactoryLabelProvider,_DelegatingAdapterFactoryLabelProvider:_DelegatingAdapterFactoryLabelProvider,_DecoratingColumLabelProvider:_DecoratingColumLabelProvider,_DiagnosticDecorator:_DiagnosticDecorator,_ArrayListOfString:_ArrayListOfString,_ListOfString:_ListOfString,_ListOfPropertySheetPage:_ListOfPropertySheetPage,_ArrayListOfPropertySheetPage:_ArrayListOfPropertySheetPage"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("importedOperationClassName", importedOperationClassName);
+			callParameters.put("operationMethodName", operationMethodName);
+			callParameters.put("_ArrayListOfObject", _ArrayListOfObject);
+			callParameters.put("_ArrayListOfSelectionChangedListener", _ArrayListOfSelectionChangedListener);
+			callParameters.put("_CollectionOfSelectionChangedListener", _CollectionOfSelectionChangedListener);
+			callParameters.put("_ArrayListOfResource", _ArrayListOfResource);
+			callParameters.put("_CollectionOfResource", _CollectionOfResource);
+			callParameters.put("_MapOfResourceToDiagnostic", _MapOfResourceToDiagnostic);
+			callParameters.put("_HashMapOfResourceToBoolean", _HashMapOfResourceToBoolean);
+			callParameters.put("_MapOfObjectToObject", _MapOfObjectToObject);
+			callParameters.put("_HashMapOfObjectToObject", _HashMapOfObjectToObject);
+			callParameters.put("_LinkedHashMapOfResourceToDiagnostic", _LinkedHashMapOfResourceToDiagnostic);
+			callParameters.put("_CollectionOfAnything", _CollectionOfAnything);
+			callParameters.put("_ListOfAnything", _ListOfAnything);
+			callParameters.put("useExtendedLabelProvider", useExtendedLabelProvider);
+			callParameters.put("useStyledLabelProvider", useStyledLabelProvider);
+			callParameters.put("_AdapterFactoryLabelProvider", _AdapterFactoryLabelProvider);
+			callParameters.put("_DelegatingAdapterFactoryLabelProvider", _DelegatingAdapterFactoryLabelProvider);
+			callParameters.put("_DecoratingColumLabelProvider", _DecoratingColumLabelProvider);
+			callParameters.put("_DiagnosticDecorator", _DiagnosticDecorator);
+			callParameters.put("_ArrayListOfString", _ArrayListOfString);
+			callParameters.put("_ListOfString", _ListOfString);
+			callParameters.put("_ListOfPropertySheetPage", _ListOfPropertySheetPage);
+			callParameters.put("_ArrayListOfPropertySheetPage", _ArrayListOfPropertySheetPage);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_08-MQWJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		//Editor/addItemproviderFactories.override.javajetinc"
+		stringBuffer.append(TEXT_143);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_144);
+		}
+		stringBuffer.append(TEXT_145);
+		if (!genModel.useGenerics()) {
+			stringBuffer.append(TEXT_146);
+		}
+		stringBuffer.append(TEXT_147);
+		stringBuffer.append(_HashMapOfResourceToBoolean);
+		stringBuffer.append(TEXT_148);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_149);
+		}
+		stringBuffer.append(TEXT_150);
+		stringBuffer.append(_CollectionOfAnything);
+		stringBuffer.append(TEXT_151);
+		stringBuffer.append(_CollectionOfAnything);
+		stringBuffer.append(TEXT_152);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_153);
+		}
+		stringBuffer.append(TEXT_154);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_155);
+		}
+		stringBuffer.append(TEXT_156);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_157);
+		}
+		stringBuffer.append(TEXT_158);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_159);
+		}
+		stringBuffer.append(TEXT_160);
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_161);
+		}
+		stringBuffer.append(TEXT_162);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_163);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_164);
+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {
+			stringBuffer.append(TEXT_165);
+		} else {
+			stringBuffer.append(TEXT_166);
+		}
+		stringBuffer.append(TEXT_167);
+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {
+			stringBuffer.append(TEXT_168);
+		}
+		stringBuffer.append(TEXT_169);
+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF211_VALUE) {
+			stringBuffer.append(TEXT_170);
+		} else if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {
+			stringBuffer.append(TEXT_171);
+		} else if (genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_172);
+		} else {
+			stringBuffer.append(TEXT_173);
+		}
+		stringBuffer.append(TEXT_174);
+		stringBuffer.append(genPackage.getGenModel().getEditorPluginID());
+		stringBuffer.append(TEXT_175);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_176);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_177);
+		stringBuffer.append(genPackage.getGenModel().getEditorPluginID());
+		stringBuffer.append(TEXT_178);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_179);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_180);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_181);
+		}
+		stringBuffer.append(TEXT_182);
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_183);
+			stringBuffer.append(genPackage.getEditorClassName());
+			stringBuffer.append(TEXT_184);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_185);
+			}
+			stringBuffer.append(TEXT_186);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_187);
+			}
+			stringBuffer.append(TEXT_188);
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_189);
+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+				stringBuffer.append(TEXT_190);
+			}
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_191);
+				stringBuffer.append(_DecoratingColumLabelProvider);
+				stringBuffer.append(TEXT_192);
+			}
+			stringBuffer.append(TEXT_193);
+			stringBuffer.append(_AdapterFactoryLabelProvider);
+			stringBuffer.append(TEXT_194);
+			if (useExtendedLabelProvider) {
+				stringBuffer.append(TEXT_195);
+			}
+			stringBuffer.append(TEXT_196);
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_197);
+				stringBuffer.append(_DiagnosticDecorator);
+				stringBuffer.append(TEXT_198);
+				if (genModel.getDecoration() == GenDecoration.MANUAL) {
+					stringBuffer.append(TEXT_199);
+				}
+				stringBuffer.append(TEXT_200);
+				if (genModel.getDecoration() == GenDecoration.LIVE) {
+					stringBuffer.append(TEXT_201);
+					stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+					stringBuffer.append(TEXT_202);
+				}
+				stringBuffer.append(TEXT_203);
+			}
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_204);
+			}
+			stringBuffer.append(TEXT_205);
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_206);
+				stringBuffer.append(genModel.getImportedName(
+						"org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));
+				stringBuffer.append(TEXT_207);
+				stringBuffer.append(_DiagnosticDecorator);
+				stringBuffer.append(TEXT_208);
+			}
+			stringBuffer.append(TEXT_209);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_210);
+			stringBuffer.append(genPackage.getEditorClassName());
+			stringBuffer.append(TEXT_211);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_212);
+			}
+			stringBuffer.append(TEXT_213);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_214);
+			}
+			stringBuffer.append(TEXT_215);
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_216);
+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+				stringBuffer.append(TEXT_217);
+			}
+			stringBuffer.append(TEXT_218);
+			stringBuffer.append(_AdapterFactoryLabelProvider);
+			stringBuffer.append(TEXT_219);
+			if (useExtendedLabelProvider) {
+				stringBuffer.append(TEXT_220);
+			}
+			stringBuffer.append(TEXT_221);
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_222);
+			}
+			stringBuffer.append(TEXT_223);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_224);
+			stringBuffer.append(genPackage.getEditorClassName());
+			stringBuffer.append(TEXT_225);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_226);
+			}
+			stringBuffer.append(TEXT_227);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_228);
+			}
+			stringBuffer.append(TEXT_229);
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_230);
+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+				stringBuffer.append(TEXT_231);
+			}
+			stringBuffer.append(TEXT_232);
+			stringBuffer.append(_AdapterFactoryLabelProvider);
+			stringBuffer.append(TEXT_233);
+			if (useExtendedLabelProvider) {
+				stringBuffer.append(TEXT_234);
+			}
+			stringBuffer.append(TEXT_235);
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_236);
+			}
+			stringBuffer.append(TEXT_237);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_238);
+			stringBuffer.append(genPackage.getEditorClassName());
+			stringBuffer.append(TEXT_239);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_240);
+			}
+			stringBuffer.append(TEXT_241);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_242);
+			}
+			stringBuffer.append(TEXT_243);
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_244);
+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+				stringBuffer.append(TEXT_245);
+			}
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_246);
+				stringBuffer.append(_DecoratingColumLabelProvider);
+				stringBuffer.append(TEXT_247);
+			}
+			stringBuffer.append(TEXT_248);
+			stringBuffer.append(_AdapterFactoryLabelProvider);
+			stringBuffer.append(TEXT_249);
+			if (useExtendedLabelProvider) {
+				stringBuffer.append(TEXT_250);
+			}
+			stringBuffer.append(TEXT_251);
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_252);
+				stringBuffer.append(_DiagnosticDecorator);
+				stringBuffer.append(TEXT_253);
+				if (genModel.getDecoration() == GenDecoration.MANUAL) {
+					stringBuffer.append(TEXT_254);
+				}
+				stringBuffer.append(TEXT_255);
+			}
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_256);
+			}
+			stringBuffer.append(TEXT_257);
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_258);
+				stringBuffer.append(genModel.getImportedName(
+						"org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));
+				stringBuffer.append(TEXT_259);
+				stringBuffer.append(_DiagnosticDecorator);
+				stringBuffer.append(TEXT_260);
+			}
+			stringBuffer.append(TEXT_261);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_262);
+			stringBuffer.append(genPackage.getEditorClassName());
+			stringBuffer.append(TEXT_263);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_264);
+			}
+			stringBuffer.append(TEXT_265);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_266);
+			}
+			stringBuffer.append(TEXT_267);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_268);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_269);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(genModel.getNonNLS(2));
+			stringBuffer.append(TEXT_270);
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_271);
+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+				stringBuffer.append(TEXT_272);
+			}
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_273);
+				stringBuffer.append(_DecoratingColumLabelProvider);
+				stringBuffer.append(TEXT_274);
+			}
+			stringBuffer.append(TEXT_275);
+			stringBuffer.append(_AdapterFactoryLabelProvider);
+			stringBuffer.append(TEXT_276);
+			if (useExtendedLabelProvider) {
+				stringBuffer.append(TEXT_277);
+			}
+			stringBuffer.append(TEXT_278);
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_279);
+				stringBuffer.append(_DiagnosticDecorator);
+				stringBuffer.append(TEXT_280);
+				if (genModel.getDecoration() == GenDecoration.MANUAL) {
+					stringBuffer.append(TEXT_281);
+				}
+				stringBuffer.append(TEXT_282);
+				if (genModel.getDecoration() == GenDecoration.LIVE) {
+					stringBuffer.append(TEXT_283);
+					stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+					stringBuffer.append(TEXT_284);
+				}
+				stringBuffer.append(TEXT_285);
+			}
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_286);
+			}
+			stringBuffer.append(TEXT_287);
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_288);
+				stringBuffer.append(genModel.getImportedName(
+						"org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));
+				stringBuffer.append(TEXT_289);
+				stringBuffer.append(_DiagnosticDecorator);
+				stringBuffer.append(TEXT_290);
+			}
+			stringBuffer.append(TEXT_291);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_292);
+			stringBuffer.append(genPackage.getEditorClassName());
+			stringBuffer.append(TEXT_293);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_294);
+			}
+			stringBuffer.append(TEXT_295);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_296);
+			}
+			stringBuffer.append(TEXT_297);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_298);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_299);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(genModel.getNonNLS(2));
+			stringBuffer.append(TEXT_300);
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_301);
+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+				stringBuffer.append(TEXT_302);
+			}
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_303);
+				stringBuffer.append(_DecoratingColumLabelProvider);
+				stringBuffer.append(TEXT_304);
+			}
+			stringBuffer.append(TEXT_305);
+			stringBuffer.append(_AdapterFactoryLabelProvider);
+			stringBuffer.append(TEXT_306);
+			if (useExtendedLabelProvider) {
+				stringBuffer.append(TEXT_307);
+			}
+			stringBuffer.append(TEXT_308);
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_309);
+				stringBuffer.append(_DiagnosticDecorator);
+				stringBuffer.append(TEXT_310);
+				if (genModel.getDecoration() == GenDecoration.MANUAL) {
+					stringBuffer.append(TEXT_311);
+				}
+				stringBuffer.append(TEXT_312);
+				if (genModel.getDecoration() == GenDecoration.LIVE) {
+					stringBuffer.append(TEXT_313);
+					stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+					stringBuffer.append(TEXT_314);
+				}
+				stringBuffer.append(TEXT_315);
+			}
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_316);
+			}
+			stringBuffer.append(TEXT_317);
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_318);
+				stringBuffer.append(genModel.getImportedName(
+						"org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));
+				stringBuffer.append(TEXT_319);
+				stringBuffer.append(_DiagnosticDecorator);
+				stringBuffer.append(TEXT_320);
+			}
+			stringBuffer.append(TEXT_321);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_322);
+		} else {
+			stringBuffer.append(TEXT_323);
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_324);
+				stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+				stringBuffer.append(TEXT_325);
+			}
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_326);
+				stringBuffer.append(_DecoratingColumLabelProvider);
+				stringBuffer.append(TEXT_327);
+			}
+			stringBuffer.append(TEXT_328);
+			stringBuffer.append(_AdapterFactoryLabelProvider);
+			stringBuffer.append(TEXT_329);
+			if (useExtendedLabelProvider) {
+				stringBuffer.append(TEXT_330);
+			}
+			stringBuffer.append(TEXT_331);
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_332);
+				stringBuffer.append(_DiagnosticDecorator);
+				stringBuffer.append(TEXT_333);
+				if (genModel.getDecoration() == GenDecoration.MANUAL) {
+					stringBuffer.append(TEXT_334);
+				}
+				stringBuffer.append(TEXT_335);
+				if (genModel.getDecoration() == GenDecoration.LIVE) {
+					stringBuffer.append(TEXT_336);
+					stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+					stringBuffer.append(TEXT_337);
+				}
+				stringBuffer.append(TEXT_338);
+			}
+			if (useStyledLabelProvider) {
+				stringBuffer.append(TEXT_339);
+			}
+			stringBuffer.append(TEXT_340);
+			if (genModel.getDecoration() != GenDecoration.NONE) {
+				stringBuffer.append(TEXT_341);
+				stringBuffer.append(genModel.getImportedName(
+						"org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));
+				stringBuffer.append(TEXT_342);
+				stringBuffer.append(_DiagnosticDecorator);
+				stringBuffer.append(TEXT_343);
+			}
+			stringBuffer.append(TEXT_344);
+			stringBuffer.append(genModel.getNonNLS());
+		}
+		stringBuffer.append(TEXT_345);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_346);
+		}
+		stringBuffer.append(TEXT_347);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_348);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_349);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_350);
+		}
+		stringBuffer.append(TEXT_351);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_352);
+			if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE) {
+				stringBuffer.append(TEXT_353);
+			} else {
+				stringBuffer.append(TEXT_354);
+			}
+			stringBuffer.append(TEXT_355);
+		}
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_356);
+		}
+		stringBuffer.append(TEXT_357);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_358);
+		}
+		stringBuffer.append(TEXT_359);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_360);
+		}
+		stringBuffer.append(TEXT_361);
+		if (useStyledLabelProvider) {
+			stringBuffer.append(TEXT_362);
+			stringBuffer.append(_DelegatingAdapterFactoryLabelProvider);
+			stringBuffer.append(TEXT_363);
+		}
+		if (genModel.getDecoration() != GenDecoration.NONE) {
+			stringBuffer.append(TEXT_364);
+			stringBuffer.append(_DecoratingColumLabelProvider);
+			stringBuffer.append(TEXT_365);
+		}
+		stringBuffer.append(TEXT_366);
+		stringBuffer.append(_AdapterFactoryLabelProvider);
+		stringBuffer.append(TEXT_367);
+		if (useExtendedLabelProvider) {
+			stringBuffer.append(TEXT_368);
+		}
+		stringBuffer.append(TEXT_369);
+		if (genModel.getDecoration() != GenDecoration.NONE) {
+			stringBuffer.append(TEXT_370);
+			stringBuffer.append(_DiagnosticDecorator);
+			stringBuffer.append(TEXT_371);
+			if (genModel.getDecoration() == GenDecoration.MANUAL) {
+				stringBuffer.append(TEXT_372);
+			}
+			stringBuffer.append(TEXT_373);
+			if (genModel.getDecoration() == GenDecoration.LIVE) {
+				stringBuffer.append(TEXT_374);
+				stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+				stringBuffer.append(TEXT_375);
+			}
+			stringBuffer.append(TEXT_376);
+		}
+		if (useStyledLabelProvider) {
+			stringBuffer.append(TEXT_377);
+		}
+		stringBuffer.append(TEXT_378);
+		if (genModel.getDecoration() != GenDecoration.NONE) {
+			stringBuffer.append(TEXT_379);
+			stringBuffer.append(genModel
+					.getImportedName("org.eclipse.emf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport"));
+			stringBuffer.append(TEXT_380);
+			stringBuffer.append(_DiagnosticDecorator);
+			stringBuffer.append(TEXT_381);
+		}
+		stringBuffer.append(TEXT_382);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_383);
+		}
+		stringBuffer.append(TEXT_384);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_385);
+		}
+		stringBuffer.append(TEXT_386);
+		if (genModel.getDecoration() == GenDecoration.MANUAL) {
+			stringBuffer.append(TEXT_387);
+		} else if (genModel.getDecoration() == GenDecoration.LIVE) {
+			stringBuffer.append(TEXT_388);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_389);
+		}
+		stringBuffer.append(TEXT_390);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_391);
+		}
+		stringBuffer.append(TEXT_392);
+		stringBuffer.append(_ListOfAnything);
+		stringBuffer.append(TEXT_393);
+		stringBuffer.append(genPackage.getEditorClassName());
+		stringBuffer.append(TEXT_394);
+		stringBuffer.append(genPackage.getEditorClassName());
+		stringBuffer.append(TEXT_395);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_396);
+		}
+		stringBuffer.append(TEXT_397);
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_398);
+		} else {
+			stringBuffer.append(TEXT_399);
+		}
+		stringBuffer.append(TEXT_400);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_401);
+		}
+		stringBuffer.append(TEXT_402);
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_403);
+			stringBuffer.append(_ArrayListOfObject);
+			stringBuffer.append(TEXT_404);
+			stringBuffer.append(_ArrayListOfObject);
+			stringBuffer.append(TEXT_405);
+		} else {
+			stringBuffer.append(TEXT_406);
+			stringBuffer.append(_ArrayListOfObject);
+			stringBuffer.append(TEXT_407);
+			stringBuffer.append(_ArrayListOfObject);
+			stringBuffer.append(TEXT_408);
+		}
+		stringBuffer.append(TEXT_409);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_410);
+		}
+		stringBuffer.append(TEXT_411);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_412);
+		}
+		stringBuffer.append(TEXT_413);
+		stringBuffer.append(_MapOfObjectToObject);
+		stringBuffer.append(TEXT_414);
+		stringBuffer.append(_HashMapOfObjectToObject);
+		stringBuffer.append(TEXT_415);
+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {
+			stringBuffer.append(TEXT_416);
+		}
+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF29_VALUE) {
+			stringBuffer.append(TEXT_417);
+		}
+		stringBuffer.append(TEXT_418);
+		stringBuffer.append(importedOperationClassName);
+		stringBuffer.append(TEXT_419);
+		stringBuffer.append(importedOperationClassName);
+		stringBuffer.append(TEXT_420);
+		if (!genModel.isRichClientPlatform() && genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_421);
+		}
+		stringBuffer.append(TEXT_422);
+		stringBuffer.append(operationMethodName);
+		stringBuffer.append(TEXT_423);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_424);
+		} else {
+			stringBuffer.append(TEXT_425);
+		}
+		stringBuffer.append(TEXT_426);
+		if (!genModel.useGenerics()) {
+			stringBuffer.append(TEXT_427);
+		}
+		stringBuffer.append(TEXT_428);
+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+			stringBuffer.append(TEXT_429);
+		} else {
+			stringBuffer.append(TEXT_430);
+		}
+		stringBuffer.append(TEXT_431);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_432);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_433);
+		}
+		stringBuffer.append(TEXT_434);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_435);
+		}
+		stringBuffer.append(TEXT_436);
+		if (genModel.isRichClientPlatform()) {
+			if (genModel.isRichAjaxPlatform()) {
+				stringBuffer.append(TEXT_437);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.dialogs.ResourceDialog"));
+				stringBuffer.append(TEXT_438);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_439);
+				}
+				stringBuffer.append(TEXT_440);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_441);
+				}
+				stringBuffer.append(TEXT_442);
+				stringBuffer.append("List" + (genModel.useGenerics() ? "<URI>" : ""));
+				stringBuffer.append(TEXT_443);
+				stringBuffer.append(genModel.useGenerics() ? "" : "(URI)");
+				stringBuffer.append(TEXT_444);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.URIEditorInput"));
+				stringBuffer.append(TEXT_445);
+			} else {
+				stringBuffer.append(TEXT_446);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_447);
+				}
+				stringBuffer.append(TEXT_448);
+				stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));
+				stringBuffer.append(TEXT_449);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.SWT"));
+				stringBuffer.append(TEXT_450);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.URIEditorInput"));
+				stringBuffer.append(TEXT_451);
+			}
+		} else {
+			stringBuffer.append(TEXT_452);
+		}
+		stringBuffer.append(TEXT_453);
+		if (!genModel.useGenerics()) {
+			stringBuffer.append(TEXT_454);
+		}
+		stringBuffer.append(TEXT_455);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.NullProgressMonitor"));
+		stringBuffer.append(TEXT_456);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_457);
+			if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {
+				stringBuffer.append(TEXT_458);
+				stringBuffer.append(_ListOfAnything);
+				stringBuffer.append(TEXT_459);
+			} else {
+				stringBuffer.append(TEXT_460);
+				stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+				stringBuffer.append(TEXT_461);
+			}
+			stringBuffer.append(TEXT_462);
+		}
+		stringBuffer.append(TEXT_463);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_464);
+		}
+		stringBuffer.append(TEXT_465);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_466);
+		}
+		stringBuffer.append(TEXT_467);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_468);
+		}
+		stringBuffer.append(TEXT_469);
+		if (genPackage.isMultipleEditorPages()) {
+			stringBuffer.append(TEXT_470);
+		} else {
+			stringBuffer.append(TEXT_471);
+		}
+		stringBuffer.append(TEXT_472);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_473);
+		} else {
+			stringBuffer.append(TEXT_474);
+		}
+		stringBuffer.append(TEXT_475);
+		if (!genModel.useGenerics()) {
+			stringBuffer.append(TEXT_476);
+		}
+		stringBuffer.append(TEXT_477);
+		stringBuffer.append(_CollectionOfAnything);
+		stringBuffer.append(TEXT_478);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_479);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_480);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_481);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_482);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_483);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_484);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_485);
+		}
+		stringBuffer.append(TEXT_486);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_487);
+		}
+		stringBuffer.append(TEXT_488);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_489);
+		} else {
+			stringBuffer.append(TEXT_490);
+		}
+		stringBuffer.append(TEXT_491);
+		if (!genModel.useGenerics()) {
+			stringBuffer.append(TEXT_492);
+		}
+		stringBuffer.append(TEXT_493);
+		stringBuffer.append(genPackage.isMultipleEditorPages());
+		stringBuffer.append(TEXT_494);
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_495);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && (genPackage.hasConcreteClasses()
+				&& genPackage.getGenModel().getRuntimePlatform() != GenRuntimePlatform.GWT);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/EntryPoint.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/EntryPoint.java
index 6d67dde..e3e636e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/EntryPoint.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/EntryPoint.java
@@ -1,252 +1,251 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class EntryPoint extends org.eclipse.egf.emf.pattern.base.GenModelJava {

-	protected static String nl;

-

-	public static synchronized EntryPoint create(String lineSeparator) {

-		nl = lineSeparator;

-		EntryPoint result = new EntryPoint();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL + "" + NL + "import org.eclipse.emf.edit.ui.EditorEntryPoint;";

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the entry point." + NL

-			+ " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL

-			+ "public class ";

-	protected final String TEXT_5 = " extends EditorEntryPoint" + NL + "{";

-	protected final String TEXT_6 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_7 = " copyright = ";

-	protected final String TEXT_8 = ";";

-	protected final String TEXT_9 = NL + "\t";

-	protected final String TEXT_10 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL

-			+ "\tpublic void onModuleLoad()" + NL + "\t{" + NL + "\t\tsuper.onModuleLoad();" + NL + "\t}" + NL + ""

-			+ NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL + "\tprotected void registerPackages(";

-	protected final String TEXT_11 = ".Registry packageRegistry)" + NL + "\t{";

-	protected final String TEXT_12 = NL + "\t\tpackageRegistry.put(";

-	protected final String TEXT_13 = ".eNS_URI, ";

-	protected final String TEXT_14 = ".eINSTANCE);";

-	protected final String TEXT_15 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL

-			+ "\tprotected void configureItemProviderAdapterFactories(";

-	protected final String TEXT_16 = " adapterFactory)" + NL + "\t{";

-	protected final String TEXT_17 = NL + "\t\tadapterFactory.addAdapterFactory(new ";

-	protected final String TEXT_18 = "());";

-	protected final String TEXT_19 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL

-			+ "\tprotected String getApplicationTitle()" + NL + "\t{" + NL + "\t\treturn \"";

-	protected final String TEXT_20 = " Application\";";

-	protected final String TEXT_21 = NL + "\t}" + NL + "}";

-	protected final String TEXT_22 = NL;

-	protected final String TEXT_23 = NL;

-	protected final String TEXT_24 = NL;

-

-	public EntryPoint() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_23);

-		stringBuffer.append(TEXT_24);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPath = genModel.getEditorPluginDirectory();

-		packageName = genModel.getEditorPluginPackageName();

-		className = genModel.getEditorEntryPointClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 20010 Ed Merks 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:

-		 *   Ed Merks - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getEditorPluginPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genModel.getEditorEntryPointClassName());

-		stringBuffer.append(TEXT_5);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_9);

-		}

-		stringBuffer.append(TEXT_10);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-		stringBuffer.append(TEXT_11);

-		for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_14);

-		}

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ComposedAdapterFactory"));

-		stringBuffer.append(TEXT_16);

-		for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {

-			stringBuffer.append(TEXT_17);

-			stringBuffer.append(genPackage.getImportedItemProviderAdapterFactoryClassName());

-			stringBuffer.append(TEXT_18);

-		}

-		stringBuffer.append(TEXT_19);

-		stringBuffer.append(genModel.getModelName());

-		stringBuffer.append(TEXT_20);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_21);

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_22);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class EntryPoint extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+	protected static String nl;
+
+	public static synchronized EntryPoint create(String lineSeparator) {
+		nl = lineSeparator;
+		EntryPoint result = new EntryPoint();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL + "" + NL + "import org.eclipse.emf.edit.ui.EditorEntryPoint;";
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the entry point." + NL
+			+ " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL
+			+ "public class ";
+	protected final String TEXT_5 = " extends EditorEntryPoint" + NL + "{";
+	protected final String TEXT_6 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_7 = " copyright = ";
+	protected final String TEXT_8 = ";";
+	protected final String TEXT_9 = NL + "\t";
+	protected final String TEXT_10 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL
+			+ "\tpublic void onModuleLoad()" + NL + "\t{" + NL + "\t\tsuper.onModuleLoad();" + NL + "\t}" + NL + "" + NL
+			+ "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated"
+			+ NL + "\t */" + NL + "\t@Override" + NL + "\tprotected void registerPackages(";
+	protected final String TEXT_11 = ".Registry packageRegistry)" + NL + "\t{";
+	protected final String TEXT_12 = NL + "\t\tpackageRegistry.put(";
+	protected final String TEXT_13 = ".eNS_URI, ";
+	protected final String TEXT_14 = ".eINSTANCE);";
+	protected final String TEXT_15 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL
+			+ "\tprotected void configureItemProviderAdapterFactories(";
+	protected final String TEXT_16 = " adapterFactory)" + NL + "\t{";
+	protected final String TEXT_17 = NL + "\t\tadapterFactory.addAdapterFactory(new ";
+	protected final String TEXT_18 = "());";
+	protected final String TEXT_19 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t@Override" + NL
+			+ "\tprotected String getApplicationTitle()" + NL + "\t{" + NL + "\t\treturn \"";
+	protected final String TEXT_20 = " Application\";";
+	protected final String TEXT_21 = NL + "\t}" + NL + "}";
+	protected final String TEXT_22 = NL;
+	protected final String TEXT_23 = NL;
+	protected final String TEXT_24 = NL;
+
+	public EntryPoint() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_23);
+		stringBuffer.append(TEXT_24);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPath = genModel.getEditorPluginDirectory();
+		packageName = genModel.getEditorPluginPackageName();
+		className = genModel.getEditorEntryPointClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 20010 Ed Merks 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:
+		 *   Ed Merks - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getEditorPluginPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genModel.getEditorEntryPointClassName());
+		stringBuffer.append(TEXT_5);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_9);
+		}
+		stringBuffer.append(TEXT_10);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+		stringBuffer.append(TEXT_11);
+		for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_14);
+		}
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ComposedAdapterFactory"));
+		stringBuffer.append(TEXT_16);
+		for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
+			stringBuffer.append(TEXT_17);
+			stringBuffer.append(genPackage.getImportedItemProviderAdapterFactoryClassName());
+			stringBuffer.append(TEXT_18);
+		}
+		stringBuffer.append(TEXT_19);
+		stringBuffer.append(genModel.getModelName());
+		stringBuffer.append(TEXT_20);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_21);
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_22);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/HomeHTML.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/HomeHTML.java
index edc15bc..8a8a75d 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/HomeHTML.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/HomeHTML.java
@@ -1,197 +1,197 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class HomeHTML extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized HomeHTML create(String lineSeparator) {

-		nl = lineSeparator;

-		HomeHTML result = new HomeHTML();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<!doctype html>" + NL

-			+ "<html style=\"height : 100%\"> " + NL + "  <head>" + NL

-			+ "    <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">" + NL + "" + NL

-			+ "    <!--                                           -->" + NL

-			+ "    <!-- Any title is fine                         -->" + NL

-			+ "    <!--                                           -->" + NL + "    <title>";

-	protected final String TEXT_2 = " Application</title>" + NL + "    " + NL + "    <style TYPE=\"text/css\">" + NL

-			+ "      <!--" + NL + "        .ToolBar" + NL + "        {" + NL + "          background-color: #d0e4f6;"

-			+ NL + "        }" + NL + "        .ToolBarButton" + NL + "        {" + NL + "          float: left;" + NL

-			+ "          margin-top: 5px;" + NL + "        }" + NL + "        .ToolBarButtonLeftMargin" + NL

-			+ "        {" + NL + "          float: left;" + NL + "          margin-left: 10px;" + NL

-			+ "          margin-top: 5px;" + NL + "        }" + NL + "        .Header" + NL + "        {" + NL

-			+ "          background-color: #628cd5;" + NL + "          color: #FFFFFF;" + NL + "          float: left;"

-			+ NL + "          font-weight: bold;" + NL + "          font-size: xx-large;" + NL + "        }" + NL

-			+ "        .HeaderLabel" + NL + "        {" + NL + "          float: left;" + NL

-			+ "          margin-left: 10px;" + NL + "        }" + NL + "        .PropertiesTitle" + NL + "        {"

-			+ NL + "          background-color: #628cd5;" + NL + "          color: #FFFFFF;" + NL

-			+ "          font-weight: bold;" + NL + "          font-size: large;" + NL + "        }" + NL

-			+ "        .PropertiesTitleLabel" + NL + "        {" + NL + "          float: left;" + NL

-			+ "          margin-left: 5px;" + NL + "        }" + NL + "      -->" + NL + "    </style>" + NL + "" + NL

-			+ "    <!--                                           -->" + NL

-			+ "    <!-- This script loads your compiled module.   -->" + NL

-			+ "    <!-- If you add any GWT meta tags, they must   -->" + NL

-			+ "    <!-- be added before this line.                -->" + NL

-			+ "    <script type=\"text/javascript\" language=\"javascript\" src=\"";

-	protected final String TEXT_3 = "/";

-	protected final String TEXT_4 = ".nocache.js\"></script>" + NL + "  </head>" + NL + "" + NL

-			+ "  <body style=\"height : 100%\">" + NL + "    <div id=\"main\" style=\"height : 100%\">" + NL

-			+ "    </div>" + NL + "  </body>" + NL + "</html>" + NL;

-	protected final String TEXT_5 = NL;

-	protected final String TEXT_6 = NL;

-

-	public HomeHTML() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(TEXT_6);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditorProjectDirectory() + "/war/" + genModel.getEditorHomePageName() + ".html";

-		overwrite = false;

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2010 Ed Merks 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: 

-		 *   Ed Merks - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genModel.getModelName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getQualifiedEditorModuleName());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genModel.getQualifiedEditorModuleName());

-		stringBuffer.append(TEXT_4);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class HomeHTML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized HomeHTML create(String lineSeparator) {
+		nl = lineSeparator;
+		HomeHTML result = new HomeHTML();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<!doctype html>" + NL
+			+ "<html style=\"height : 100%\"> " + NL + "  <head>" + NL
+			+ "    <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">" + NL + "" + NL
+			+ "    <!--                                           -->" + NL
+			+ "    <!-- Any title is fine                         -->" + NL
+			+ "    <!--                                           -->" + NL + "    <title>";
+	protected final String TEXT_2 = " Application</title>" + NL + "    " + NL + "    <style TYPE=\"text/css\">" + NL
+			+ "      <!--" + NL + "        .ToolBar" + NL + "        {" + NL + "          background-color: #d0e4f6;"
+			+ NL + "        }" + NL + "        .ToolBarButton" + NL + "        {" + NL + "          float: left;" + NL
+			+ "          margin-top: 5px;" + NL + "        }" + NL + "        .ToolBarButtonLeftMargin" + NL
+			+ "        {" + NL + "          float: left;" + NL + "          margin-left: 10px;" + NL
+			+ "          margin-top: 5px;" + NL + "        }" + NL + "        .Header" + NL + "        {" + NL
+			+ "          background-color: #628cd5;" + NL + "          color: #FFFFFF;" + NL + "          float: left;"
+			+ NL + "          font-weight: bold;" + NL + "          font-size: xx-large;" + NL + "        }" + NL
+			+ "        .HeaderLabel" + NL + "        {" + NL + "          float: left;" + NL
+			+ "          margin-left: 10px;" + NL + "        }" + NL + "        .PropertiesTitle" + NL + "        {"
+			+ NL + "          background-color: #628cd5;" + NL + "          color: #FFFFFF;" + NL
+			+ "          font-weight: bold;" + NL + "          font-size: large;" + NL + "        }" + NL
+			+ "        .PropertiesTitleLabel" + NL + "        {" + NL + "          float: left;" + NL
+			+ "          margin-left: 5px;" + NL + "        }" + NL + "      -->" + NL + "    </style>" + NL + "" + NL
+			+ "    <!--                                           -->" + NL
+			+ "    <!-- This script loads your compiled module.   -->" + NL
+			+ "    <!-- If you add any GWT meta tags, they must   -->" + NL
+			+ "    <!-- be added before this line.                -->" + NL
+			+ "    <script type=\"text/javascript\" language=\"javascript\" src=\"";
+	protected final String TEXT_3 = "/";
+	protected final String TEXT_4 = ".nocache.js\"></script>" + NL + "  </head>" + NL + "" + NL
+			+ "  <body style=\"height : 100%\">" + NL + "    <div id=\"main\" style=\"height : 100%\">" + NL
+			+ "    </div>" + NL + "  </body>" + NL + "</html>" + NL;
+	protected final String TEXT_5 = NL;
+	protected final String TEXT_6 = NL;
+
+	public HomeHTML() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(TEXT_6);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditorProjectDirectory() + "/war/" + genModel.getEditorHomePageName() + ".html";
+		overwrite = false;
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2010 Ed Merks 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: 
+		 *   Ed Merks - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genModel.getModelName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getQualifiedEditorModuleName());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genModel.getQualifiedEditorModuleName());
+		stringBuffer.append(TEXT_4);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ManifestMF.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ManifestMF.java
index 2c94385..980f4dc 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ManifestMF.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ManifestMF.java
@@ -1,261 +1,261 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ManifestMF extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized ManifestMF create(String lineSeparator) {

-		nl = lineSeparator;

-		ManifestMF result = new ManifestMF();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "Manifest-Version: 1.0" + NL + "Bundle-ManifestVersion: 2" + NL

-			+ "Bundle-Name: %pluginName" + NL + "Bundle-SymbolicName: ";

-	protected final String TEXT_2 = ";singleton:=true" + NL + "Bundle-Version: 1.0.0.qualifier" + NL

-			+ "Bundle-ClassPath: ";

-	protected final String TEXT_3 = ".jar";

-	protected final String TEXT_4 = ".";

-	protected final String TEXT_5 = NL + "Bundle-Activator: ";

-	protected final String TEXT_6 = "$Implementation";

-	protected final String TEXT_7 = NL + "Bundle-Vendor: %providerName" + NL + "Bundle-Localization: plugin";

-	protected final String TEXT_8 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";

-	protected final String TEXT_9 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";

-	protected final String TEXT_10 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";

-	protected final String TEXT_11 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";

-	protected final String TEXT_12 = NL + "Export-Package: ";

-	protected final String TEXT_13 = ",";

-	protected final String TEXT_14 = NL + " ";

-	protected final String TEXT_15 = NL + "Require-Bundle: ";

-	protected final String TEXT_16 = ";visibility:=reexport";

-	protected final String TEXT_17 = ",";

-	protected final String TEXT_18 = NL + " ";

-	protected final String TEXT_19 = ";visibility:=reexport";

-	protected final String TEXT_20 = NL + "Import-Package: org.eclipse.emf.common.ui," + NL

-			+ " org.eclipse.emf.common.ui.action," + NL + " org.eclipse.emf.common.ui.dialogs," + NL

-			+ " org.eclipse.emf.common.ui.editor," + NL + " org.eclipse.emf.common.ui.viewer," + NL

-			+ " org.eclipse.emf.edit.ui," + NL + " org.eclipse.emf.edit.ui.action," + NL

-			+ " org.eclipse.emf.edit.ui.celleditor," + NL + " org.eclipse.emf.edit.ui.dnd," + NL

-			+ " org.eclipse.emf.edit.ui.provider," + NL + " org.eclipse.emf.edit.ui.util," + NL

-			+ " org.eclipse.emf.edit.ui.view," + NL + " org.eclipse.jface.action," + NL + " org.eclipse.jface.dialogs,"

-			+ NL + " org.eclipse.jface.operation," + NL + " org.eclipse.jface.viewers," + NL

-			+ " org.eclipse.jface.window," + NL + " org.eclipse.jface.wizard," + NL + " org.eclipse.swt," + NL

-			+ " org.eclipse.swt.custom," + NL + " org.eclipse.swt.dnd," + NL + " org.eclipse.swt.events," + NL

-			+ " org.eclipse.swt.graphics," + NL + " org.eclipse.swt.layout," + NL + " org.eclipse.swt.widgets," + NL

-			+ " org.eclipse.ui;ui.workbench=\"split\"," + NL + " org.eclipse.ui.actions;ui.workbench=\"split\"," + NL

-			+ " org.eclipse.ui.application," + NL + " org.eclipse.ui.part;ui.workbench=\"split\"," + NL

-			+ " org.eclipse.ui.views," + NL + " org.eclipse.ui.views.contentoutline," + NL

-			+ " org.eclipse.ui.views.properties;ui.views=\"split\"";

-	protected final String TEXT_21 = NL + "Eclipse-LazyStart: true";

-	protected final String TEXT_22 = NL + "Bundle-ActivationPolicy: lazy" + NL;

-	protected final String TEXT_23 = NL;

-	protected final String TEXT_24 = NL;

-

-	public ManifestMF() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_23);

-		stringBuffer.append(TEXT_24);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditorProjectDirectory() + "/META-INF/MANIFEST.MF";

-		overwrite = genModel.isUpdateClasspath();

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2005-2010 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genModel.getEditorPluginID());

-		stringBuffer.append(TEXT_2);

-		if (genModel.isRuntimeJar()) {

-			stringBuffer.append(genModel.getEditorPluginID());

-			stringBuffer.append(TEXT_3);

-		} else {

-			stringBuffer.append(TEXT_4);

-		}

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genModel.getQualifiedEditorPluginClassName());

-			stringBuffer.append(TEXT_6);

-		}

-		stringBuffer.append(TEXT_7);

-		if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {

-			stringBuffer.append(TEXT_8);

-		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {

-			stringBuffer.append(TEXT_9);

-		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {

-			stringBuffer.append(TEXT_10);

-		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {

-			stringBuffer.append(TEXT_11);

-		}

-		Iterator<String> packagesIterator = genModel.getEditorQualifiedPackageNames().iterator();

-		if (packagesIterator.hasNext()) {

-			String pack = packagesIterator.next();

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(pack);

-			while (packagesIterator.hasNext()) {

-				pack = packagesIterator.next();

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(pack);

-			}

-		}

-		Iterator<String> requiredPluginIterator = genModel.getEditorRequiredPlugins().iterator();

-		if (requiredPluginIterator.hasNext()) {

-			String pluginID = requiredPluginIterator.next();

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(pluginID);

-			if (!pluginID.startsWith("org.eclipse.core.runtime")) {

-				stringBuffer.append(TEXT_16);

-			}

-			while (requiredPluginIterator.hasNext()) {

-				pluginID = requiredPluginIterator.next();

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(TEXT_18);

-				stringBuffer.append(pluginID);

-				if (!pluginID.startsWith("org.eclipse.core.runtime") && !pluginID.equals("org.eclipse.xtext.xbase.lib")

-						&& !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {

-					stringBuffer.append(TEXT_19);

-				}

-			}

-		}

-		if (genModel.isRichAjaxPlatform()) {

-			stringBuffer.append(TEXT_20);

-		}

-		if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22

-				|| genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {

-			stringBuffer.append(TEXT_21);

-		}

-		stringBuffer.append(TEXT_22);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate && (genModel.isBundleManifest());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ManifestMF extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized ManifestMF create(String lineSeparator) {
+		nl = lineSeparator;
+		ManifestMF result = new ManifestMF();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "Manifest-Version: 1.0" + NL + "Bundle-ManifestVersion: 2" + NL
+			+ "Bundle-Name: %pluginName" + NL + "Bundle-SymbolicName: ";
+	protected final String TEXT_2 = ";singleton:=true" + NL + "Bundle-Version: 1.0.0.qualifier" + NL
+			+ "Bundle-ClassPath: ";
+	protected final String TEXT_3 = ".jar";
+	protected final String TEXT_4 = ".";
+	protected final String TEXT_5 = NL + "Bundle-Activator: ";
+	protected final String TEXT_6 = "$Implementation";
+	protected final String TEXT_7 = NL + "Bundle-Vendor: %providerName" + NL + "Bundle-Localization: plugin";
+	protected final String TEXT_8 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";
+	protected final String TEXT_9 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";
+	protected final String TEXT_10 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";
+	protected final String TEXT_11 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";
+	protected final String TEXT_12 = NL + "Export-Package: ";
+	protected final String TEXT_13 = ",";
+	protected final String TEXT_14 = NL + " ";
+	protected final String TEXT_15 = NL + "Require-Bundle: ";
+	protected final String TEXT_16 = ";visibility:=reexport";
+	protected final String TEXT_17 = ",";
+	protected final String TEXT_18 = NL + " ";
+	protected final String TEXT_19 = ";visibility:=reexport";
+	protected final String TEXT_20 = NL + "Import-Package: org.eclipse.emf.common.ui," + NL
+			+ " org.eclipse.emf.common.ui.action," + NL + " org.eclipse.emf.common.ui.dialogs," + NL
+			+ " org.eclipse.emf.common.ui.editor," + NL + " org.eclipse.emf.common.ui.viewer," + NL
+			+ " org.eclipse.emf.edit.ui," + NL + " org.eclipse.emf.edit.ui.action," + NL
+			+ " org.eclipse.emf.edit.ui.celleditor," + NL + " org.eclipse.emf.edit.ui.dnd," + NL
+			+ " org.eclipse.emf.edit.ui.provider," + NL + " org.eclipse.emf.edit.ui.util," + NL
+			+ " org.eclipse.emf.edit.ui.view," + NL + " org.eclipse.jface.action," + NL + " org.eclipse.jface.dialogs,"
+			+ NL + " org.eclipse.jface.operation," + NL + " org.eclipse.jface.viewers," + NL
+			+ " org.eclipse.jface.window," + NL + " org.eclipse.jface.wizard," + NL + " org.eclipse.swt," + NL
+			+ " org.eclipse.swt.custom," + NL + " org.eclipse.swt.dnd," + NL + " org.eclipse.swt.events," + NL
+			+ " org.eclipse.swt.graphics," + NL + " org.eclipse.swt.layout," + NL + " org.eclipse.swt.widgets," + NL
+			+ " org.eclipse.ui;ui.workbench=\"split\"," + NL + " org.eclipse.ui.actions;ui.workbench=\"split\"," + NL
+			+ " org.eclipse.ui.application," + NL + " org.eclipse.ui.part;ui.workbench=\"split\"," + NL
+			+ " org.eclipse.ui.views," + NL + " org.eclipse.ui.views.contentoutline," + NL
+			+ " org.eclipse.ui.views.properties;ui.views=\"split\"";
+	protected final String TEXT_21 = NL + "Eclipse-LazyStart: true";
+	protected final String TEXT_22 = NL + "Bundle-ActivationPolicy: lazy" + NL;
+	protected final String TEXT_23 = NL;
+	protected final String TEXT_24 = NL;
+
+	public ManifestMF() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_23);
+		stringBuffer.append(TEXT_24);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditorProjectDirectory() + "/META-INF/MANIFEST.MF";
+		overwrite = genModel.isUpdateClasspath();
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2005-2010 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genModel.getEditorPluginID());
+		stringBuffer.append(TEXT_2);
+		if (genModel.isRuntimeJar()) {
+			stringBuffer.append(genModel.getEditorPluginID());
+			stringBuffer.append(TEXT_3);
+		} else {
+			stringBuffer.append(TEXT_4);
+		}
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genModel.getQualifiedEditorPluginClassName());
+			stringBuffer.append(TEXT_6);
+		}
+		stringBuffer.append(TEXT_7);
+		if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {
+			stringBuffer.append(TEXT_8);
+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {
+			stringBuffer.append(TEXT_9);
+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {
+			stringBuffer.append(TEXT_10);
+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {
+			stringBuffer.append(TEXT_11);
+		}
+		Iterator<String> packagesIterator = genModel.getEditorQualifiedPackageNames().iterator();
+		if (packagesIterator.hasNext()) {
+			String pack = packagesIterator.next();
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(pack);
+			while (packagesIterator.hasNext()) {
+				pack = packagesIterator.next();
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(pack);
+			}
+		}
+		Iterator<String> requiredPluginIterator = genModel.getEditorRequiredPlugins().iterator();
+		if (requiredPluginIterator.hasNext()) {
+			String pluginID = requiredPluginIterator.next();
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(pluginID);
+			if (!pluginID.startsWith("org.eclipse.core.runtime")) {
+				stringBuffer.append(TEXT_16);
+			}
+			while (requiredPluginIterator.hasNext()) {
+				pluginID = requiredPluginIterator.next();
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(TEXT_18);
+				stringBuffer.append(pluginID);
+				if (!pluginID.startsWith("org.eclipse.core.runtime") && !pluginID.equals("org.eclipse.xtext.xbase.lib")
+						&& !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {
+					stringBuffer.append(TEXT_19);
+				}
+			}
+		}
+		if (genModel.isRichAjaxPlatform()) {
+			stringBuffer.append(TEXT_20);
+		}
+		if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22
+				|| genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {
+			stringBuffer.append(TEXT_21);
+		}
+		stringBuffer.append(TEXT_22);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && (genModel.isBundleManifest());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelIcon.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelIcon.java
index 124ed99..ccf4f70 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelIcon.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelIcon.java
@@ -1,133 +1,133 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ModelIcon extends org.eclipse.egf.emf.pattern.base.GenPackageGIF {

-	protected static String nl;

-

-	public static synchronized ModelIcon create(String lineSeparator) {

-		nl = lineSeparator;

-		ModelIcon result = new ModelIcon();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ModelIcon() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		if (genPackage.hasConcreteClasses()) {

-			new CodegenGeneratorAdapter(parameter).generateGIF("editor/ModelFile.gif",

-					genPackage.getModelIconFileName(), genPackage.getPrefix(), null, false);

-		} else {

-		}

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModelIcon extends org.eclipse.egf.emf.pattern.base.GenPackageGIF {
+	protected static String nl;
+
+	public static synchronized ModelIcon create(String lineSeparator) {
+		nl = lineSeparator;
+		ModelIcon result = new ModelIcon();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ModelIcon() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		if (genPackage.hasConcreteClasses()) {
+			new CodegenGeneratorAdapter(parameter).generateGIF("editor/ModelFile.gif",
+					genPackage.getModelIconFileName(), genPackage.getPrefix(), null, false);
+		} else {
+		}
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizard.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizard.java
index 40149bd..c56ff61 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizard.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizard.java
@@ -1,1224 +1,1175 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ModelWizard extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized ModelWizard create(String lineSeparator) {

-		nl = lineSeparator;

-		ModelWizard result = new ModelWizard();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL + "" + NL + "" + NL + "import java.util.ArrayList;" + NL

-			+ "import java.util.Arrays;" + NL + "import java.util.Collection;" + NL + "import java.util.Collections;"

-			+ NL + "import java.util.HashMap;";

-	protected final String TEXT_4 = NL + "import java.util.Iterator;";

-	protected final String TEXT_5 = NL + "import java.util.List;" + NL + "import java.util.Map;" + NL

-			+ "import java.util.MissingResourceException;" + NL + "import java.util.StringTokenizer;" + NL;

-	protected final String TEXT_6 = NL + "import org.eclipse.emf.common.CommonPlugin;" + NL;

-	protected final String TEXT_7 = NL + "import org.eclipse.emf.common.util.URI;" + NL + "" + NL

-			+ "import org.eclipse.emf.ecore.EClass;" + NL + "import org.eclipse.emf.ecore.EClassifier;" + NL + "" + NL

-			+ "import org.eclipse.emf.ecore.resource.Resource;" + NL

-			+ "import org.eclipse.emf.ecore.resource.ResourceSet;" + NL + "" + NL

-			+ "import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;" + NL + "" + NL

-			+ "import org.eclipse.emf.ecore.EObject;" + NL + "" + NL + "import org.eclipse.emf.ecore.xmi.XMLResource;"

-			+ NL + "" + NL + "import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;" + NL;

-	protected final String TEXT_8 = NL + "import org.eclipse.core.resources.IContainer;" + NL

-			+ "import org.eclipse.core.resources.IFile;" + NL + "import org.eclipse.core.resources.IFolder;" + NL

-			+ "import org.eclipse.core.resources.IProject;" + NL + "import org.eclipse.core.resources.IResource;" + NL

-			+ "import org.eclipse.core.resources.ResourcesPlugin;" + NL;

-	protected final String TEXT_9 = NL + "import org.eclipse.core.runtime.IProgressMonitor;" + NL + "" + NL

-			+ "import org.eclipse.jface.dialogs.MessageDialog;" + NL + "" + NL

-			+ "import org.eclipse.jface.viewers.IStructuredSelection;" + NL + "" + NL

-			+ "import org.eclipse.jface.wizard.Wizard;" + NL + "import org.eclipse.jface.wizard.WizardPage;" + NL + ""

-			+ NL + "import org.eclipse.swt.SWT;" + NL + "" + NL + "import org.eclipse.swt.events.ModifyListener;" + NL

-			+ "import org.eclipse.swt.events.ModifyEvent;" + NL + "" + NL + "import org.eclipse.swt.layout.GridData;"

-			+ NL + "import org.eclipse.swt.layout.GridLayout;" + NL + "" + NL + "import org.eclipse.swt.widgets.Combo;"

-			+ NL + "import org.eclipse.swt.widgets.Composite;" + NL + "import org.eclipse.swt.widgets.Label;" + NL + ""

-			+ NL + "import org.eclipse.ui.INewWizard;" + NL + "import org.eclipse.ui.IWorkbench;" + NL;

-	protected final String TEXT_10 = NL + "import org.eclipse.ui.actions.WorkspaceModifyOperation;" + NL + "" + NL

-			+ "import org.eclipse.ui.dialogs.WizardNewFileCreationPage;" + NL + "" + NL

-			+ "import org.eclipse.ui.part.FileEditorInput;" + NL + "import org.eclipse.ui.part.ISetSelectionTarget;"

-			+ NL;

-	protected final String TEXT_11 = NL + "import ";

-	protected final String TEXT_12 = ";";

-	protected final String TEXT_13 = NL + "import ";

-	protected final String TEXT_14 = ";" + NL + "import ";

-	protected final String TEXT_15 = ";" + NL + NL;

-	protected final String TEXT_16 = NL + NL + NL + "/**" + NL

-			+ " * This is a simple wizard for creating a new model file." + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public class ";

-	protected final String TEXT_17 = " extends Wizard implements INewWizard" + NL + "{";

-	protected final String TEXT_18 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_19 = " copyright = ";

-	protected final String TEXT_20 = ";";

-	protected final String TEXT_21 = NL;

-	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The supported extensions for created files." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_23 = " FILE_EXTENSIONS =" + NL + "\t\tCollections.unmodifiableList(Arrays.asList(";

-	protected final String TEXT_24 = ".INSTANCE.getString(\"_UI_";

-	protected final String TEXT_25 = "FilenameExtensions\").split(\"\\\\s*,\\\\s*\")));";

-	protected final String TEXT_26 = NL + NL + "\t/**" + NL

-			+ "\t * A formatted list of supported file extensions, suitable for display." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static final String FORMATTED_FILE_EXTENSIONS =" + NL + "\t\t";

-	protected final String TEXT_27 = ".INSTANCE.getString(\"_UI_";

-	protected final String TEXT_28 = "FilenameExtensions\").replaceAll(\"\\\\s*,\\\\s*\", \", \");";

-	protected final String TEXT_29 = NL + NL + "\t/**" + NL + "\t * This caches an instance of the model package." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_30 = " ";

-	protected final String TEXT_31 = " = ";

-	protected final String TEXT_32 = ".eINSTANCE;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This caches an instance of the model factory." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_33 = " ";

-	protected final String TEXT_34 = " = ";

-	protected final String TEXT_35 = ".get";

-	protected final String TEXT_36 = "();" + NL;

-	protected final String TEXT_37 = NL + "\t/**" + NL + "\t * This is the file creation page." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_38 = "NewFileCreationPage newFileCreationPage;" + NL;

-	protected final String TEXT_39 = NL + "\t/**" + NL + "\t * This is the initial object creation page." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_40 = "InitialObjectCreationPage initialObjectCreationPage;" + NL + "" + NL + "\t/**"

-			+ NL + "\t * Remember the selection during initialization for populating the default container." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected IStructuredSelection selection;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Remember the workbench during initialization." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected IWorkbench workbench;" + NL + "" + NL + "\t/**";

-	protected final String TEXT_41 = NL + "\t * Caches the names of the types that can be created as the root object.";

-	protected final String TEXT_42 = NL + "\t * Caches the names of the features representing global elements.";

-	protected final String TEXT_43 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_44 = " initialObjectNames;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * This just records the information." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic void init(IWorkbench workbench, IStructuredSelection selection)" + NL + "\t{" + NL

-			+ "\t\tthis.workbench = workbench;" + NL + "\t\tthis.selection = selection;" + NL + "\t\tsetWindowTitle(";

-	protected final String TEXT_45 = ".INSTANCE.getString(\"_UI_Wizard_label\"));";

-	protected final String TEXT_46 = NL

-			+ "\t\tsetDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(";

-	protected final String TEXT_47 = ".INSTANCE.getImage(\"full/wizban/New";

-	protected final String TEXT_48 = "\")));";

-	protected final String TEXT_49 = NL + "\t}" + NL + "" + NL + "\t/**";

-	protected final String TEXT_50 = NL + "\t * Returns the names of the types that can be created as the root object.";

-	protected final String TEXT_51 = NL + "\t * Returns the names of the features representing global elements.";

-	protected final String TEXT_52 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_53 = " getInitialObjectNames()" + NL + "\t{" + NL

-			+ "\t\tif (initialObjectNames == null)" + NL + "\t\t{" + NL + "\t\t\tinitialObjectNames = new ";

-	protected final String TEXT_54 = "();";

-	protected final String TEXT_55 = NL + "\t\t\tfor (EClassifier eClassifier : ";

-	protected final String TEXT_56 = ".getEClassifiers())";

-	protected final String TEXT_57 = NL + "\t\t\tfor (Iterator classifiers = ";

-	protected final String TEXT_58 = ".getEClassifiers().iterator(); classifiers.hasNext(); )";

-	protected final String TEXT_59 = NL + "\t\t\t{";

-	protected final String TEXT_60 = NL + "\t\t\t\tEClassifier eClassifier = (EClassifier)classifiers.next();";

-	protected final String TEXT_61 = NL + "\t\t\t\tif (eClassifier instanceof EClass)" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tEClass eClass = (EClass)eClassifier;" + NL + "\t\t\t\t\tif (!eClass.isAbstract())" + NL

-			+ "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tinitialObjectNames.add(eClass.getName());" + NL + "\t\t\t\t\t}" + NL

-			+ "\t\t\t\t}" + NL + "\t\t\t}";

-	protected final String TEXT_62 = NL + "\t\t\tfor (";

-	protected final String TEXT_63 = " eStructuralFeature : ";

-	protected final String TEXT_64 = ".INSTANCE.getAllElements(";

-	protected final String TEXT_65 = ".INSTANCE.getDocumentRoot(";

-	protected final String TEXT_66 = ")))";

-	protected final String TEXT_67 = NL + "\t\t\tfor (Iterator elements = ";

-	protected final String TEXT_68 = ".INSTANCE.getAllElements(";

-	protected final String TEXT_69 = ".INSTANCE.getDocumentRoot(";

-	protected final String TEXT_70 = ")).iterator(); elements.hasNext(); )";

-	protected final String TEXT_71 = NL + "\t\t\t{";

-	protected final String TEXT_72 = NL + "\t\t\t\t";

-	protected final String TEXT_73 = " eStructuralFeature = (";

-	protected final String TEXT_74 = ")elements.next();";

-	protected final String TEXT_75 = NL + "\t\t\t\tif (eStructuralFeature.isChangeable())" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tEClassifier eClassifier = eStructuralFeature.getEType();" + NL

-			+ "\t\t\t\t\tif (eClassifier instanceof EClass)" + NL + "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\tEClass eClass = (EClass)eClassifier;" + NL + "\t\t\t\t\t\tif (!eClass.isAbstract())" + NL

-			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tinitialObjectNames.add(eStructuralFeature.getName());" + NL

-			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}";

-	protected final String TEXT_76 = NL + "\t\t\tCollections.sort(initialObjectNames, ";

-	protected final String TEXT_77 = "CommonPlugin.INSTANCE.getComparator()";

-	protected final String TEXT_78 = "java.text.Collator.getInstance()";

-	protected final String TEXT_79 = ");" + NL + "\t\t}" + NL + "\t\treturn initialObjectNames;" + NL + "\t}" + NL + ""

-			+ NL + "\t/**" + NL + "\t * Create a new model." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected EObject createInitialModel()" + NL + "\t{";

-	protected final String TEXT_80 = NL + "\t\tEClass eClass = (EClass)";

-	protected final String TEXT_81 = ".getEClassifier(initialObjectCreationPage.getInitialObjectName());" + NL

-			+ "\t\tEObject rootObject = ";

-	protected final String TEXT_82 = ".create(eClass);";

-	protected final String TEXT_83 = NL + "\t\tEClass eClass = ";

-	protected final String TEXT_84 = ".INSTANCE.getDocumentRoot(";

-	protected final String TEXT_85 = ");"

-			+ NL

-			+ "\t\tEStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(initialObjectCreationPage.getInitialObjectName());"

-			+ NL + "\t\tEObject rootObject = ";

-	protected final String TEXT_86 = ".create(eClass);" + NL + "\t\trootObject.eSet(eStructuralFeature, ";

-	protected final String TEXT_87 = ".create((EClass)eStructuralFeature.getEType()));";

-	protected final String TEXT_88 = NL + "\t\treturn rootObject;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Do the work after everything is specified." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_89 = NL + "\t@Override";

-	protected final String TEXT_90 = NL + "\tpublic boolean performFinish()" + NL + "\t{" + NL + "\t\ttry" + NL

-			+ "\t\t{";

-	protected final String TEXT_91 = NL + "\t\t\t// Get the URI of the model file." + NL + "\t\t\t//" + NL

-			+ "\t\t\tfinal URI fileURI = getModelURI();" + NL + "\t\t\tif (new ";

-	protected final String TEXT_92 = "(fileURI.toFileString()).exists())" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tif (!MessageDialog.openQuestion" + NL + "\t\t\t\t\t\t(getShell()," + NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_93 = ".INSTANCE.getString(\"_UI_Question_title\"),";

-	protected final String TEXT_94 = NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_95 = ".INSTANCE.getString(\"_WARN_FileConflict\", new String []{ fileURI.toFileString() })))";

-	protected final String TEXT_96 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tinitialObjectCreationPage.selectFileField();"

-			+ NL + "\t\t\t\t\treturn false;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\t" + NL

-			+ "\t\t\t// Do the work within an operation." + NL + "\t\t\t//" + NL + "\t\t\t";

-	protected final String TEXT_97 = " operation = new ";

-	protected final String TEXT_98 = "()" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tpublic void run(IProgressMonitor progressMonitor)";

-	protected final String TEXT_99 = NL + "\t\t\t// Remember the file." + NL + "\t\t\t//" + NL

-			+ "\t\t\tfinal IFile modelFile = getModelFile();" + NL + "" + NL

-			+ "\t\t\t// Do the work within an operation." + NL + "\t\t\t//" + NL

-			+ "\t\t\tWorkspaceModifyOperation operation =" + NL + "\t\t\t\tnew WorkspaceModifyOperation()" + NL

-			+ "\t\t\t\t{";

-	protected final String TEXT_100 = NL + "\t\t\t\t\t@Override";

-	protected final String TEXT_101 = NL + "\t\t\t\t\tprotected void execute(IProgressMonitor progressMonitor)";

-	protected final String TEXT_102 = NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\ttry" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\t// Create a resource set" + NL + "\t\t\t\t\t\t\t//" + NL

-			+ "\t\t\t\t\t\t\tResourceSet resourceSet = new ResourceSetImpl();" + NL;

-	protected final String TEXT_103 = NL + "\t\t\t\t\t\t\t// Get the URI of the model file." + NL + "\t\t\t\t\t\t\t//"

-			+ NL

-			+ "\t\t\t\t\t\t\tURI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);"

-			+ NL;

-	protected final String TEXT_104 = NL + "\t\t\t\t\t\t\t// Create a resource for this file." + NL

-			+ "\t\t\t\t\t\t\t//" + NL + "\t\t\t\t\t\t\tResource resource = resourceSet.createResource(fileURI";

-	protected final String TEXT_105 = ", ";

-	protected final String TEXT_106 = ".eCONTENT_TYPE";

-	protected final String TEXT_107 = ");" + NL + "" + NL

-			+ "\t\t\t\t\t\t\t// Add the initial model object to the contents." + NL + "\t\t\t\t\t\t\t//" + NL

-			+ "\t\t\t\t\t\t\tEObject rootObject = createInitialModel();" + NL + "\t\t\t\t\t\t\tif (rootObject != null)"

-			+ NL + "\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\tresource.getContents().add(rootObject);" + NL

-			+ "\t\t\t\t\t\t\t}" + NL + "" + NL

-			+ "\t\t\t\t\t\t\t// Save the contents of the resource to the file system." + NL + "\t\t\t\t\t\t\t//" + NL

-			+ "\t\t\t\t\t\t\t";

-	protected final String TEXT_108 = " options = new ";

-	protected final String TEXT_109 = "();" + NL

-			+ "\t\t\t\t\t\t\toptions.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());" + NL

-			+ "\t\t\t\t\t\t\tresource.save(options);" + NL + "\t\t\t\t\t\t}" + NL

-			+ "\t\t\t\t\t\tcatch (Exception exception)" + NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t";

-	protected final String TEXT_110 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\tfinally"

-			+ NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tprogressMonitor.done();" + NL + "\t\t\t\t\t\t}" + NL

-			+ "\t\t\t\t\t}" + NL + "\t\t\t\t};" + NL + "" + NL + "\t\t\tgetContainer().run(false, false, operation);"

-			+ NL;

-	protected final String TEXT_111 = NL + "\t\t\treturn ";

-	protected final String TEXT_112 = ".openEditor(workbench, fileURI);\t\t\t";

-	protected final String TEXT_113 = NL + "\t\t\t// Select the new file resource in the current view." + NL

-			+ "\t\t\t//" + NL + "\t\t\t";

-	protected final String TEXT_114 = " workbenchWindow = workbench.getActiveWorkbenchWindow();" + NL + "\t\t\t";

-	protected final String TEXT_115 = " page = workbenchWindow.getActivePage();" + NL + "\t\t\tfinal ";

-	protected final String TEXT_116 = " activePart = page.getActivePart();" + NL

-			+ "\t\t\tif (activePart instanceof ISetSelectionTarget)" + NL + "\t\t\t{" + NL + "\t\t\t\tfinal ";

-	protected final String TEXT_117 = " targetSelection = new ";

-	protected final String TEXT_118 = "(modelFile);" + NL + "\t\t\t\tgetShell().getDisplay().asyncExec" + NL

-			+ "\t\t\t\t\t(new Runnable()" + NL + "\t\t\t\t\t {" + NL + "\t\t\t\t\t\t public void run()" + NL

-			+ "\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t ((ISetSelectionTarget)activePart).selectReveal(targetSelection);"

-			+ NL + "\t\t\t\t\t\t }" + NL + "\t\t\t\t\t });" + NL + "\t\t\t}" + NL + "" + NL

-			+ "\t\t\t// Open an editor on the new file." + NL + "\t\t\t//" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tpage.openEditor" + NL + "\t\t\t\t\t(new FileEditorInput(modelFile)," + NL

-			+ "\t\t\t\t\t workbench.getEditorRegistry().getDefaultEditor";

-	protected final String TEXT_119 = "(modelFile.getFullPath().toString()).getId());";

-	protected final String TEXT_120 = NL + "\t\t\t\t\t \t(modelFile.getFullPath().toString()," + NL + "\t\t\t\t\t \t ";

-	protected final String TEXT_121 = ".getContentTypeManager().getContentType(";

-	protected final String TEXT_122 = ".eCONTENT_TYPE)).getId());";

-	protected final String TEXT_123 = "\t\t\t\t\t \t " + NL + "\t\t\t}" + NL + "\t\t\tcatch (";

-	protected final String TEXT_124 = " exception)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tMessageDialog.openError(workbenchWindow.getShell(), ";

-	protected final String TEXT_125 = ".INSTANCE.getString(\"_UI_OpenEditorError_label\"), exception.getMessage());";

-	protected final String TEXT_126 = NL + "\t\t\t\treturn false;" + NL + "\t\t\t}" + NL + "" + NL

-			+ "\t\t\treturn true;";

-	protected final String TEXT_127 = NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL + "\t\t{" + NL

-			+ "\t\t\t";

-	protected final String TEXT_128 = ".INSTANCE.log(exception);" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL

-			+ "\t}" + NL;

-	protected final String TEXT_129 = NL + "\t/**" + NL + "\t * This is the one page of the wizard." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic class ";

-	protected final String TEXT_130 = "NewFileCreationPage extends WizardNewFileCreationPage" + NL + "\t{" + NL

-			+ "\t\t/**" + NL + "\t\t * Pass in the selection." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";

-	protected final String TEXT_131 = "NewFileCreationPage(String pageId, IStructuredSelection selection)" + NL

-			+ "\t\t{" + NL + "\t\t\tsuper(pageId, selection);" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL

-			+ "\t\t * The framework calls this to see if the file is correct." + NL + "\t\t * <!-- begin-user-doc -->"

-			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";

-	protected final String TEXT_132 = NL + "\t\t@Override";

-	protected final String TEXT_133 = NL + "\t\tprotected boolean validatePage()" + NL + "\t\t{" + NL

-			+ "\t\t\tif (super.validatePage())" + NL + "\t\t\t{" + NL + "\t\t\t\tString extension = new ";

-	protected final String TEXT_134 = "(getFileName()).getFileExtension();"

-			+ NL

-			+ "\t\t\t\tif (extension == null || !FILE_EXTENSIONS.contains(extension))"

-			+ NL

-			+ "\t\t\t\t{"

-			+ NL

-			+ "\t\t\t\t\tString key = FILE_EXTENSIONS.size() > 1 ? \"_WARN_FilenameExtensions\" : \"_WARN_FilenameExtension\";";

-	protected final String TEXT_135 = NL + "\t\t\t\t\tsetErrorMessage(";

-	protected final String TEXT_136 = ".INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));"

-			+ NL

-			+ "\t\t\t\t\treturn false;"

-			+ NL

-			+ "\t\t\t\t}"

-			+ NL

-			+ "\t\t\t\treturn true;"

-			+ NL

-			+ "\t\t\t}"

-			+ NL

-			+ "\t\t\treturn false;"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t\t/**"

-			+ NL

-			+ "\t\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t\t * @generated"

-			+ NL

-			+ "\t\t */"

-			+ NL

-			+ "\t\tpublic IFile getModelFile()"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\treturn ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));"

-			+ NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_137 = NL + "\t/**" + NL

-			+ "\t * This is the page where the type of object to create is selected." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic class ";

-	protected final String TEXT_138 = "InitialObjectCreationPage extends WizardPage" + NL + "\t{";

-	protected final String TEXT_139 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";

-	protected final String TEXT_140 = " fileField;" + NL;

-	protected final String TEXT_141 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL

-			+ "\t\tprotected Combo initialObjectField;" + NL + "" + NL + "\t\t/**" + NL + "\t\t * @generated" + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t */" + NL

-			+ "\t\tprotected ";

-	protected final String TEXT_142 = " encodings;" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"

-			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL

-			+ "\t\tprotected Combo encodingField;" + NL + "" + NL + "\t\t/**" + NL + "\t\t * Pass in the selection."

-			+ NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"

-			+ NL + "\t\t */" + NL + "\t\tpublic ";

-	protected final String TEXT_143 = "InitialObjectCreationPage(String pageId)" + NL + "\t\t{" + NL

-			+ "\t\t\tsuper(pageId);" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"

-			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL

-			+ "\t\tpublic void createControl(Composite parent)" + NL + "\t\t{" + NL

-			+ "\t\t\tComposite composite = new Composite(parent, SWT.NONE);" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tGridLayout layout = new GridLayout();" + NL + "\t\t\t\tlayout.numColumns = 1;" + NL

-			+ "\t\t\t\tlayout.verticalSpacing = 12;" + NL + "\t\t\t\tcomposite.setLayout(layout);" + NL + "" + NL

-			+ "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.verticalAlignment = GridData.FILL;" + NL

-			+ "\t\t\t\tdata.grabExcessVerticalSpace = true;" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;"

-			+ NL + "\t\t\t\tcomposite.setLayoutData(data);" + NL + "\t\t\t}" + NL;

-	protected final String TEXT_144 = "\t\t\t" + NL + "\t\t\tLabel resourceURILabel = new Label(composite, SWT.LEFT);"

-			+ NL + "\t\t\t{" + NL + "\t\t\t\tresourceURILabel.setText(";

-	protected final String TEXT_145 = ".INSTANCE.getString(\"_UI_File_label\"));";

-	protected final String TEXT_146 = NL + NL + "\t\t\t\tGridData data = new GridData();" + NL

-			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL

-			+ "\t\t\t\tresourceURILabel.setLayoutData(data);" + NL + "\t\t\t}" + NL + "" + NL

-			+ "\t\t\tComposite fileComposite = new Composite(composite, SWT.NONE);" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.END;" + NL

-			+ "\t\t\t\tfileComposite.setLayoutData(data);" + NL + "" + NL

-			+ "\t\t\t\tGridLayout layout = new GridLayout();" + NL

-			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tlayout.marginHeight = 0;" + NL

-			+ "\t\t\t\tlayout.marginWidth = 0;" + NL + "\t\t\t\tlayout.numColumns = 2;" + NL

-			+ "\t\t\t\tfileComposite.setLayout(layout);" + NL + "\t\t\t}" + NL + "" + NL + "\t\t\tfileField = new ";

-	protected final String TEXT_147 = "(fileComposite, SWT.BORDER);" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL

-			+ "\t\t\t\tdata.grabExcessHorizontalSpace = true;" + NL + "\t\t\t\tdata.horizontalSpan = 1;" + NL

-			+ "\t\t\t\tfileField.setLayoutData(data);" + NL + "\t\t\t}" + NL + "" + NL

-			+ "\t\t\tfileField.addModifyListener(validator);" + NL;

-	protected final String TEXT_148 = NL + "\t\t\t";

-	protected final String TEXT_149 = " resourceURIBrowseFileSystemButton = new ";

-	protected final String TEXT_150 = "(fileComposite, SWT.PUSH);" + NL

-			+ "\t\t\tresourceURIBrowseFileSystemButton.setText(";

-	protected final String TEXT_151 = ".INSTANCE.getString(\"_UI_Browse_label\"));";

-	protected final String TEXT_152 = NL + NL + "\t\t\tresourceURIBrowseFileSystemButton.addSelectionListener" + NL

-			+ "\t\t\t\t(new ";

-	protected final String TEXT_153 = "()" + NL + "\t\t\t\t {";

-	protected final String TEXT_154 = NL + "\t\t\t\t\t @Override";

-	protected final String TEXT_155 = NL + "\t\t\t\t\t public void widgetSelected(";

-	protected final String TEXT_156 = " event)" + NL + "\t\t\t\t\t {" + NL + "\t\t\t\t\t\t String[] filters = ";

-	protected final String TEXT_157 = "(String[])";

-	protected final String TEXT_158 = ".FILE_EXTENSION_FILTERS.toArray(new String[";

-	protected final String TEXT_159 = ".FILE_EXTENSION_FILTERS.size()]);" + NL + "\t\t\t\t\t\t String[] files = ";

-	protected final String TEXT_160 = ".openFilePathDialog(getShell(), ";

-	protected final String TEXT_161 = ".SAVE, filters);" + NL + "\t\t\t\t\t\t if (files.length > 0)" + NL

-			+ "\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t fileField.setText(files[0]);" + NL + "\t\t\t\t\t\t }" + NL

-			+ "\t\t\t\t\t }" + NL + "\t\t\t\t });";

-	protected final String TEXT_162 = NL + "\t\t\tLabel containerLabel = new Label(composite, SWT.LEFT);" + NL

-			+ "\t\t\t{" + NL + "\t\t\t\tcontainerLabel.setText(";

-	protected final String TEXT_163 = ".INSTANCE.getString(\"_UI_ModelObject\"));";

-	protected final String TEXT_164 = NL + NL + "\t\t\t\tGridData data = new GridData();" + NL

-			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tcontainerLabel.setLayoutData(data);"

-			+ NL + "\t\t\t}" + NL + "" + NL + "\t\t\tinitialObjectField = new Combo(composite, SWT.BORDER);" + NL

-			+ "\t\t\t{" + NL + "\t\t\t\tGridData data = new GridData();" + NL

-			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL

-			+ "\t\t\t\tdata.grabExcessHorizontalSpace = true;" + NL + "\t\t\t\tinitialObjectField.setLayoutData(data);"

-			+ NL + "\t\t\t}" + NL;

-	protected final String TEXT_165 = NL + "\t\t\tfor (String objectName : getInitialObjectNames())" + NL + "\t\t\t{"

-			+ NL + "\t\t\t\tinitialObjectField.add(getLabel(objectName));" + NL + "\t\t\t}";

-	protected final String TEXT_166 = NL + "\t\t\tfor (Iterator i = getInitialObjectNames().iterator(); i.hasNext(); )"

-			+ NL + "\t\t\t{" + NL + "\t\t\t\tinitialObjectField.add(getLabel((String)i.next()));" + NL + "\t\t\t}";

-	protected final String TEXT_167 = NL + NL + "\t\t\tif (initialObjectField.getItemCount() == 1)" + NL + "\t\t\t{"

-			+ NL + "\t\t\t\tinitialObjectField.select(0);" + NL + "\t\t\t}" + NL

-			+ "\t\t\tinitialObjectField.addModifyListener(validator);" + NL + "" + NL

-			+ "\t\t\tLabel encodingLabel = new Label(composite, SWT.LEFT);" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tencodingLabel.setText(";

-	protected final String TEXT_168 = ".INSTANCE.getString(\"_UI_XMLEncoding\"));";

-	protected final String TEXT_169 = NL + NL + "\t\t\t\tGridData data = new GridData();" + NL

-			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tencodingLabel.setLayoutData(data);"

-			+ NL + "\t\t\t}" + NL + "\t\t\tencodingField = new Combo(composite, SWT.BORDER);" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL

-			+ "\t\t\t\tdata.grabExcessHorizontalSpace = true;" + NL + "\t\t\t\tencodingField.setLayoutData(data);" + NL

-			+ "\t\t\t}" + NL;

-	protected final String TEXT_170 = NL + "\t\t\tfor (String encoding : getEncodings())" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tencodingField.add(encoding);" + NL + "\t\t\t}";

-	protected final String TEXT_171 = NL + "\t\t\tfor (Iterator i = getEncodings().iterator(); i.hasNext(); )" + NL

-			+ "\t\t\t{" + NL + "\t\t\t\tencodingField.add((String)i.next());" + NL + "\t\t\t}";

-	protected final String TEXT_172 = NL + NL + "\t\t\tencodingField.select(0);" + NL

-			+ "\t\t\tencodingField.addModifyListener(validator);" + NL + "" + NL

-			+ "\t\t\tsetPageComplete(validatePage());" + NL + "\t\t\tsetControl(composite);" + NL + "\t\t}" + NL + ""

-			+ NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL

-			+ "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ModifyListener validator =" + NL

-			+ "\t\t\tnew ModifyListener()" + NL + "\t\t\t{" + NL + "\t\t\t\tpublic void modifyText(ModifyEvent e)" + NL

-			+ "\t\t\t\t{" + NL + "\t\t\t\t\tsetPageComplete(validatePage());" + NL + "\t\t\t\t}" + NL + "\t\t\t};" + NL

-			+ "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL

-			+ "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected boolean validatePage()" + NL + "\t\t{";

-	protected final String TEXT_173 = NL

-			+ "\t\t\tURI fileURI = getFileURI();"

-			+ NL

-			+ "\t\t\tif (fileURI == null || fileURI.isEmpty())"

-			+ NL

-			+ "\t\t\t{"

-			+ NL

-			+ "\t\t\t\tsetErrorMessage(null);"

-			+ NL

-			+ "\t\t\t\treturn false;"

-			+ NL

-			+ "\t\t\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t\t\tString extension = fileURI.fileExtension();"

-			+ NL

-			+ "\t\t\tif (extension == null || !FILE_EXTENSIONS.contains(extension))"

-			+ NL

-			+ "\t\t\t{"

-			+ NL

-			+ "\t\t\t\tString key = FILE_EXTENSIONS.size() > 1 ? \"_WARN_FilenameExtensions\" : \"_WARN_FilenameExtension\";";

-	protected final String TEXT_174 = NL + "\t\t\t\tsetErrorMessage(";

-	protected final String TEXT_175 = ".INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));" + NL

-			+ "\t\t\t\treturn false;" + NL + "\t\t\t}" + NL + "" + NL + "\t\t\tsetErrorMessage(null);";

-	protected final String TEXT_176 = NL

-			+ "\t\t\treturn getInitialObjectName() != null && getEncodings().contains(encodingField.getText());" + NL

-			+ "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";

-	protected final String TEXT_177 = NL + "\t\t@Override";

-	protected final String TEXT_178 = NL + "\t\tpublic void setVisible(boolean visible)" + NL + "\t\t{" + NL

-			+ "\t\t\tsuper.setVisible(visible);" + NL + "\t\t\tif (visible)" + NL + "\t\t\t{";

-	protected final String TEXT_179 = NL + "\t\t\t\tif (initialObjectField.getItemCount() == 1)" + NL + "\t\t\t\t{"

-			+ NL + "\t\t\t\t\tinitialObjectField.clearSelection();" + NL + "\t\t\t\t\tencodingField.setFocus();" + NL

-			+ "\t\t\t\t}" + NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tencodingField.clearSelection();"

-			+ NL + "\t\t\t\t\tinitialObjectField.setFocus();" + NL + "\t\t\t\t}";

-	protected final String TEXT_180 = NL + "\t\t\t\tinitialObjectField.clearSelection();" + NL

-			+ "\t\t\t\tencodingField.clearSelection();" + NL + "\t\t\t\tfileField.setFocus();";

-	protected final String TEXT_181 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tpublic String getInitialObjectName()" + NL + "\t\t{" + NL

-			+ "\t\t\tString label = initialObjectField.getText();" + NL;

-	protected final String TEXT_182 = NL + "\t\t\tfor (String name : getInitialObjectNames())";

-	protected final String TEXT_183 = NL + "\t\t\tfor (Iterator i = getInitialObjectNames().iterator(); i.hasNext(); )";

-	protected final String TEXT_184 = NL + "\t\t\t{";

-	protected final String TEXT_185 = NL + "\t\t\t\tString name = (String)i.next();";

-	protected final String TEXT_186 = NL + "\t\t\t\tif (getLabel(name).equals(label))" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\treturn name;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\treturn null;" + NL + "\t\t}"

-			+ NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->"

-			+ NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic String getEncoding()" + NL + "\t\t{" + NL

-			+ "\t\t\treturn encodingField.getText();" + NL + "\t\t}";

-	protected final String TEXT_187 = NL + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL

-			+ "\t\tpublic URI getFileURI()" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\treturn URI.createFileURI(fileField.getText());" + NL + "\t\t\t}" + NL

-			+ "\t\t\tcatch (Exception exception)" + NL + "\t\t\t{" + NL + "\t\t\t\t// Ignore" + NL + "\t\t\t}" + NL

-			+ "\t\t\treturn null;" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"

-			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL

-			+ "\t\tpublic void selectFileField()" + NL + "\t\t{" + NL + "\t\t\t\tinitialObjectField.clearSelection();"

-			+ NL + "\t\t\t\tencodingField.clearSelection();" + NL + "\t\t\t\tfileField.selectAll();" + NL

-			+ "\t\t\t\tfileField.setFocus();" + NL + "\t\t}\t\t";

-	protected final String TEXT_188 = NL + NL + "\t\t/**" + NL + "\t\t * Returns the label for the specified ";

-	protected final String TEXT_189 = " name." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL

-			+ "\t\tprotected String getLabel(String ";

-	protected final String TEXT_190 = "Name)" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\treturn ";

-	protected final String TEXT_191 = ".INSTANCE.getString(\"";

-	protected final String TEXT_192 = "\" + ";

-	protected final String TEXT_193 = "Name + \"_";

-	protected final String TEXT_194 = "\");";

-	protected final String TEXT_195 = NL + "\t\t\t}" + NL + "\t\t\tcatch(MissingResourceException mre)" + NL

-			+ "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_196 = ".INSTANCE.log(mre);" + NL + "\t\t\t}" + NL + "\t\t\treturn ";

-	protected final String TEXT_197 = "Name;" + NL + "\t\t}";

-	protected final String TEXT_198 = NL + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";

-	protected final String TEXT_199 = " getEncodings()" + NL + "\t\t{" + NL + "\t\t\tif (encodings == null)" + NL

-			+ "\t\t\t{" + NL + "\t\t\t\tencodings = new ";

-	protected final String TEXT_200 = "();" + NL

-			+ "\t\t\t\tfor (StringTokenizer stringTokenizer = new StringTokenizer(";

-	protected final String TEXT_201 = ".INSTANCE.getString(\"_UI_XMLEncodingChoices\")); stringTokenizer.hasMoreTokens(); )";

-	protected final String TEXT_202 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tencodings.add(stringTokenizer.nextToken());"

-			+ NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\treturn encodings;" + NL + "\t\t}" + NL + "\t}" + NL + ""

-			+ NL + "\t/**" + NL + "\t * The framework calls this to create the contents of the wizard." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_203 = NL + "\t\t@Override";

-	protected final String TEXT_204 = NL + "\tpublic void addPages()" + NL + "\t{";

-	protected final String TEXT_205 = NL + "\t\t// Create a page, set the title, and the initial model file name." + NL

-			+ "\t\t//" + NL + "\t\tnewFileCreationPage = new ";

-	protected final String TEXT_206 = "NewFileCreationPage(\"Whatever\", selection);";

-	protected final String TEXT_207 = NL + "\t\tnewFileCreationPage.setTitle(";

-	protected final String TEXT_208 = ".INSTANCE.getString(\"_UI_";

-	protected final String TEXT_209 = "_label\"));";

-	protected final String TEXT_210 = NL + "\t\tnewFileCreationPage.setDescription(";

-	protected final String TEXT_211 = ".INSTANCE.getString(\"_UI_";

-	protected final String TEXT_212 = "_description\"));";

-	protected final String TEXT_213 = NL + "\t\tnewFileCreationPage.setFileName(";

-	protected final String TEXT_214 = ".INSTANCE.getString(\"_UI_";

-	protected final String TEXT_215 = "FilenameDefaultBase\") + \".\" + ";

-	protected final String TEXT_216 = "(String)";

-	protected final String TEXT_217 = "FILE_EXTENSIONS.get(0));";

-	protected final String TEXT_218 = NL + "\t\taddPage(newFileCreationPage);" + NL + "" + NL

-			+ "\t\t// Try and get the resource selection to determine a current directory for the file dialog." + NL

-			+ "\t\t//" + NL + "\t\tif (selection != null && !selection.isEmpty())" + NL + "\t\t{" + NL

-			+ "\t\t\t// Get the resource..." + NL + "\t\t\t//" + NL

-			+ "\t\t\tObject selectedElement = selection.iterator().next();" + NL

-			+ "\t\t\tif (selectedElement instanceof IResource)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t// Get the resource parent, if its a file." + NL + "\t\t\t\t//" + NL

-			+ "\t\t\t\tIResource selectedResource = (IResource)selectedElement;" + NL

-			+ "\t\t\t\tif (selectedResource.getType() == IResource.FILE)" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tselectedResource = selectedResource.getParent();" + NL + "\t\t\t\t}" + NL + "" + NL

-			+ "\t\t\t\t// This gives us a directory..." + NL + "\t\t\t\t//" + NL

-			+ "\t\t\t\tif (selectedResource instanceof IFolder || selectedResource instanceof IProject)" + NL

-			+ "\t\t\t\t{" + NL + "\t\t\t\t\t// Set this for the container." + NL + "\t\t\t\t\t//" + NL

-			+ "\t\t\t\t\tnewFileCreationPage.setContainerFullPath(selectedResource.getFullPath());" + NL + "" + NL

-			+ "\t\t\t\t\t// Make up a unique new name here." + NL + "\t\t\t\t\t//" + NL

-			+ "\t\t\t\t\tString defaultModelBaseFilename = ";

-	protected final String TEXT_219 = ".INSTANCE.getString(\"_UI_";

-	protected final String TEXT_220 = "FilenameDefaultBase\");";

-	protected final String TEXT_221 = NL + "\t\t\t\t\tString defaultModelFilenameExtension = ";

-	protected final String TEXT_222 = "(String)";

-	protected final String TEXT_223 = "FILE_EXTENSIONS.get(0);" + NL

-			+ "\t\t\t\t\tString modelFilename = defaultModelBaseFilename + \".\" + defaultModelFilenameExtension;";

-	protected final String TEXT_224 = NL

-			+ "\t\t\t\t\tfor (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i)" + NL

-			+ "\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\tmodelFilename = defaultModelBaseFilename + i + \".\" + defaultModelFilenameExtension;";

-	protected final String TEXT_225 = NL + "\t\t\t\t\t}" + NL

-			+ "\t\t\t\t\tnewFileCreationPage.setFileName(modelFilename);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL

-			+ "\t\t}";

-	protected final String TEXT_226 = NL + "\t\tinitialObjectCreationPage = new ";

-	protected final String TEXT_227 = "InitialObjectCreationPage(\"Whatever2\");";

-	protected final String TEXT_228 = NL + "\t\tinitialObjectCreationPage.setTitle(";

-	protected final String TEXT_229 = ".INSTANCE.getString(\"_UI_";

-	protected final String TEXT_230 = "_label\"));";

-	protected final String TEXT_231 = NL + "\t\tinitialObjectCreationPage.setDescription(";

-	protected final String TEXT_232 = ".INSTANCE.getString(\"_UI_Wizard_initial_object_description\"));";

-	protected final String TEXT_233 = NL + "\t\taddPage(initialObjectCreationPage);" + NL + "\t}" + NL;

-	protected final String TEXT_234 = NL + "\t/**" + NL + "\t * Get the URI from the page." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic URI getModelURI()" + NL + "\t{" + NL

-			+ "\t\treturn initialObjectCreationPage.getFileURI();" + NL + "\t}" + NL;

-	protected final String TEXT_235 = NL + "\t/**" + NL + "\t * Get the file from the page." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic IFile getModelFile()" + NL + "\t{" + NL

-			+ "\t\treturn newFileCreationPage.getModelFile();" + NL + "\t}" + NL;

-	protected final String TEXT_236 = NL + "}";

-	protected final String TEXT_237 = NL;

-	protected final String TEXT_238 = NL;

-	protected final String TEXT_239 = NL;

-

-	public ModelWizard() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_238);

-		stringBuffer.append(TEXT_239);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getEditorDirectory();

-		packageName = genPackage.getPresentationPackageName();

-		className = genPackage.getModelWizardClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2010 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) argument;

-		GenModel genModel = genPackage.getGenModel();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		String _ListOfString = "List"

-				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");

-		String _ArrayListOfString = "ArrayList"

-				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");

-		String _CollectionOfString = "Collection"

-				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");

-		String _MapOfObjectToObject = "Map"

-				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.Object") + ", "

-						+ genModel.getImportedName("java.lang.Object") + ">" : "");

-		String _HashMapOfObjectToObject = "HashMap"

-				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.Object") + ", "

-						+ genModel.getImportedName("java.lang.Object") + ">" : "");

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getPresentationPackageName());

-		stringBuffer.append(TEXT_3);

-		if (!genModel.useGenerics()) {

-			stringBuffer.append(TEXT_4);

-		}

-		stringBuffer.append(TEXT_5);

-		if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {

-			stringBuffer.append(TEXT_6);

-		}

-		stringBuffer.append(TEXT_7);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_8);

-		}

-		stringBuffer.append(TEXT_9);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_10);

-		}

-		if (!genModel.isSuppressEMFMetaData()) {

-			stringBuffer.append(TEXT_11);

-			stringBuffer.append(genPackage.getQualifiedFactoryInterfaceName());

-			stringBuffer.append(TEXT_12);

-		}

-		stringBuffer.append(TEXT_13);

-		stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-		stringBuffer.append(TEXT_14);

-		stringBuffer.append(genPackage.getQualifiedEditPluginClassName());

-		stringBuffer.append(TEXT_15);

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_16);

-		stringBuffer.append(genPackage.getModelWizardClassName());

-		stringBuffer.append(TEXT_17);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_21);

-		}

-		stringBuffer.append(TEXT_22);

-		stringBuffer.append(_ListOfString);

-		stringBuffer.append(TEXT_23);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_24);

-		stringBuffer.append(genPackage.getEditorClassName());

-		stringBuffer.append(TEXT_25);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(genModel.getNonNLS(2));

-		stringBuffer.append(TEXT_26);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_27);

-		stringBuffer.append(genPackage.getEditorClassName());

-		stringBuffer.append(TEXT_28);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(genModel.getNonNLS(2));

-		stringBuffer.append(genModel.getNonNLS(3));

-		stringBuffer.append(TEXT_29);

-		stringBuffer.append(genModel.isSuppressEMFMetaData() ? genModel

-				.getImportedName("org.eclipse.emf.ecore.EPackage") : genPackage.getPackageInterfaceName());

-		stringBuffer.append(TEXT_30);

-		stringBuffer.append(genPackage.getUncapPackageName());

-		stringBuffer.append(TEXT_31);

-		stringBuffer.append(genPackage.getPackageInterfaceName());

-		stringBuffer.append(TEXT_32);

-		stringBuffer.append(genModel.isSuppressEMFMetaData() ? genModel

-				.getImportedName("org.eclipse.emf.ecore.EFactory") : genPackage.getFactoryInterfaceName());

-		stringBuffer.append(TEXT_33);

-		stringBuffer.append(genPackage.getUncapFactoryName());

-		stringBuffer.append(TEXT_34);

-		stringBuffer.append(genPackage.getUncapPackageName());

-		stringBuffer.append(TEXT_35);

-		stringBuffer.append(genModel.isSuppressEMFMetaData() ? "EFactoryInstance" : genPackage.getFactoryName());

-		stringBuffer.append(TEXT_36);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_37);

-			stringBuffer.append(genPackage.getModelWizardClassName());

-			stringBuffer.append(TEXT_38);

-		}

-		stringBuffer.append(TEXT_39);

-		stringBuffer.append(genPackage.getModelWizardClassName());

-		stringBuffer.append(TEXT_40);

-		if (!genPackage.hasDocumentRoot()) {

-			stringBuffer.append(TEXT_41);

-		} else {

-			stringBuffer.append(TEXT_42);

-		}

-		stringBuffer.append(TEXT_43);

-		stringBuffer.append(_ListOfString);

-		stringBuffer.append(TEXT_44);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_45);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_46);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_47);

-		stringBuffer.append(genPackage.getPrefix());

-		stringBuffer.append(TEXT_48);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_49);

-		if (!genPackage.hasDocumentRoot()) {

-			stringBuffer.append(TEXT_50);

-		} else {

-			stringBuffer.append(TEXT_51);

-		}

-		stringBuffer.append(TEXT_52);

-		stringBuffer.append(_CollectionOfString);

-		stringBuffer.append(TEXT_53);

-		stringBuffer.append(_ArrayListOfString);

-		stringBuffer.append(TEXT_54);

-		if (!genPackage.hasDocumentRoot()) {

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_55);

-				stringBuffer.append(genPackage.getUncapPackageName());

-				stringBuffer.append(TEXT_56);

-			} else {

-				stringBuffer.append(TEXT_57);

-				stringBuffer.append(genPackage.getUncapPackageName());

-				stringBuffer.append(TEXT_58);

-			}

-			stringBuffer.append(TEXT_59);

-			if (!genModel.useGenerics()) {

-				stringBuffer.append(TEXT_60);

-			}

-			stringBuffer.append(TEXT_61);

-		} else {

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_62);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-				stringBuffer.append(TEXT_63);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));

-				stringBuffer.append(TEXT_64);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));

-				stringBuffer.append(TEXT_65);

-				stringBuffer.append(genPackage.getUncapPackageName());

-				stringBuffer.append(TEXT_66);

-			} else {

-				stringBuffer.append(TEXT_67);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));

-				stringBuffer.append(TEXT_68);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));

-				stringBuffer.append(TEXT_69);

-				stringBuffer.append(genPackage.getUncapPackageName());

-				stringBuffer.append(TEXT_70);

-			}

-			stringBuffer.append(TEXT_71);

-			if (!genModel.useGenerics()) {

-				stringBuffer.append(TEXT_72);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-				stringBuffer.append(TEXT_73);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-				stringBuffer.append(TEXT_74);

-			}

-			stringBuffer.append(TEXT_75);

-		}

-		stringBuffer.append(TEXT_76);

-		if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {

-			stringBuffer.append(TEXT_77);

-		} else {

-			stringBuffer.append(TEXT_78);

-		}

-		stringBuffer.append(TEXT_79);

-		if (!genPackage.hasDocumentRoot()) {

-			stringBuffer.append(TEXT_80);

-			stringBuffer.append(genPackage.getUncapPackageName());

-			stringBuffer.append(TEXT_81);

-			stringBuffer.append(genPackage.getUncapFactoryName());

-			stringBuffer.append(TEXT_82);

-		} else {

-			stringBuffer.append(TEXT_83);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));

-			stringBuffer.append(TEXT_84);

-			stringBuffer.append(genPackage.getUncapPackageName());

-			stringBuffer.append(TEXT_85);

-			stringBuffer.append(genPackage.getUncapFactoryName());

-			stringBuffer.append(TEXT_86);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));

-			stringBuffer.append(TEXT_87);

-		}

-		stringBuffer.append(TEXT_88);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_89);

-		}

-		stringBuffer.append(TEXT_90);

-		if (genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_91);

-			stringBuffer.append(genModel.getImportedName("java.io.File"));

-			stringBuffer.append(TEXT_92);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_93);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_94);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_95);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_96);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress"));

-			stringBuffer.append(TEXT_97);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress"));

-			stringBuffer.append(TEXT_98);

-		} else {

-			stringBuffer.append(TEXT_99);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_100);

-			}

-			stringBuffer.append(TEXT_101);

-		}

-		stringBuffer.append(TEXT_102);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_103);

-		}

-		stringBuffer.append(TEXT_104);

-		if (genPackage.isContentType()) {

-			stringBuffer.append(TEXT_105);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_106);

-		}

-		stringBuffer.append(TEXT_107);

-		stringBuffer.append(_MapOfObjectToObject);

-		stringBuffer.append(TEXT_108);

-		stringBuffer.append(_HashMapOfObjectToObject);

-		stringBuffer.append(TEXT_109);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_110);

-		if (genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_111);

-			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));

-			stringBuffer.append(TEXT_112);

-		} else {

-			stringBuffer.append(TEXT_113);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchWindow"));

-			stringBuffer.append(TEXT_114);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchPage"));

-			stringBuffer.append(TEXT_115);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchPart"));

-			stringBuffer.append(TEXT_116);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));

-			stringBuffer.append(TEXT_117);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection"));

-			stringBuffer.append(TEXT_118);

-			if (!genPackage.isContentType()) {

-				stringBuffer.append(TEXT_119);

-			} else {

-				stringBuffer.append(TEXT_120);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.Platform"));

-				stringBuffer.append(TEXT_121);

-				stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-				stringBuffer.append(TEXT_122);

-			}

-			stringBuffer.append(TEXT_123);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.PartInitException"));

-			stringBuffer.append(TEXT_124);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_125);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_126);

-		}

-		stringBuffer.append(TEXT_127);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_128);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_129);

-			stringBuffer.append(genPackage.getModelWizardClassName());

-			stringBuffer.append(TEXT_130);

-			stringBuffer.append(genPackage.getModelWizardClassName());

-			stringBuffer.append(TEXT_131);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_132);

-			}

-			stringBuffer.append(TEXT_133);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.Path"));

-			stringBuffer.append(TEXT_134);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(genModel.getNonNLS(2));

-			stringBuffer.append(TEXT_135);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_136);

-		}

-		stringBuffer.append(TEXT_137);

-		stringBuffer.append(genPackage.getModelWizardClassName());

-		stringBuffer.append(TEXT_138);

-		if (genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_139);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Text"));

-			stringBuffer.append(TEXT_140);

-		}

-		stringBuffer.append(TEXT_141);

-		stringBuffer.append(_ListOfString);

-		stringBuffer.append(TEXT_142);

-		stringBuffer.append(genPackage.getModelWizardClassName());

-		stringBuffer.append(TEXT_143);

-		if (genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_144);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_145);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_146);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Text"));

-			stringBuffer.append(TEXT_147);

-			if (!genModel.isRichAjaxPlatform()) {

-				stringBuffer.append(TEXT_148);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Button"));

-				stringBuffer.append(TEXT_149);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Button"));

-				stringBuffer.append(TEXT_150);

-				stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-				stringBuffer.append(TEXT_151);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(TEXT_152);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.events.SelectionAdapter"));

-				stringBuffer.append(TEXT_153);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_154);

-				}

-				stringBuffer.append(TEXT_155);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.events.SelectionEvent"));

-				stringBuffer.append(TEXT_156);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_157);

-				}

-				stringBuffer.append(genPackage.getImportedEditorClassName());

-				stringBuffer.append(TEXT_158);

-				stringBuffer.append(genPackage.getImportedEditorClassName());

-				stringBuffer.append(TEXT_159);

-				stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));

-				stringBuffer.append(TEXT_160);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.SWT"));

-				stringBuffer.append(TEXT_161);

-			}

-		}

-		stringBuffer.append(TEXT_162);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_163);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_164);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_165);

-		} else {

-			stringBuffer.append(TEXT_166);

-		}

-		stringBuffer.append(TEXT_167);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_168);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_169);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_170);

-		} else {

-			stringBuffer.append(TEXT_171);

-		}

-		stringBuffer.append(TEXT_172);

-		if (genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_173);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(genModel.getNonNLS(2));

-			stringBuffer.append(TEXT_174);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_175);

-		}

-		stringBuffer.append(TEXT_176);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_177);

-		}

-		stringBuffer.append(TEXT_178);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_179);

-		} else {

-			stringBuffer.append(TEXT_180);

-		}

-		stringBuffer.append(TEXT_181);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_182);

-		} else {

-			stringBuffer.append(TEXT_183);

-		}

-		stringBuffer.append(TEXT_184);

-		if (!genModel.useGenerics()) {

-			stringBuffer.append(TEXT_185);

-		}

-		stringBuffer.append(TEXT_186);

-		if (genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_187);

-		}

-		{

-			String type = genPackage.hasDocumentRoot() ? "feature" : "type";

-			String prefix = genPackage.hasDocumentRoot() ? "_UI_DocumentRoot_" : "_UI_";

-			stringBuffer.append(TEXT_188);

-			stringBuffer.append(type);

-			stringBuffer.append(TEXT_189);

-			stringBuffer.append(type);

-			stringBuffer.append(TEXT_190);

-			stringBuffer.append(genPackage.getEditPluginClassName());

-			stringBuffer.append(TEXT_191);

-			stringBuffer.append(prefix);

-			stringBuffer.append(TEXT_192);

-			stringBuffer.append(type);

-			stringBuffer.append(TEXT_193);

-			stringBuffer.append(type);

-			stringBuffer.append(TEXT_194);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(genModel.getNonNLS(2));

-			stringBuffer.append(TEXT_195);

-			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorPluginClassName()));

-			stringBuffer.append(TEXT_196);

-			stringBuffer.append(type);

-			stringBuffer.append(TEXT_197);

-		}

-		stringBuffer.append(TEXT_198);

-		stringBuffer.append(_CollectionOfString);

-		stringBuffer.append(TEXT_199);

-		stringBuffer.append(_ArrayListOfString);

-		stringBuffer.append(TEXT_200);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_201);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_202);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_203);

-		}

-		stringBuffer.append(TEXT_204);

-		if (!genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_205);

-			stringBuffer.append(genPackage.getModelWizardClassName());

-			stringBuffer.append(TEXT_206);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_207);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_208);

-			stringBuffer.append(genPackage.getModelWizardClassName());

-			stringBuffer.append(TEXT_209);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_210);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_211);

-			stringBuffer.append(genPackage.getModelWizardClassName());

-			stringBuffer.append(TEXT_212);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_213);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_214);

-			stringBuffer.append(genPackage.getEditorClassName());

-			stringBuffer.append(TEXT_215);

-			if (!genModel.useGenerics()) {

-				stringBuffer.append(TEXT_216);

-			}

-			stringBuffer.append(TEXT_217);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(genModel.getNonNLS(2));

-			stringBuffer.append(TEXT_218);

-			stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-			stringBuffer.append(TEXT_219);

-			stringBuffer.append(genPackage.getEditorClassName());

-			stringBuffer.append(TEXT_220);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_221);

-			if (!genModel.useGenerics()) {

-				stringBuffer.append(TEXT_222);

-			}

-			stringBuffer.append(TEXT_223);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_224);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_225);

-		}

-		stringBuffer.append(TEXT_226);

-		stringBuffer.append(genPackage.getModelWizardClassName());

-		stringBuffer.append(TEXT_227);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_228);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_229);

-		stringBuffer.append(genPackage.getModelWizardClassName());

-		stringBuffer.append(TEXT_230);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_231);

-		stringBuffer.append(genPackage.getImportedEditorPluginClassName());

-		stringBuffer.append(TEXT_232);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_233);

-		if (genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_234);

-		} else {

-			stringBuffer.append(TEXT_235);

-		}

-		stringBuffer.append(TEXT_236);

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_237);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate

-				&& (genPackage.hasConcreteClasses() && genPackage.isGenerateModelWizard() && genPackage.getGenModel()

-						.getRuntimePlatform() != GenRuntimePlatform.GWT);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModelWizard extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized ModelWizard create(String lineSeparator) {
+		nl = lineSeparator;
+		ModelWizard result = new ModelWizard();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL + "" + NL + "" + NL + "import java.util.ArrayList;" + NL
+			+ "import java.util.Arrays;" + NL + "import java.util.Collection;" + NL + "import java.util.Collections;"
+			+ NL + "import java.util.HashMap;";
+	protected final String TEXT_4 = NL + "import java.util.Iterator;";
+	protected final String TEXT_5 = NL + "import java.util.List;" + NL + "import java.util.Map;" + NL
+			+ "import java.util.MissingResourceException;" + NL + "import java.util.StringTokenizer;" + NL;
+	protected final String TEXT_6 = NL + "import org.eclipse.emf.common.CommonPlugin;" + NL;
+	protected final String TEXT_7 = NL + "import org.eclipse.emf.common.util.URI;" + NL + "" + NL
+			+ "import org.eclipse.emf.ecore.EClass;" + NL + "import org.eclipse.emf.ecore.EClassifier;" + NL + "" + NL
+			+ "import org.eclipse.emf.ecore.resource.Resource;" + NL
+			+ "import org.eclipse.emf.ecore.resource.ResourceSet;" + NL + "" + NL
+			+ "import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;" + NL + "" + NL
+			+ "import org.eclipse.emf.ecore.EObject;" + NL + "" + NL + "import org.eclipse.emf.ecore.xmi.XMLResource;"
+			+ NL + "" + NL + "import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;" + NL;
+	protected final String TEXT_8 = NL + "import org.eclipse.core.resources.IContainer;" + NL
+			+ "import org.eclipse.core.resources.IFile;" + NL + "import org.eclipse.core.resources.IFolder;" + NL
+			+ "import org.eclipse.core.resources.IProject;" + NL + "import org.eclipse.core.resources.IResource;" + NL
+			+ "import org.eclipse.core.resources.ResourcesPlugin;" + NL;
+	protected final String TEXT_9 = NL + "import org.eclipse.core.runtime.IProgressMonitor;" + NL + "" + NL
+			+ "import org.eclipse.jface.dialogs.MessageDialog;" + NL + "" + NL
+			+ "import org.eclipse.jface.viewers.IStructuredSelection;" + NL + "" + NL
+			+ "import org.eclipse.jface.wizard.Wizard;" + NL + "import org.eclipse.jface.wizard.WizardPage;" + NL + ""
+			+ NL + "import org.eclipse.swt.SWT;" + NL + "" + NL + "import org.eclipse.swt.events.ModifyListener;" + NL
+			+ "import org.eclipse.swt.events.ModifyEvent;" + NL + "" + NL + "import org.eclipse.swt.layout.GridData;"
+			+ NL + "import org.eclipse.swt.layout.GridLayout;" + NL + "" + NL + "import org.eclipse.swt.widgets.Combo;"
+			+ NL + "import org.eclipse.swt.widgets.Composite;" + NL + "import org.eclipse.swt.widgets.Label;" + NL + ""
+			+ NL + "import org.eclipse.ui.INewWizard;" + NL + "import org.eclipse.ui.IWorkbench;" + NL;
+	protected final String TEXT_10 = NL + "import org.eclipse.ui.actions.WorkspaceModifyOperation;" + NL + "" + NL
+			+ "import org.eclipse.ui.dialogs.WizardNewFileCreationPage;" + NL + "" + NL
+			+ "import org.eclipse.ui.part.FileEditorInput;" + NL + "import org.eclipse.ui.part.ISetSelectionTarget;"
+			+ NL;
+	protected final String TEXT_11 = NL + "import ";
+	protected final String TEXT_12 = ";";
+	protected final String TEXT_13 = NL + "import ";
+	protected final String TEXT_14 = ";" + NL + "import ";
+	protected final String TEXT_15 = ";" + NL + NL;
+	protected final String TEXT_16 = NL + NL + NL + "/**" + NL
+			+ " * This is a simple wizard for creating a new model file." + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public class ";
+	protected final String TEXT_17 = " extends Wizard implements INewWizard" + NL + "{";
+	protected final String TEXT_18 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_19 = " copyright = ";
+	protected final String TEXT_20 = ";";
+	protected final String TEXT_21 = NL;
+	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The supported extensions for created files." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static final ";
+	protected final String TEXT_23 = " FILE_EXTENSIONS =" + NL + "\t\tCollections.unmodifiableList(Arrays.asList(";
+	protected final String TEXT_24 = ".INSTANCE.getString(\"_UI_";
+	protected final String TEXT_25 = "FilenameExtensions\").split(\"\\\\s*,\\\\s*\")));";
+	protected final String TEXT_26 = NL + NL + "\t/**" + NL
+			+ "\t * A formatted list of supported file extensions, suitable for display." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static final String FORMATTED_FILE_EXTENSIONS =" + NL + "\t\t";
+	protected final String TEXT_27 = ".INSTANCE.getString(\"_UI_";
+	protected final String TEXT_28 = "FilenameExtensions\").replaceAll(\"\\\\s*,\\\\s*\", \", \");";
+	protected final String TEXT_29 = NL + NL + "\t/**" + NL + "\t * This caches an instance of the model package." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ";
+	protected final String TEXT_30 = " ";
+	protected final String TEXT_31 = " = ";
+	protected final String TEXT_32 = ".eINSTANCE;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This caches an instance of the model factory." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_33 = " ";
+	protected final String TEXT_34 = " = ";
+	protected final String TEXT_35 = ".get";
+	protected final String TEXT_36 = "();" + NL;
+	protected final String TEXT_37 = NL + "\t/**" + NL + "\t * This is the file creation page." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ";
+	protected final String TEXT_38 = "NewFileCreationPage newFileCreationPage;" + NL;
+	protected final String TEXT_39 = NL + "\t/**" + NL + "\t * This is the initial object creation page." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ";
+	protected final String TEXT_40 = "InitialObjectCreationPage initialObjectCreationPage;" + NL + "" + NL + "\t/**"
+			+ NL + "\t * Remember the selection during initialization for populating the default container." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected IStructuredSelection selection;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Remember the workbench during initialization." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected IWorkbench workbench;" + NL + "" + NL + "\t/**";
+	protected final String TEXT_41 = NL + "\t * Caches the names of the types that can be created as the root object.";
+	protected final String TEXT_42 = NL + "\t * Caches the names of the features representing global elements.";
+	protected final String TEXT_43 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_44 = " initialObjectNames;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * This just records the information." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic void init(IWorkbench workbench, IStructuredSelection selection)" + NL + "\t{" + NL
+			+ "\t\tthis.workbench = workbench;" + NL + "\t\tthis.selection = selection;" + NL + "\t\tsetWindowTitle(";
+	protected final String TEXT_45 = ".INSTANCE.getString(\"_UI_Wizard_label\"));";
+	protected final String TEXT_46 = NL
+			+ "\t\tsetDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(";
+	protected final String TEXT_47 = ".INSTANCE.getImage(\"full/wizban/New";
+	protected final String TEXT_48 = "\")));";
+	protected final String TEXT_49 = NL + "\t}" + NL + "" + NL + "\t/**";
+	protected final String TEXT_50 = NL + "\t * Returns the names of the types that can be created as the root object.";
+	protected final String TEXT_51 = NL + "\t * Returns the names of the features representing global elements.";
+	protected final String TEXT_52 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_53 = " getInitialObjectNames()" + NL + "\t{" + NL
+			+ "\t\tif (initialObjectNames == null)" + NL + "\t\t{" + NL + "\t\t\tinitialObjectNames = new ";
+	protected final String TEXT_54 = "();";
+	protected final String TEXT_55 = NL + "\t\t\tfor (EClassifier eClassifier : ";
+	protected final String TEXT_56 = ".getEClassifiers())";
+	protected final String TEXT_57 = NL + "\t\t\tfor (Iterator classifiers = ";
+	protected final String TEXT_58 = ".getEClassifiers().iterator(); classifiers.hasNext(); )";
+	protected final String TEXT_59 = NL + "\t\t\t{";
+	protected final String TEXT_60 = NL + "\t\t\t\tEClassifier eClassifier = (EClassifier)classifiers.next();";
+	protected final String TEXT_61 = NL + "\t\t\t\tif (eClassifier instanceof EClass)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tEClass eClass = (EClass)eClassifier;" + NL + "\t\t\t\t\tif (!eClass.isAbstract())" + NL
+			+ "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tinitialObjectNames.add(eClass.getName());" + NL + "\t\t\t\t\t}" + NL
+			+ "\t\t\t\t}" + NL + "\t\t\t}";
+	protected final String TEXT_62 = NL + "\t\t\tfor (";
+	protected final String TEXT_63 = " eStructuralFeature : ";
+	protected final String TEXT_64 = ".INSTANCE.getAllElements(";
+	protected final String TEXT_65 = ".INSTANCE.getDocumentRoot(";
+	protected final String TEXT_66 = ")))";
+	protected final String TEXT_67 = NL + "\t\t\tfor (Iterator elements = ";
+	protected final String TEXT_68 = ".INSTANCE.getAllElements(";
+	protected final String TEXT_69 = ".INSTANCE.getDocumentRoot(";
+	protected final String TEXT_70 = ")).iterator(); elements.hasNext(); )";
+	protected final String TEXT_71 = NL + "\t\t\t{";
+	protected final String TEXT_72 = NL + "\t\t\t\t";
+	protected final String TEXT_73 = " eStructuralFeature = (";
+	protected final String TEXT_74 = ")elements.next();";
+	protected final String TEXT_75 = NL + "\t\t\t\tif (eStructuralFeature.isChangeable())" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tEClassifier eClassifier = eStructuralFeature.getEType();" + NL
+			+ "\t\t\t\t\tif (eClassifier instanceof EClass)" + NL + "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tEClass eClass = (EClass)eClassifier;" + NL + "\t\t\t\t\t\tif (!eClass.isAbstract())" + NL
+			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tinitialObjectNames.add(eStructuralFeature.getName());" + NL
+			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}";
+	protected final String TEXT_76 = NL + "\t\t\tCollections.sort(initialObjectNames, ";
+	protected final String TEXT_77 = "CommonPlugin.INSTANCE.getComparator()";
+	protected final String TEXT_78 = "java.text.Collator.getInstance()";
+	protected final String TEXT_79 = ");" + NL + "\t\t}" + NL + "\t\treturn initialObjectNames;" + NL + "\t}" + NL + ""
+			+ NL + "\t/**" + NL + "\t * Create a new model." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected EObject createInitialModel()" + NL + "\t{";
+	protected final String TEXT_80 = NL + "\t\tEClass eClass = (EClass)";
+	protected final String TEXT_81 = ".getEClassifier(initialObjectCreationPage.getInitialObjectName());" + NL
+			+ "\t\tEObject rootObject = ";
+	protected final String TEXT_82 = ".create(eClass);";
+	protected final String TEXT_83 = NL + "\t\tEClass eClass = ";
+	protected final String TEXT_84 = ".INSTANCE.getDocumentRoot(";
+	protected final String TEXT_85 = ");" + NL
+			+ "\t\tEStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(initialObjectCreationPage.getInitialObjectName());"
+			+ NL + "\t\tEObject rootObject = ";
+	protected final String TEXT_86 = ".create(eClass);" + NL + "\t\trootObject.eSet(eStructuralFeature, ";
+	protected final String TEXT_87 = ".create((EClass)eStructuralFeature.getEType()));";
+	protected final String TEXT_88 = NL + "\t\treturn rootObject;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Do the work after everything is specified." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_89 = NL + "\t@Override";
+	protected final String TEXT_90 = NL + "\tpublic boolean performFinish()" + NL + "\t{" + NL + "\t\ttry" + NL
+			+ "\t\t{";
+	protected final String TEXT_91 = NL + "\t\t\t// Get the URI of the model file." + NL + "\t\t\t//" + NL
+			+ "\t\t\tfinal URI fileURI = getModelURI();" + NL + "\t\t\tif (new ";
+	protected final String TEXT_92 = "(fileURI.toFileString()).exists())" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tif (!MessageDialog.openQuestion" + NL + "\t\t\t\t\t\t(getShell()," + NL + "\t\t\t\t\t\t ";
+	protected final String TEXT_93 = ".INSTANCE.getString(\"_UI_Question_title\"),";
+	protected final String TEXT_94 = NL + "\t\t\t\t\t\t ";
+	protected final String TEXT_95 = ".INSTANCE.getString(\"_WARN_FileConflict\", new String []{ fileURI.toFileString() })))";
+	protected final String TEXT_96 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tinitialObjectCreationPage.selectFileField();"
+			+ NL + "\t\t\t\t\treturn false;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\t" + NL
+			+ "\t\t\t// Do the work within an operation." + NL + "\t\t\t//" + NL + "\t\t\t";
+	protected final String TEXT_97 = " operation = new ";
+	protected final String TEXT_98 = "()" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tpublic void run(IProgressMonitor progressMonitor)";
+	protected final String TEXT_99 = NL + "\t\t\t// Remember the file." + NL + "\t\t\t//" + NL
+			+ "\t\t\tfinal IFile modelFile = getModelFile();" + NL + "" + NL
+			+ "\t\t\t// Do the work within an operation." + NL + "\t\t\t//" + NL
+			+ "\t\t\tWorkspaceModifyOperation operation =" + NL + "\t\t\t\tnew WorkspaceModifyOperation()" + NL
+			+ "\t\t\t\t{";
+	protected final String TEXT_100 = NL + "\t\t\t\t\t@Override";
+	protected final String TEXT_101 = NL + "\t\t\t\t\tprotected void execute(IProgressMonitor progressMonitor)";
+	protected final String TEXT_102 = NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\ttry" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\t// Create a resource set" + NL + "\t\t\t\t\t\t\t//" + NL
+			+ "\t\t\t\t\t\t\tResourceSet resourceSet = new ResourceSetImpl();" + NL;
+	protected final String TEXT_103 = NL + "\t\t\t\t\t\t\t// Get the URI of the model file." + NL + "\t\t\t\t\t\t\t//"
+			+ NL
+			+ "\t\t\t\t\t\t\tURI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);"
+			+ NL;
+	protected final String TEXT_104 = NL + "\t\t\t\t\t\t\t// Create a resource for this file." + NL + "\t\t\t\t\t\t\t//"
+			+ NL + "\t\t\t\t\t\t\tResource resource = resourceSet.createResource(fileURI";
+	protected final String TEXT_105 = ", ";
+	protected final String TEXT_106 = ".eCONTENT_TYPE";
+	protected final String TEXT_107 = ");" + NL + "" + NL
+			+ "\t\t\t\t\t\t\t// Add the initial model object to the contents." + NL + "\t\t\t\t\t\t\t//" + NL
+			+ "\t\t\t\t\t\t\tEObject rootObject = createInitialModel();" + NL + "\t\t\t\t\t\t\tif (rootObject != null)"
+			+ NL + "\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\tresource.getContents().add(rootObject);" + NL
+			+ "\t\t\t\t\t\t\t}" + NL + "" + NL
+			+ "\t\t\t\t\t\t\t// Save the contents of the resource to the file system." + NL + "\t\t\t\t\t\t\t//" + NL
+			+ "\t\t\t\t\t\t\t";
+	protected final String TEXT_108 = " options = new ";
+	protected final String TEXT_109 = "();" + NL
+			+ "\t\t\t\t\t\t\toptions.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());" + NL
+			+ "\t\t\t\t\t\t\tresource.save(options);" + NL + "\t\t\t\t\t\t}" + NL
+			+ "\t\t\t\t\t\tcatch (Exception exception)" + NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t";
+	protected final String TEXT_110 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\tfinally"
+			+ NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tprogressMonitor.done();" + NL + "\t\t\t\t\t\t}" + NL
+			+ "\t\t\t\t\t}" + NL + "\t\t\t\t};" + NL + "" + NL + "\t\t\tgetContainer().run(false, false, operation);"
+			+ NL;
+	protected final String TEXT_111 = NL + "\t\t\treturn ";
+	protected final String TEXT_112 = ".openEditor(workbench, fileURI);\t\t\t";
+	protected final String TEXT_113 = NL + "\t\t\t// Select the new file resource in the current view." + NL
+			+ "\t\t\t//" + NL + "\t\t\t";
+	protected final String TEXT_114 = " workbenchWindow = workbench.getActiveWorkbenchWindow();" + NL + "\t\t\t";
+	protected final String TEXT_115 = " page = workbenchWindow.getActivePage();" + NL + "\t\t\tfinal ";
+	protected final String TEXT_116 = " activePart = page.getActivePart();" + NL
+			+ "\t\t\tif (activePart instanceof ISetSelectionTarget)" + NL + "\t\t\t{" + NL + "\t\t\t\tfinal ";
+	protected final String TEXT_117 = " targetSelection = new ";
+	protected final String TEXT_118 = "(modelFile);" + NL + "\t\t\t\tgetShell().getDisplay().asyncExec" + NL
+			+ "\t\t\t\t\t(new Runnable()" + NL + "\t\t\t\t\t {" + NL + "\t\t\t\t\t\t public void run()" + NL
+			+ "\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t ((ISetSelectionTarget)activePart).selectReveal(targetSelection);"
+			+ NL + "\t\t\t\t\t\t }" + NL + "\t\t\t\t\t });" + NL + "\t\t\t}" + NL + "" + NL
+			+ "\t\t\t// Open an editor on the new file." + NL + "\t\t\t//" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tpage.openEditor" + NL + "\t\t\t\t\t(new FileEditorInput(modelFile)," + NL
+			+ "\t\t\t\t\t workbench.getEditorRegistry().getDefaultEditor";
+	protected final String TEXT_119 = "(modelFile.getFullPath().toString()).getId());";
+	protected final String TEXT_120 = NL + "\t\t\t\t\t \t(modelFile.getFullPath().toString()," + NL + "\t\t\t\t\t \t ";
+	protected final String TEXT_121 = ".getContentTypeManager().getContentType(";
+	protected final String TEXT_122 = ".eCONTENT_TYPE)).getId());";
+	protected final String TEXT_123 = "\t\t\t\t\t \t " + NL + "\t\t\t}" + NL + "\t\t\tcatch (";
+	protected final String TEXT_124 = " exception)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tMessageDialog.openError(workbenchWindow.getShell(), ";
+	protected final String TEXT_125 = ".INSTANCE.getString(\"_UI_OpenEditorError_label\"), exception.getMessage());";
+	protected final String TEXT_126 = NL + "\t\t\t\treturn false;" + NL + "\t\t\t}" + NL + "" + NL
+			+ "\t\t\treturn true;";
+	protected final String TEXT_127 = NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL + "\t\t{" + NL
+			+ "\t\t\t";
+	protected final String TEXT_128 = ".INSTANCE.log(exception);" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL
+			+ "\t}" + NL;
+	protected final String TEXT_129 = NL + "\t/**" + NL + "\t * This is the one page of the wizard." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic class ";
+	protected final String TEXT_130 = "NewFileCreationPage extends WizardNewFileCreationPage" + NL + "\t{" + NL
+			+ "\t\t/**" + NL + "\t\t * Pass in the selection." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";
+	protected final String TEXT_131 = "NewFileCreationPage(String pageId, IStructuredSelection selection)" + NL
+			+ "\t\t{" + NL + "\t\t\tsuper(pageId, selection);" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
+			+ "\t\t * The framework calls this to see if the file is correct." + NL + "\t\t * <!-- begin-user-doc -->"
+			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";
+	protected final String TEXT_132 = NL + "\t\t@Override";
+	protected final String TEXT_133 = NL + "\t\tprotected boolean validatePage()" + NL + "\t\t{" + NL
+			+ "\t\t\tif (super.validatePage())" + NL + "\t\t\t{" + NL + "\t\t\t\tString extension = new ";
+	protected final String TEXT_134 = "(getFileName()).getFileExtension();" + NL
+			+ "\t\t\t\tif (extension == null || !FILE_EXTENSIONS.contains(extension))" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tString key = FILE_EXTENSIONS.size() > 1 ? \"_WARN_FilenameExtensions\" : \"_WARN_FilenameExtension\";";
+	protected final String TEXT_135 = NL + "\t\t\t\t\tsetErrorMessage(";
+	protected final String TEXT_136 = ".INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));" + NL
+			+ "\t\t\t\t\treturn false;" + NL + "\t\t\t\t}" + NL + "\t\t\t\treturn true;" + NL + "\t\t\t}" + NL
+			+ "\t\t\treturn false;" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"
+			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+			+ "\t\tpublic IFile getModelFile()" + NL + "\t\t{" + NL
+			+ "\t\t\treturn ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));"
+			+ NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_137 = NL + "\t/**" + NL
+			+ "\t * This is the page where the type of object to create is selected." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic class ";
+	protected final String TEXT_138 = "InitialObjectCreationPage extends WizardPage" + NL + "\t{";
+	protected final String TEXT_139 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+	protected final String TEXT_140 = " fileField;" + NL;
+	protected final String TEXT_141 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+			+ "\t\tprotected Combo initialObjectField;" + NL + "" + NL + "\t\t/**" + NL + "\t\t * @generated" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t */" + NL
+			+ "\t\tprotected ";
+	protected final String TEXT_142 = " encodings;" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"
+			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+			+ "\t\tprotected Combo encodingField;" + NL + "" + NL + "\t\t/**" + NL + "\t\t * Pass in the selection."
+			+ NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"
+			+ NL + "\t\t */" + NL + "\t\tpublic ";
+	protected final String TEXT_143 = "InitialObjectCreationPage(String pageId)" + NL + "\t\t{" + NL
+			+ "\t\t\tsuper(pageId);" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"
+			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+			+ "\t\tpublic void createControl(Composite parent)" + NL + "\t\t{" + NL
+			+ "\t\t\tComposite composite = new Composite(parent, SWT.NONE);" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tGridLayout layout = new GridLayout();" + NL + "\t\t\t\tlayout.numColumns = 1;" + NL
+			+ "\t\t\t\tlayout.verticalSpacing = 12;" + NL + "\t\t\t\tcomposite.setLayout(layout);" + NL + "" + NL
+			+ "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.verticalAlignment = GridData.FILL;" + NL
+			+ "\t\t\t\tdata.grabExcessVerticalSpace = true;" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;"
+			+ NL + "\t\t\t\tcomposite.setLayoutData(data);" + NL + "\t\t\t}" + NL;
+	protected final String TEXT_144 = "\t\t\t" + NL + "\t\t\tLabel resourceURILabel = new Label(composite, SWT.LEFT);"
+			+ NL + "\t\t\t{" + NL + "\t\t\t\tresourceURILabel.setText(";
+	protected final String TEXT_145 = ".INSTANCE.getString(\"_UI_File_label\"));";
+	protected final String TEXT_146 = NL + NL + "\t\t\t\tGridData data = new GridData();" + NL
+			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tresourceURILabel.setLayoutData(data);"
+			+ NL + "\t\t\t}" + NL + "" + NL + "\t\t\tComposite fileComposite = new Composite(composite, SWT.NONE);" + NL
+			+ "\t\t\t{" + NL + "\t\t\t\tGridData data = new GridData();" + NL
+			+ "\t\t\t\tdata.horizontalAlignment = GridData.END;" + NL + "\t\t\t\tfileComposite.setLayoutData(data);"
+			+ NL + "" + NL + "\t\t\t\tGridLayout layout = new GridLayout();" + NL
+			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tlayout.marginHeight = 0;" + NL
+			+ "\t\t\t\tlayout.marginWidth = 0;" + NL + "\t\t\t\tlayout.numColumns = 2;" + NL
+			+ "\t\t\t\tfileComposite.setLayout(layout);" + NL + "\t\t\t}" + NL + "" + NL + "\t\t\tfileField = new ";
+	protected final String TEXT_147 = "(fileComposite, SWT.BORDER);" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL
+			+ "\t\t\t\tdata.grabExcessHorizontalSpace = true;" + NL + "\t\t\t\tdata.horizontalSpan = 1;" + NL
+			+ "\t\t\t\tfileField.setLayoutData(data);" + NL + "\t\t\t}" + NL + "" + NL
+			+ "\t\t\tfileField.addModifyListener(validator);" + NL;
+	protected final String TEXT_148 = NL + "\t\t\t";
+	protected final String TEXT_149 = " resourceURIBrowseFileSystemButton = new ";
+	protected final String TEXT_150 = "(fileComposite, SWT.PUSH);" + NL
+			+ "\t\t\tresourceURIBrowseFileSystemButton.setText(";
+	protected final String TEXT_151 = ".INSTANCE.getString(\"_UI_Browse_label\"));";
+	protected final String TEXT_152 = NL + NL + "\t\t\tresourceURIBrowseFileSystemButton.addSelectionListener" + NL
+			+ "\t\t\t\t(new ";
+	protected final String TEXT_153 = "()" + NL + "\t\t\t\t {";
+	protected final String TEXT_154 = NL + "\t\t\t\t\t @Override";
+	protected final String TEXT_155 = NL + "\t\t\t\t\t public void widgetSelected(";
+	protected final String TEXT_156 = " event)" + NL + "\t\t\t\t\t {" + NL + "\t\t\t\t\t\t String[] filters = ";
+	protected final String TEXT_157 = "(String[])";
+	protected final String TEXT_158 = ".FILE_EXTENSION_FILTERS.toArray(new String[";
+	protected final String TEXT_159 = ".FILE_EXTENSION_FILTERS.size()]);" + NL + "\t\t\t\t\t\t String[] files = ";
+	protected final String TEXT_160 = ".openFilePathDialog(getShell(), ";
+	protected final String TEXT_161 = ".SAVE, filters);" + NL + "\t\t\t\t\t\t if (files.length > 0)" + NL
+			+ "\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t fileField.setText(files[0]);" + NL + "\t\t\t\t\t\t }" + NL
+			+ "\t\t\t\t\t }" + NL + "\t\t\t\t });";
+	protected final String TEXT_162 = NL + "\t\t\tLabel containerLabel = new Label(composite, SWT.LEFT);" + NL
+			+ "\t\t\t{" + NL + "\t\t\t\tcontainerLabel.setText(";
+	protected final String TEXT_163 = ".INSTANCE.getString(\"_UI_ModelObject\"));";
+	protected final String TEXT_164 = NL + NL + "\t\t\t\tGridData data = new GridData();" + NL
+			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tcontainerLabel.setLayoutData(data);"
+			+ NL + "\t\t\t}" + NL + "" + NL + "\t\t\tinitialObjectField = new Combo(composite, SWT.BORDER);" + NL
+			+ "\t\t\t{" + NL + "\t\t\t\tGridData data = new GridData();" + NL
+			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL
+			+ "\t\t\t\tdata.grabExcessHorizontalSpace = true;" + NL + "\t\t\t\tinitialObjectField.setLayoutData(data);"
+			+ NL + "\t\t\t}" + NL;
+	protected final String TEXT_165 = NL + "\t\t\tfor (String objectName : getInitialObjectNames())" + NL + "\t\t\t{"
+			+ NL + "\t\t\t\tinitialObjectField.add(getLabel(objectName));" + NL + "\t\t\t}";
+	protected final String TEXT_166 = NL + "\t\t\tfor (Iterator i = getInitialObjectNames().iterator(); i.hasNext(); )"
+			+ NL + "\t\t\t{" + NL + "\t\t\t\tinitialObjectField.add(getLabel((String)i.next()));" + NL + "\t\t\t}";
+	protected final String TEXT_167 = NL + NL + "\t\t\tif (initialObjectField.getItemCount() == 1)" + NL + "\t\t\t{"
+			+ NL + "\t\t\t\tinitialObjectField.select(0);" + NL + "\t\t\t}" + NL
+			+ "\t\t\tinitialObjectField.addModifyListener(validator);" + NL + "" + NL
+			+ "\t\t\tLabel encodingLabel = new Label(composite, SWT.LEFT);" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tencodingLabel.setText(";
+	protected final String TEXT_168 = ".INSTANCE.getString(\"_UI_XMLEncoding\"));";
+	protected final String TEXT_169 = NL + NL + "\t\t\t\tGridData data = new GridData();" + NL
+			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tencodingLabel.setLayoutData(data);"
+			+ NL + "\t\t\t}" + NL + "\t\t\tencodingField = new Combo(composite, SWT.BORDER);" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL
+			+ "\t\t\t\tdata.grabExcessHorizontalSpace = true;" + NL + "\t\t\t\tencodingField.setLayoutData(data);" + NL
+			+ "\t\t\t}" + NL;
+	protected final String TEXT_170 = NL + "\t\t\tfor (String encoding : getEncodings())" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tencodingField.add(encoding);" + NL + "\t\t\t}";
+	protected final String TEXT_171 = NL + "\t\t\tfor (Iterator i = getEncodings().iterator(); i.hasNext(); )" + NL
+			+ "\t\t\t{" + NL + "\t\t\t\tencodingField.add((String)i.next());" + NL + "\t\t\t}";
+	protected final String TEXT_172 = NL + NL + "\t\t\tencodingField.select(0);" + NL
+			+ "\t\t\tencodingField.addModifyListener(validator);" + NL + "" + NL
+			+ "\t\t\tsetPageComplete(validatePage());" + NL + "\t\t\tsetControl(composite);" + NL + "\t\t}" + NL + ""
+			+ NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+			+ "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ModifyListener validator =" + NL
+			+ "\t\t\tnew ModifyListener()" + NL + "\t\t\t{" + NL + "\t\t\t\tpublic void modifyText(ModifyEvent e)" + NL
+			+ "\t\t\t\t{" + NL + "\t\t\t\t\tsetPageComplete(validatePage());" + NL + "\t\t\t\t}" + NL + "\t\t\t};" + NL
+			+ "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
+			+ "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected boolean validatePage()" + NL + "\t\t{";
+	protected final String TEXT_173 = NL + "\t\t\tURI fileURI = getFileURI();" + NL
+			+ "\t\t\tif (fileURI == null || fileURI.isEmpty())" + NL + "\t\t\t{" + NL + "\t\t\t\tsetErrorMessage(null);"
+			+ NL + "\t\t\t\treturn false;" + NL + "\t\t\t}" + NL + "" + NL
+			+ "\t\t\tString extension = fileURI.fileExtension();" + NL
+			+ "\t\t\tif (extension == null || !FILE_EXTENSIONS.contains(extension))" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tString key = FILE_EXTENSIONS.size() > 1 ? \"_WARN_FilenameExtensions\" : \"_WARN_FilenameExtension\";";
+	protected final String TEXT_174 = NL + "\t\t\t\tsetErrorMessage(";
+	protected final String TEXT_175 = ".INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));" + NL
+			+ "\t\t\t\treturn false;" + NL + "\t\t\t}" + NL + "" + NL + "\t\t\tsetErrorMessage(null);";
+	protected final String TEXT_176 = NL
+			+ "\t\t\treturn getInitialObjectName() != null && getEncodings().contains(encodingField.getText());" + NL
+			+ "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";
+	protected final String TEXT_177 = NL + "\t\t@Override";
+	protected final String TEXT_178 = NL + "\t\tpublic void setVisible(boolean visible)" + NL + "\t\t{" + NL
+			+ "\t\t\tsuper.setVisible(visible);" + NL + "\t\t\tif (visible)" + NL + "\t\t\t{";
+	protected final String TEXT_179 = NL + "\t\t\t\tif (initialObjectField.getItemCount() == 1)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tinitialObjectField.clearSelection();" + NL + "\t\t\t\t\tencodingField.setFocus();" + NL
+			+ "\t\t\t\t}" + NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tencodingField.clearSelection();"
+			+ NL + "\t\t\t\t\tinitialObjectField.setFocus();" + NL + "\t\t\t\t}";
+	protected final String TEXT_180 = NL + "\t\t\t\tinitialObjectField.clearSelection();" + NL
+			+ "\t\t\t\tencodingField.clearSelection();" + NL + "\t\t\t\tfileField.setFocus();";
+	protected final String TEXT_181 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic String getInitialObjectName()" + NL + "\t\t{" + NL
+			+ "\t\t\tString label = initialObjectField.getText();" + NL;
+	protected final String TEXT_182 = NL + "\t\t\tfor (String name : getInitialObjectNames())";
+	protected final String TEXT_183 = NL + "\t\t\tfor (Iterator i = getInitialObjectNames().iterator(); i.hasNext(); )";
+	protected final String TEXT_184 = NL + "\t\t\t{";
+	protected final String TEXT_185 = NL + "\t\t\t\tString name = (String)i.next();";
+	protected final String TEXT_186 = NL + "\t\t\t\tif (getLabel(name).equals(label))" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\treturn name;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\treturn null;" + NL + "\t\t}"
+			+ NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->"
+			+ NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic String getEncoding()" + NL + "\t\t{" + NL
+			+ "\t\t\treturn encodingField.getText();" + NL + "\t\t}";
+	protected final String TEXT_187 = NL + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+			+ "\t\tpublic URI getFileURI()" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\treturn URI.createFileURI(fileField.getText());" + NL + "\t\t\t}" + NL
+			+ "\t\t\tcatch (Exception exception)" + NL + "\t\t\t{" + NL + "\t\t\t\t// Ignore" + NL + "\t\t\t}" + NL
+			+ "\t\t\treturn null;" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"
+			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+			+ "\t\tpublic void selectFileField()" + NL + "\t\t{" + NL + "\t\t\t\tinitialObjectField.clearSelection();"
+			+ NL + "\t\t\t\tencodingField.clearSelection();" + NL + "\t\t\t\tfileField.selectAll();" + NL
+			+ "\t\t\t\tfileField.setFocus();" + NL + "\t\t}\t\t";
+	protected final String TEXT_188 = NL + NL + "\t\t/**" + NL + "\t\t * Returns the label for the specified ";
+	protected final String TEXT_189 = " name." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
+			+ "\t\tprotected String getLabel(String ";
+	protected final String TEXT_190 = "Name)" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\treturn ";
+	protected final String TEXT_191 = ".INSTANCE.getString(\"";
+	protected final String TEXT_192 = "\" + ";
+	protected final String TEXT_193 = "Name + \"_";
+	protected final String TEXT_194 = "\");";
+	protected final String TEXT_195 = NL + "\t\t\t}" + NL + "\t\t\tcatch(MissingResourceException mre)" + NL + "\t\t\t{"
+			+ NL + "\t\t\t\t";
+	protected final String TEXT_196 = ".INSTANCE.log(mre);" + NL + "\t\t\t}" + NL + "\t\t\treturn ";
+	protected final String TEXT_197 = "Name;" + NL + "\t\t}";
+	protected final String TEXT_198 = NL + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+	protected final String TEXT_199 = " getEncodings()" + NL + "\t\t{" + NL + "\t\t\tif (encodings == null)" + NL
+			+ "\t\t\t{" + NL + "\t\t\t\tencodings = new ";
+	protected final String TEXT_200 = "();" + NL
+			+ "\t\t\t\tfor (StringTokenizer stringTokenizer = new StringTokenizer(";
+	protected final String TEXT_201 = ".INSTANCE.getString(\"_UI_XMLEncodingChoices\")); stringTokenizer.hasMoreTokens(); )";
+	protected final String TEXT_202 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tencodings.add(stringTokenizer.nextToken());"
+			+ NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\treturn encodings;" + NL + "\t\t}" + NL + "\t}" + NL + ""
+			+ NL + "\t/**" + NL + "\t * The framework calls this to create the contents of the wizard." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_203 = NL + "\t\t@Override";
+	protected final String TEXT_204 = NL + "\tpublic void addPages()" + NL + "\t{";
+	protected final String TEXT_205 = NL + "\t\t// Create a page, set the title, and the initial model file name." + NL
+			+ "\t\t//" + NL + "\t\tnewFileCreationPage = new ";
+	protected final String TEXT_206 = "NewFileCreationPage(\"Whatever\", selection);";
+	protected final String TEXT_207 = NL + "\t\tnewFileCreationPage.setTitle(";
+	protected final String TEXT_208 = ".INSTANCE.getString(\"_UI_";
+	protected final String TEXT_209 = "_label\"));";
+	protected final String TEXT_210 = NL + "\t\tnewFileCreationPage.setDescription(";
+	protected final String TEXT_211 = ".INSTANCE.getString(\"_UI_";
+	protected final String TEXT_212 = "_description\"));";
+	protected final String TEXT_213 = NL + "\t\tnewFileCreationPage.setFileName(";
+	protected final String TEXT_214 = ".INSTANCE.getString(\"_UI_";
+	protected final String TEXT_215 = "FilenameDefaultBase\") + \".\" + ";
+	protected final String TEXT_216 = "(String)";
+	protected final String TEXT_217 = "FILE_EXTENSIONS.get(0));";
+	protected final String TEXT_218 = NL + "\t\taddPage(newFileCreationPage);" + NL + "" + NL
+			+ "\t\t// Try and get the resource selection to determine a current directory for the file dialog." + NL
+			+ "\t\t//" + NL + "\t\tif (selection != null && !selection.isEmpty())" + NL + "\t\t{" + NL
+			+ "\t\t\t// Get the resource..." + NL + "\t\t\t//" + NL
+			+ "\t\t\tObject selectedElement = selection.iterator().next();" + NL
+			+ "\t\t\tif (selectedElement instanceof IResource)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t// Get the resource parent, if its a file." + NL + "\t\t\t\t//" + NL
+			+ "\t\t\t\tIResource selectedResource = (IResource)selectedElement;" + NL
+			+ "\t\t\t\tif (selectedResource.getType() == IResource.FILE)" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tselectedResource = selectedResource.getParent();" + NL + "\t\t\t\t}" + NL + "" + NL
+			+ "\t\t\t\t// This gives us a directory..." + NL + "\t\t\t\t//" + NL
+			+ "\t\t\t\tif (selectedResource instanceof IFolder || selectedResource instanceof IProject)" + NL
+			+ "\t\t\t\t{" + NL + "\t\t\t\t\t// Set this for the container." + NL + "\t\t\t\t\t//" + NL
+			+ "\t\t\t\t\tnewFileCreationPage.setContainerFullPath(selectedResource.getFullPath());" + NL + "" + NL
+			+ "\t\t\t\t\t// Make up a unique new name here." + NL + "\t\t\t\t\t//" + NL
+			+ "\t\t\t\t\tString defaultModelBaseFilename = ";
+	protected final String TEXT_219 = ".INSTANCE.getString(\"_UI_";
+	protected final String TEXT_220 = "FilenameDefaultBase\");";
+	protected final String TEXT_221 = NL + "\t\t\t\t\tString defaultModelFilenameExtension = ";
+	protected final String TEXT_222 = "(String)";
+	protected final String TEXT_223 = "FILE_EXTENSIONS.get(0);" + NL
+			+ "\t\t\t\t\tString modelFilename = defaultModelBaseFilename + \".\" + defaultModelFilenameExtension;";
+	protected final String TEXT_224 = NL
+			+ "\t\t\t\t\tfor (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i)" + NL
+			+ "\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\tmodelFilename = defaultModelBaseFilename + i + \".\" + defaultModelFilenameExtension;";
+	protected final String TEXT_225 = NL + "\t\t\t\t\t}" + NL
+			+ "\t\t\t\t\tnewFileCreationPage.setFileName(modelFilename);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL
+			+ "\t\t}";
+	protected final String TEXT_226 = NL + "\t\tinitialObjectCreationPage = new ";
+	protected final String TEXT_227 = "InitialObjectCreationPage(\"Whatever2\");";
+	protected final String TEXT_228 = NL + "\t\tinitialObjectCreationPage.setTitle(";
+	protected final String TEXT_229 = ".INSTANCE.getString(\"_UI_";
+	protected final String TEXT_230 = "_label\"));";
+	protected final String TEXT_231 = NL + "\t\tinitialObjectCreationPage.setDescription(";
+	protected final String TEXT_232 = ".INSTANCE.getString(\"_UI_Wizard_initial_object_description\"));";
+	protected final String TEXT_233 = NL + "\t\taddPage(initialObjectCreationPage);" + NL + "\t}" + NL;
+	protected final String TEXT_234 = NL + "\t/**" + NL + "\t * Get the URI from the page." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic URI getModelURI()" + NL + "\t{" + NL + "\t\treturn initialObjectCreationPage.getFileURI();"
+			+ NL + "\t}" + NL;
+	protected final String TEXT_235 = NL + "\t/**" + NL + "\t * Get the file from the page." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic IFile getModelFile()" + NL + "\t{" + NL + "\t\treturn newFileCreationPage.getModelFile();"
+			+ NL + "\t}" + NL;
+	protected final String TEXT_236 = NL + "}";
+	protected final String TEXT_237 = NL;
+	protected final String TEXT_238 = NL;
+	protected final String TEXT_239 = NL;
+
+	public ModelWizard() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_238);
+		stringBuffer.append(TEXT_239);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getEditorDirectory();
+		packageName = genPackage.getPresentationPackageName();
+		className = genPackage.getModelWizardClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2010 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) argument;
+		GenModel genModel = genPackage.getGenModel();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		String _ListOfString = "List"
+				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");
+		String _ArrayListOfString = "ArrayList"
+				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");
+		String _CollectionOfString = "Collection"
+				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");
+		String _MapOfObjectToObject = "Map"
+				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.Object") + ", "
+						+ genModel.getImportedName("java.lang.Object") + ">" : "");
+		String _HashMapOfObjectToObject = "HashMap"
+				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.Object") + ", "
+						+ genModel.getImportedName("java.lang.Object") + ">" : "");
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getPresentationPackageName());
+		stringBuffer.append(TEXT_3);
+		if (!genModel.useGenerics()) {
+			stringBuffer.append(TEXT_4);
+		}
+		stringBuffer.append(TEXT_5);
+		if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
+			stringBuffer.append(TEXT_6);
+		}
+		stringBuffer.append(TEXT_7);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_8);
+		}
+		stringBuffer.append(TEXT_9);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_10);
+		}
+		if (!genModel.isSuppressEMFMetaData()) {
+			stringBuffer.append(TEXT_11);
+			stringBuffer.append(genPackage.getQualifiedFactoryInterfaceName());
+			stringBuffer.append(TEXT_12);
+		}
+		stringBuffer.append(TEXT_13);
+		stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+		stringBuffer.append(TEXT_14);
+		stringBuffer.append(genPackage.getQualifiedEditPluginClassName());
+		stringBuffer.append(TEXT_15);
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_16);
+		stringBuffer.append(genPackage.getModelWizardClassName());
+		stringBuffer.append(TEXT_17);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_21);
+		}
+		stringBuffer.append(TEXT_22);
+		stringBuffer.append(_ListOfString);
+		stringBuffer.append(TEXT_23);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_24);
+		stringBuffer.append(genPackage.getEditorClassName());
+		stringBuffer.append(TEXT_25);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(genModel.getNonNLS(2));
+		stringBuffer.append(TEXT_26);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_27);
+		stringBuffer.append(genPackage.getEditorClassName());
+		stringBuffer.append(TEXT_28);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(genModel.getNonNLS(2));
+		stringBuffer.append(genModel.getNonNLS(3));
+		stringBuffer.append(TEXT_29);
+		stringBuffer.append(genModel.isSuppressEMFMetaData()
+				? genModel.getImportedName("org.eclipse.emf.ecore.EPackage") : genPackage.getPackageInterfaceName());
+		stringBuffer.append(TEXT_30);
+		stringBuffer.append(genPackage.getUncapPackageName());
+		stringBuffer.append(TEXT_31);
+		stringBuffer.append(genPackage.getPackageInterfaceName());
+		stringBuffer.append(TEXT_32);
+		stringBuffer.append(genModel.isSuppressEMFMetaData()
+				? genModel.getImportedName("org.eclipse.emf.ecore.EFactory") : genPackage.getFactoryInterfaceName());
+		stringBuffer.append(TEXT_33);
+		stringBuffer.append(genPackage.getUncapFactoryName());
+		stringBuffer.append(TEXT_34);
+		stringBuffer.append(genPackage.getUncapPackageName());
+		stringBuffer.append(TEXT_35);
+		stringBuffer.append(genModel.isSuppressEMFMetaData() ? "EFactoryInstance" : genPackage.getFactoryName());
+		stringBuffer.append(TEXT_36);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_37);
+			stringBuffer.append(genPackage.getModelWizardClassName());
+			stringBuffer.append(TEXT_38);
+		}
+		stringBuffer.append(TEXT_39);
+		stringBuffer.append(genPackage.getModelWizardClassName());
+		stringBuffer.append(TEXT_40);
+		if (!genPackage.hasDocumentRoot()) {
+			stringBuffer.append(TEXT_41);
+		} else {
+			stringBuffer.append(TEXT_42);
+		}
+		stringBuffer.append(TEXT_43);
+		stringBuffer.append(_ListOfString);
+		stringBuffer.append(TEXT_44);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_45);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_46);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_47);
+		stringBuffer.append(genPackage.getPrefix());
+		stringBuffer.append(TEXT_48);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_49);
+		if (!genPackage.hasDocumentRoot()) {
+			stringBuffer.append(TEXT_50);
+		} else {
+			stringBuffer.append(TEXT_51);
+		}
+		stringBuffer.append(TEXT_52);
+		stringBuffer.append(_CollectionOfString);
+		stringBuffer.append(TEXT_53);
+		stringBuffer.append(_ArrayListOfString);
+		stringBuffer.append(TEXT_54);
+		if (!genPackage.hasDocumentRoot()) {
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_55);
+				stringBuffer.append(genPackage.getUncapPackageName());
+				stringBuffer.append(TEXT_56);
+			} else {
+				stringBuffer.append(TEXT_57);
+				stringBuffer.append(genPackage.getUncapPackageName());
+				stringBuffer.append(TEXT_58);
+			}
+			stringBuffer.append(TEXT_59);
+			if (!genModel.useGenerics()) {
+				stringBuffer.append(TEXT_60);
+			}
+			stringBuffer.append(TEXT_61);
+		} else {
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_62);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+				stringBuffer.append(TEXT_63);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
+				stringBuffer.append(TEXT_64);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
+				stringBuffer.append(TEXT_65);
+				stringBuffer.append(genPackage.getUncapPackageName());
+				stringBuffer.append(TEXT_66);
+			} else {
+				stringBuffer.append(TEXT_67);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
+				stringBuffer.append(TEXT_68);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
+				stringBuffer.append(TEXT_69);
+				stringBuffer.append(genPackage.getUncapPackageName());
+				stringBuffer.append(TEXT_70);
+			}
+			stringBuffer.append(TEXT_71);
+			if (!genModel.useGenerics()) {
+				stringBuffer.append(TEXT_72);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+				stringBuffer.append(TEXT_73);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+				stringBuffer.append(TEXT_74);
+			}
+			stringBuffer.append(TEXT_75);
+		}
+		stringBuffer.append(TEXT_76);
+		if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
+			stringBuffer.append(TEXT_77);
+		} else {
+			stringBuffer.append(TEXT_78);
+		}
+		stringBuffer.append(TEXT_79);
+		if (!genPackage.hasDocumentRoot()) {
+			stringBuffer.append(TEXT_80);
+			stringBuffer.append(genPackage.getUncapPackageName());
+			stringBuffer.append(TEXT_81);
+			stringBuffer.append(genPackage.getUncapFactoryName());
+			stringBuffer.append(TEXT_82);
+		} else {
+			stringBuffer.append(TEXT_83);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
+			stringBuffer.append(TEXT_84);
+			stringBuffer.append(genPackage.getUncapPackageName());
+			stringBuffer.append(TEXT_85);
+			stringBuffer.append(genPackage.getUncapFactoryName());
+			stringBuffer.append(TEXT_86);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));
+			stringBuffer.append(TEXT_87);
+		}
+		stringBuffer.append(TEXT_88);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_89);
+		}
+		stringBuffer.append(TEXT_90);
+		if (genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_91);
+			stringBuffer.append(genModel.getImportedName("java.io.File"));
+			stringBuffer.append(TEXT_92);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_93);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_94);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_95);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_96);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress"));
+			stringBuffer.append(TEXT_97);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress"));
+			stringBuffer.append(TEXT_98);
+		} else {
+			stringBuffer.append(TEXT_99);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_100);
+			}
+			stringBuffer.append(TEXT_101);
+		}
+		stringBuffer.append(TEXT_102);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_103);
+		}
+		stringBuffer.append(TEXT_104);
+		if (genPackage.isContentType()) {
+			stringBuffer.append(TEXT_105);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_106);
+		}
+		stringBuffer.append(TEXT_107);
+		stringBuffer.append(_MapOfObjectToObject);
+		stringBuffer.append(TEXT_108);
+		stringBuffer.append(_HashMapOfObjectToObject);
+		stringBuffer.append(TEXT_109);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_110);
+		if (genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_111);
+			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));
+			stringBuffer.append(TEXT_112);
+		} else {
+			stringBuffer.append(TEXT_113);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchWindow"));
+			stringBuffer.append(TEXT_114);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchPage"));
+			stringBuffer.append(TEXT_115);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchPart"));
+			stringBuffer.append(TEXT_116);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));
+			stringBuffer.append(TEXT_117);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection"));
+			stringBuffer.append(TEXT_118);
+			if (!genPackage.isContentType()) {
+				stringBuffer.append(TEXT_119);
+			} else {
+				stringBuffer.append(TEXT_120);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.Platform"));
+				stringBuffer.append(TEXT_121);
+				stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+				stringBuffer.append(TEXT_122);
+			}
+			stringBuffer.append(TEXT_123);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.PartInitException"));
+			stringBuffer.append(TEXT_124);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_125);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_126);
+		}
+		stringBuffer.append(TEXT_127);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_128);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_129);
+			stringBuffer.append(genPackage.getModelWizardClassName());
+			stringBuffer.append(TEXT_130);
+			stringBuffer.append(genPackage.getModelWizardClassName());
+			stringBuffer.append(TEXT_131);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_132);
+			}
+			stringBuffer.append(TEXT_133);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.Path"));
+			stringBuffer.append(TEXT_134);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(genModel.getNonNLS(2));
+			stringBuffer.append(TEXT_135);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_136);
+		}
+		stringBuffer.append(TEXT_137);
+		stringBuffer.append(genPackage.getModelWizardClassName());
+		stringBuffer.append(TEXT_138);
+		if (genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_139);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Text"));
+			stringBuffer.append(TEXT_140);
+		}
+		stringBuffer.append(TEXT_141);
+		stringBuffer.append(_ListOfString);
+		stringBuffer.append(TEXT_142);
+		stringBuffer.append(genPackage.getModelWizardClassName());
+		stringBuffer.append(TEXT_143);
+		if (genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_144);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_145);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_146);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Text"));
+			stringBuffer.append(TEXT_147);
+			if (!genModel.isRichAjaxPlatform()) {
+				stringBuffer.append(TEXT_148);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Button"));
+				stringBuffer.append(TEXT_149);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Button"));
+				stringBuffer.append(TEXT_150);
+				stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+				stringBuffer.append(TEXT_151);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(TEXT_152);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.events.SelectionAdapter"));
+				stringBuffer.append(TEXT_153);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_154);
+				}
+				stringBuffer.append(TEXT_155);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.events.SelectionEvent"));
+				stringBuffer.append(TEXT_156);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_157);
+				}
+				stringBuffer.append(genPackage.getImportedEditorClassName());
+				stringBuffer.append(TEXT_158);
+				stringBuffer.append(genPackage.getImportedEditorClassName());
+				stringBuffer.append(TEXT_159);
+				stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));
+				stringBuffer.append(TEXT_160);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.SWT"));
+				stringBuffer.append(TEXT_161);
+			}
+		}
+		stringBuffer.append(TEXT_162);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_163);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_164);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_165);
+		} else {
+			stringBuffer.append(TEXT_166);
+		}
+		stringBuffer.append(TEXT_167);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_168);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_169);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_170);
+		} else {
+			stringBuffer.append(TEXT_171);
+		}
+		stringBuffer.append(TEXT_172);
+		if (genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_173);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(genModel.getNonNLS(2));
+			stringBuffer.append(TEXT_174);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_175);
+		}
+		stringBuffer.append(TEXT_176);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_177);
+		}
+		stringBuffer.append(TEXT_178);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_179);
+		} else {
+			stringBuffer.append(TEXT_180);
+		}
+		stringBuffer.append(TEXT_181);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_182);
+		} else {
+			stringBuffer.append(TEXT_183);
+		}
+		stringBuffer.append(TEXT_184);
+		if (!genModel.useGenerics()) {
+			stringBuffer.append(TEXT_185);
+		}
+		stringBuffer.append(TEXT_186);
+		if (genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_187);
+		}
+		{
+			String type = genPackage.hasDocumentRoot() ? "feature" : "type";
+			String prefix = genPackage.hasDocumentRoot() ? "_UI_DocumentRoot_" : "_UI_";
+			stringBuffer.append(TEXT_188);
+			stringBuffer.append(type);
+			stringBuffer.append(TEXT_189);
+			stringBuffer.append(type);
+			stringBuffer.append(TEXT_190);
+			stringBuffer.append(genPackage.getEditPluginClassName());
+			stringBuffer.append(TEXT_191);
+			stringBuffer.append(prefix);
+			stringBuffer.append(TEXT_192);
+			stringBuffer.append(type);
+			stringBuffer.append(TEXT_193);
+			stringBuffer.append(type);
+			stringBuffer.append(TEXT_194);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(genModel.getNonNLS(2));
+			stringBuffer.append(TEXT_195);
+			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorPluginClassName()));
+			stringBuffer.append(TEXT_196);
+			stringBuffer.append(type);
+			stringBuffer.append(TEXT_197);
+		}
+		stringBuffer.append(TEXT_198);
+		stringBuffer.append(_CollectionOfString);
+		stringBuffer.append(TEXT_199);
+		stringBuffer.append(_ArrayListOfString);
+		stringBuffer.append(TEXT_200);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_201);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_202);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_203);
+		}
+		stringBuffer.append(TEXT_204);
+		if (!genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_205);
+			stringBuffer.append(genPackage.getModelWizardClassName());
+			stringBuffer.append(TEXT_206);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_207);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_208);
+			stringBuffer.append(genPackage.getModelWizardClassName());
+			stringBuffer.append(TEXT_209);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_210);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_211);
+			stringBuffer.append(genPackage.getModelWizardClassName());
+			stringBuffer.append(TEXT_212);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_213);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_214);
+			stringBuffer.append(genPackage.getEditorClassName());
+			stringBuffer.append(TEXT_215);
+			if (!genModel.useGenerics()) {
+				stringBuffer.append(TEXT_216);
+			}
+			stringBuffer.append(TEXT_217);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(genModel.getNonNLS(2));
+			stringBuffer.append(TEXT_218);
+			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+			stringBuffer.append(TEXT_219);
+			stringBuffer.append(genPackage.getEditorClassName());
+			stringBuffer.append(TEXT_220);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_221);
+			if (!genModel.useGenerics()) {
+				stringBuffer.append(TEXT_222);
+			}
+			stringBuffer.append(TEXT_223);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_224);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_225);
+		}
+		stringBuffer.append(TEXT_226);
+		stringBuffer.append(genPackage.getModelWizardClassName());
+		stringBuffer.append(TEXT_227);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_228);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_229);
+		stringBuffer.append(genPackage.getModelWizardClassName());
+		stringBuffer.append(TEXT_230);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_231);
+		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
+		stringBuffer.append(TEXT_232);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_233);
+		if (genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_234);
+		} else {
+			stringBuffer.append(TEXT_235);
+		}
+		stringBuffer.append(TEXT_236);
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_237);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && (genPackage.hasConcreteClasses() && genPackage.isGenerateModelWizard()
+				&& genPackage.getGenModel().getRuntimePlatform() != GenRuntimePlatform.GWT);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizardIcon.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizardIcon.java
index 69e2d2d..9d77cf4 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizardIcon.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModelWizardIcon.java
@@ -1,133 +1,133 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ModelWizardIcon extends org.eclipse.egf.emf.pattern.base.GenPackageGIF {

-	protected static String nl;

-

-	public static synchronized ModelWizardIcon create(String lineSeparator) {

-		nl = lineSeparator;

-		ModelWizardIcon result = new ModelWizardIcon();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ModelWizardIcon() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		if (genPackage.hasConcreteClasses() && genPackage.isGenerateModelWizard()) {

-			new CodegenGeneratorAdapter(parameter).generateGIF("editor/NewModel.gif",

-					genPackage.getModelWizardIconFileName(), genPackage.getPrefix(), null, false);

-		} else {

-		}

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModelWizardIcon extends org.eclipse.egf.emf.pattern.base.GenPackageGIF {
+	protected static String nl;
+
+	public static synchronized ModelWizardIcon create(String lineSeparator) {
+		nl = lineSeparator;
+		ModelWizardIcon result = new ModelWizardIcon();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ModelWizardIcon() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		if (genPackage.hasConcreteClasses() && genPackage.isGenerateModelWizard()) {
+			new CodegenGeneratorAdapter(parameter).generateGIF("editor/NewModel.gif",
+					genPackage.getModelWizardIconFileName(), genPackage.getPrefix(), null, false);
+		} else {
+		}
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModuleGWTXML.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModuleGWTXML.java
index 436a7bb..4b8ab33 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModuleGWTXML.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/ModuleGWTXML.java
@@ -1,209 +1,207 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ModuleGWTXML extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized ModuleGWTXML create(String lineSeparator) {

-		nl = lineSeparator;

-		ModuleGWTXML result = new ModuleGWTXML();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"

-			+ NL

-			+ "<!DOCTYPE module PUBLIC \"-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN\" \"http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd\">"

-			+ NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + NL + "<module>" + NL

-			+ "  <inherits name='com.google.gwt.user.theme.standard.Standard'/>";

-	protected final String TEXT_4 = NL + "  <inherits name=\"";

-	protected final String TEXT_5 = "\" />";

-	protected final String TEXT_6 = NL + NL + "  <entry-point class='";

-	protected final String TEXT_7 = "'/>" + NL;

-	protected final String TEXT_8 = NL + "  <source path=\"";

-	protected final String TEXT_9 = "\"/>";

-	protected final String TEXT_10 = NL + "</module>" + NL;

-	protected final String TEXT_11 = NL;

-	protected final String TEXT_12 = NL;

-

-	public ModuleGWTXML() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(TEXT_12);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditorDirectory() + "/"

-				+ genModel.getQualifiedEditorModuleName().replace(".", "/") + ".gwt.xml";

-		overwrite = false;

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2010 Ed Merks 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: 

-		 *   Ed Merks - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_3);

-		for (String inherits : genModel.getEditorModuleInherits()) {

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(inherits);

-			stringBuffer.append(TEXT_5);

-		}

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(genModel.getQualifiedEditorEntryPointClassName());

-		stringBuffer.append(TEXT_7);

-		for (String source : genModel.getEditorModuleSources()) {

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(source);

-			stringBuffer.append(TEXT_9);

-		}

-		stringBuffer.append(TEXT_10);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModuleGWTXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized ModuleGWTXML create(String lineSeparator) {
+		nl = lineSeparator;
+		ModuleGWTXML result = new ModuleGWTXML();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL
+			+ "<!DOCTYPE module PUBLIC \"-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN\" \"http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd\">"
+			+ NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + NL + "<module>" + NL
+			+ "  <inherits name='com.google.gwt.user.theme.standard.Standard'/>";
+	protected final String TEXT_4 = NL + "  <inherits name=\"";
+	protected final String TEXT_5 = "\" />";
+	protected final String TEXT_6 = NL + NL + "  <entry-point class='";
+	protected final String TEXT_7 = "'/>" + NL;
+	protected final String TEXT_8 = NL + "  <source path=\"";
+	protected final String TEXT_9 = "\"/>";
+	protected final String TEXT_10 = NL + "</module>" + NL;
+	protected final String TEXT_11 = NL;
+	protected final String TEXT_12 = NL;
+
+	public ModuleGWTXML() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(TEXT_12);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditorDirectory() + "/" + genModel.getQualifiedEditorModuleName().replace(".", "/")
+				+ ".gwt.xml";
+		overwrite = false;
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2010 Ed Merks 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: 
+		 *   Ed Merks - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_3);
+		for (String inherits : genModel.getEditorModuleInherits()) {
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(inherits);
+			stringBuffer.append(TEXT_5);
+		}
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(genModel.getQualifiedEditorEntryPointClassName());
+		stringBuffer.append(TEXT_7);
+		for (String source : genModel.getEditorModuleSources()) {
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(source);
+			stringBuffer.append(TEXT_9);
+		}
+		stringBuffer.append(TEXT_10);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Plugin.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Plugin.java
index df5a69c..c832694 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Plugin.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/Plugin.java
@@ -1,300 +1,299 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Plugin extends org.eclipse.egf.emf.pattern.base.GenModelJava {

-	protected static String nl;

-

-	public static synchronized Plugin create(String lineSeparator) {

-		nl = lineSeparator;

-		Plugin result = new Plugin();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the central singleton for the ";

-	protected final String TEXT_5 = " editor plugin." + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public final class ";

-	protected final String TEXT_6 = " extends EMFPlugin" + NL + "{";

-	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_8 = " copyright = ";

-	protected final String TEXT_9 = ";";

-	protected final String TEXT_10 = NL + "\t";

-	protected final String TEXT_11 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_12 = " INSTANCE = new ";

-	protected final String TEXT_13 = "();" + NL + "\t";

-	protected final String TEXT_14 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprivate static Implementation plugin;" + NL;

-	protected final String TEXT_15 = NL + "\t/**" + NL + "\t * Create the instance." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_16 = "()" + NL + "\t{" + NL + "\t\tsuper" + NL + "\t\t\t(new ResourceLocator [] " + NL

-			+ "\t\t\t{";

-	protected final String TEXT_17 = NL + "\t\t\t\t";

-	protected final String TEXT_18 = ".INSTANCE,";

-	protected final String TEXT_19 = NL + "\t\t\t});" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Returns the singleton instance of the Eclipse plugin." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the singleton instance." + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_20 = NL + "\t@Override";

-	protected final String TEXT_21 = NL + "\tpublic ResourceLocator getPluginResourceLocator()" + NL + "\t{";

-	protected final String TEXT_22 = NL + "\t\treturn null;";

-	protected final String TEXT_23 = NL + "\t\treturn plugin;";

-	protected final String TEXT_24 = NL + "\t}" + NL + "\t";

-	protected final String TEXT_25 = NL + "\t/**" + NL + "\t * Returns the singleton instance of the Eclipse plugin."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the singleton instance." + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static Implementation getPlugin()" + NL + "\t{" + NL + "\t\treturn plugin;" + NL + "\t}" + NL

-			+ "\t" + NL + "\t/**" + NL + "\t * The actual implementation of the Eclipse <b>Plugin</b>." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static class Implementation extends ";

-	protected final String TEXT_26 = NL + "\t{" + NL + "\t\t/**" + NL + "\t\t * Creates an instance." + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->";

-	protected final String TEXT_27 = NL + "\t\t * @param descriptor the description of the plugin.";

-	protected final String TEXT_28 = NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic Implementation(";

-	protected final String TEXT_29 = " descriptor";

-	protected final String TEXT_30 = ")" + NL + "\t\t{" + NL + "\t\t\tsuper(";

-	protected final String TEXT_31 = "descriptor";

-	protected final String TEXT_32 = ");" + NL + "\t" + NL + "\t\t\t// Remember the static instance." + NL + "\t\t\t//"

-			+ NL + "\t\t\tplugin = this;" + NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_33 = NL + "}";

-	protected final String TEXT_34 = NL;

-	protected final String TEXT_35 = NL;

-	protected final String TEXT_36 = NL;

-

-	public Plugin() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_35);

-		stringBuffer.append(TEXT_36);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPath = genModel.getEditorPluginDirectory();

-		packageName = genModel.getEditorPluginPackageName();

-		className = genModel.getEditorPluginClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2004 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getEditorPluginPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.addImport("org.eclipse.emf.common.EMFPlugin");

-		genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genModel.getModelName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genModel.getEditorPluginClassName());

-		stringBuffer.append(TEXT_6);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_10);

-		}

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(genModel.getEditorPluginClassName());

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(genModel.getEditorPluginClassName());

-		stringBuffer.append(TEXT_13);

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_14);

-		}

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(genModel.getEditorPluginClassName());

-		stringBuffer.append(TEXT_16);

-		for (String pluginClassName : genModel.getEditResourceDelegateImportedPluginClassNames()) {

-			stringBuffer.append(TEXT_17);

-			stringBuffer.append(pluginClassName);

-			stringBuffer.append(TEXT_18);

-		}

-		stringBuffer.append(TEXT_19);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_20);

-		}

-		stringBuffer.append(TEXT_21);

-		if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_22);

-		} else {

-			stringBuffer.append(TEXT_23);

-		}

-		stringBuffer.append(TEXT_24);

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.EclipseUIPlugin"));

-			stringBuffer.append(TEXT_26);

-			if (genModel.needsRuntimeCompatibility()) {

-				stringBuffer.append(TEXT_27);

-			}

-			stringBuffer.append(TEXT_28);

-			if (genModel.needsRuntimeCompatibility()) {

-				stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor"));

-				stringBuffer.append(TEXT_29);

-			}

-			stringBuffer.append(TEXT_30);

-			if (genModel.needsRuntimeCompatibility()) {

-				stringBuffer.append(TEXT_31);

-			}

-			stringBuffer.append(TEXT_32);

-		}

-		stringBuffer.append(TEXT_33);

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_34);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate && true;

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Plugin extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+	protected static String nl;
+
+	public static synchronized Plugin create(String lineSeparator) {
+		nl = lineSeparator;
+		Plugin result = new Plugin();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the central singleton for the ";
+	protected final String TEXT_5 = " editor plugin." + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public final class ";
+	protected final String TEXT_6 = " extends EMFPlugin" + NL + "{";
+	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_8 = " copyright = ";
+	protected final String TEXT_9 = ";";
+	protected final String TEXT_10 = NL + "\t";
+	protected final String TEXT_11 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static final ";
+	protected final String TEXT_12 = " INSTANCE = new ";
+	protected final String TEXT_13 = "();" + NL + "\t";
+	protected final String TEXT_14 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprivate static Implementation plugin;" + NL;
+	protected final String TEXT_15 = NL + "\t/**" + NL + "\t * Create the instance." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic ";
+	protected final String TEXT_16 = "()" + NL + "\t{" + NL + "\t\tsuper" + NL + "\t\t\t(new ResourceLocator [] " + NL
+			+ "\t\t\t{";
+	protected final String TEXT_17 = NL + "\t\t\t\t";
+	protected final String TEXT_18 = ".INSTANCE,";
+	protected final String TEXT_19 = NL + "\t\t\t});" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Returns the singleton instance of the Eclipse plugin." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the singleton instance." + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_20 = NL + "\t@Override";
+	protected final String TEXT_21 = NL + "\tpublic ResourceLocator getPluginResourceLocator()" + NL + "\t{";
+	protected final String TEXT_22 = NL + "\t\treturn null;";
+	protected final String TEXT_23 = NL + "\t\treturn plugin;";
+	protected final String TEXT_24 = NL + "\t}" + NL + "\t";
+	protected final String TEXT_25 = NL + "\t/**" + NL + "\t * Returns the singleton instance of the Eclipse plugin."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the singleton instance." + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static Implementation getPlugin()" + NL + "\t{" + NL + "\t\treturn plugin;" + NL + "\t}" + NL
+			+ "\t" + NL + "\t/**" + NL + "\t * The actual implementation of the Eclipse <b>Plugin</b>." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static class Implementation extends ";
+	protected final String TEXT_26 = NL + "\t{" + NL + "\t\t/**" + NL + "\t\t * Creates an instance." + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->";
+	protected final String TEXT_27 = NL + "\t\t * @param descriptor the description of the plugin.";
+	protected final String TEXT_28 = NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic Implementation(";
+	protected final String TEXT_29 = " descriptor";
+	protected final String TEXT_30 = ")" + NL + "\t\t{" + NL + "\t\t\tsuper(";
+	protected final String TEXT_31 = "descriptor";
+	protected final String TEXT_32 = ");" + NL + "\t" + NL + "\t\t\t// Remember the static instance." + NL + "\t\t\t//"
+			+ NL + "\t\t\tplugin = this;" + NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_33 = NL + "}";
+	protected final String TEXT_34 = NL;
+	protected final String TEXT_35 = NL;
+	protected final String TEXT_36 = NL;
+
+	public Plugin() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_35);
+		stringBuffer.append(TEXT_36);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPath = genModel.getEditorPluginDirectory();
+		packageName = genModel.getEditorPluginPackageName();
+		className = genModel.getEditorPluginClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2004 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getEditorPluginPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.addImport("org.eclipse.emf.common.EMFPlugin");
+		genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genModel.getModelName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genModel.getEditorPluginClassName());
+		stringBuffer.append(TEXT_6);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_10);
+		}
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(genModel.getEditorPluginClassName());
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(genModel.getEditorPluginClassName());
+		stringBuffer.append(TEXT_13);
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_14);
+		}
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(genModel.getEditorPluginClassName());
+		stringBuffer.append(TEXT_16);
+		for (String pluginClassName : genModel.getEditResourceDelegateImportedPluginClassNames()) {
+			stringBuffer.append(TEXT_17);
+			stringBuffer.append(pluginClassName);
+			stringBuffer.append(TEXT_18);
+		}
+		stringBuffer.append(TEXT_19);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_20);
+		}
+		stringBuffer.append(TEXT_21);
+		if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_22);
+		} else {
+			stringBuffer.append(TEXT_23);
+		}
+		stringBuffer.append(TEXT_24);
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.ui.EclipseUIPlugin"));
+			stringBuffer.append(TEXT_26);
+			if (genModel.needsRuntimeCompatibility()) {
+				stringBuffer.append(TEXT_27);
+			}
+			stringBuffer.append(TEXT_28);
+			if (genModel.needsRuntimeCompatibility()) {
+				stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor"));
+				stringBuffer.append(TEXT_29);
+			}
+			stringBuffer.append(TEXT_30);
+			if (genModel.needsRuntimeCompatibility()) {
+				stringBuffer.append(TEXT_31);
+			}
+			stringBuffer.append(TEXT_32);
+		}
+		stringBuffer.append(TEXT_33);
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_34);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && true;
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginProperties.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginProperties.java
index e0de944..ed35199 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginProperties.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginProperties.java
@@ -1,330 +1,326 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class PluginProperties extends org.eclipse.egf.emf.pattern.base.GenModelProperties {

-	protected static String nl;

-

-	public static synchronized PluginProperties create(String lineSeparator) {

-		nl = lineSeparator;

-		PluginProperties result = new PluginProperties();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + NL + "pluginName = ";

-	protected final String TEXT_3 = " Editor" + NL + "providerName = www.example.org";

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL + "_UI_";

-	protected final String TEXT_6 = "_menu = &";

-	protected final String TEXT_7 = " Editor";

-	protected final String TEXT_8 = NL;

-	protected final String TEXT_9 = NL + "_UI_CreateChild_menu_item = &New Child" + NL

-			+ "_UI_CreateSibling_menu_item = N&ew Sibling" + NL;

-	protected final String TEXT_10 = NL + "_UI_ShowPropertiesView_menu_item = Show &Properties View" + NL

-			+ "_UI_RefreshViewer_menu_item = &Refresh" + NL + "" + NL + "_UI_SelectionPage_label = Selection";

-	protected final String TEXT_11 = NL + "_UI_ParentPage_label = Parent" + NL + "_UI_ListPage_label = List" + NL

-			+ "_UI_TreePage_label = Tree" + NL + "_UI_TablePage_label = Table" + NL

-			+ "_UI_TreeWithColumnsPage_label = Tree with Columns" + NL + "_UI_ObjectColumn_label = Object" + NL

-			+ "_UI_SelfColumn_label = Self";

-	protected final String TEXT_12 = NL + NL + "_UI_NoObjectSelected = Selected Nothing" + NL

-			+ "_UI_SingleObjectSelected = Selected Object: {0}" + NL + "_UI_MultiObjectSelected = Selected {0} Objects"

-			+ NL + "" + NL + "_UI_OpenEditorError_label = Open Editor" + NL + "" + NL

-			+ "_UI_Wizard_category = Example EMF Model Creation Wizards" + NL + "" + NL

-			+ "_UI_CreateModelError_message = Problems encountered in file \"{0}\"" + NL;

-	protected final String TEXT_13 = NL + "_UI_";

-	protected final String TEXT_14 = "_label = ";

-	protected final String TEXT_15 = " Model" + NL + "_UI_";

-	protected final String TEXT_16 = "_description = Create a new ";

-	protected final String TEXT_17 = " model" + NL;

-	protected final String TEXT_18 = NL + "_UI_";

-	protected final String TEXT_19 = "_label = ";

-	protected final String TEXT_20 = " Model Editor" + NL + "" + NL + "_UI_";

-	protected final String TEXT_21 = "FilenameDefaultBase = My" + NL + "_UI_";

-	protected final String TEXT_22 = "FilenameExtensions = ";

-	protected final String TEXT_23 = NL;

-	protected final String TEXT_24 = NL + "_UI_Wizard_label = New" + NL + "" + NL

-			+ "_WARN_FilenameExtension = The file name must end in ''.{0}''" + NL

-			+ "_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}" + NL + "" + NL

-			+ "_UI_ModelObject = &Model Object" + NL + "_UI_XMLEncoding = &XML Encoding" + NL

-			+ "_UI_XMLEncodingChoices = ";

-	protected final String TEXT_25 = NL

-			+ "_UI_Wizard_initial_object_description = Specify a file name and select a model object to create";

-	protected final String TEXT_26 = NL + "_UI_Wizard_initial_object_description = Select a model object to create";

-	protected final String TEXT_27 = NL

-			+ NL

-			+ "_UI_FileConflict_label = File Conflict"

-			+ NL

-			+ "_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?"

-			+ NL;

-	protected final String TEXT_28 = NL + "_UI_";

-	protected final String TEXT_29 = "_ActionSet_label = ";

-	protected final String TEXT_30 = " Action Set" + NL + "_UI_Perspective_label = ";

-	protected final String TEXT_31 = NL + NL + "_UI_Browse_label = &Browse..." + NL + "_UI_File_label = &File" + NL

-			+ "_UI_Question_title = Question" + NL

-			+ "_WARN_FileConflict = The file \"{0}\" already exists.  Do you want to replace the existing file?" + NL

-			+ "_UI_Error_title = Error" + NL + "_WARN_No_Editor = There is no editor registered for the file \"{0}\"."

-			+ NL + "" + NL + "_UI_Application_title = ";

-	protected final String TEXT_32 = " Application" + NL + "_UI_Menu_File_label = &File" + NL

-			+ "_UI_Menu_New_label = &New" + NL + "_UI_Menu_Open_label = &Open..." + NL

-			+ "_UI_Menu_Open_description = Opens a model object file" + NL + "_UI_Menu_OpenURI_label = &Open URI..."

-			+ NL + "_UI_Menu_OpenURI_description = Opens a model object loading it from a URI" + NL

-			+ "_UI_Menu_Edit_label = &Edit" + NL + "_UI_Menu_Window_label = &Window" + NL

-			+ "_UI_Menu_Help_label = &Help" + NL + "_UI_Menu_About_label = ";

-	protected final String TEXT_33 = " &About..." + NL + "_UI_About_title = ";

-	protected final String TEXT_34 = " Application" + NL + "_UI_About_text = ";

-	protected final String TEXT_35 = " Application about box goes here." + NL;

-	protected final String TEXT_36 = NL + "_UI_";

-	protected final String TEXT_37 = "_ActionSet_label = ";

-	protected final String TEXT_38 = " Model Action Set";

-	protected final String TEXT_39 = NL;

-	protected final String TEXT_40 = NL;

-	protected final String TEXT_41 = NL;

-	protected final String TEXT_42 = NL;

-

-	public PluginProperties() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_41);

-		stringBuffer.append(TEXT_42);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditorProjectDirectory() + "/plugin.properties";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2006 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getModelName());

-		stringBuffer.append(TEXT_3);

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_4);

-			boolean hasMultiPageEditor = false;

-			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

-				if (genPackage.isMultipleEditorPages()) {

-					hasMultiPageEditor = true;

-				}

-				stringBuffer.append(TEXT_5);

-				stringBuffer.append(genPackage.getEditorClassName());

-				stringBuffer.append(TEXT_6);

-				stringBuffer.append(genPackage.getPrefix());

-				stringBuffer.append(TEXT_7);

-			}

-			stringBuffer.append(TEXT_8);

-			if (genModel.isCreationCommands()) {

-				stringBuffer.append(TEXT_9);

-			}

-			stringBuffer.append(TEXT_10);

-			if (hasMultiPageEditor) {

-				stringBuffer.append(TEXT_11);

-			}

-			stringBuffer.append(TEXT_12);

-			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

-				if (genPackage.isGenerateModelWizard()) {

-					stringBuffer.append(TEXT_13);

-					stringBuffer.append(genPackage.getModelWizardClassName());

-					stringBuffer.append(TEXT_14);

-					stringBuffer.append(genPackage.getPrefix());

-					stringBuffer.append(TEXT_15);

-					stringBuffer.append(genPackage.getModelWizardClassName());

-					stringBuffer.append(TEXT_16);

-					stringBuffer.append(genPackage.getPrefix());

-					stringBuffer.append(TEXT_17);

-				}

-				stringBuffer.append(TEXT_18);

-				stringBuffer.append(genPackage.getEditorClassName());

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(genPackage.getPrefix());

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genPackage.getEditorClassName());

-				stringBuffer.append(TEXT_21);

-				stringBuffer.append(genPackage.getEditorClassName());

-				stringBuffer.append(TEXT_22);

-				stringBuffer.append(genPackage.getFileExtensions());

-				stringBuffer.append(TEXT_23);

-			}

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(genModel.getXMLEncodingChoices());

-			if (genModel.isRichClientPlatform()) {

-				stringBuffer.append(TEXT_25);

-			} else {

-				stringBuffer.append(TEXT_26);

-			}

-			stringBuffer.append(TEXT_27);

-			if (genModel.isRichClientPlatform()) {

-				stringBuffer.append(TEXT_28);

-				stringBuffer.append(genModel.getEditorAdvisorClassName());

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(genModel.getModelName());

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(genModel.getModelName());

-				stringBuffer.append(TEXT_31);

-				stringBuffer.append(genModel.getModelName());

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genModel.getModelName());

-				stringBuffer.append(TEXT_33);

-				stringBuffer.append(genModel.getModelName());

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genModel.getModelName());

-				stringBuffer.append(TEXT_35);

-				for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

-					if (genPackage.isGenerateModelWizard()) {

-						stringBuffer.append(TEXT_36);

-						stringBuffer.append(genPackage.getModelWizardClassName());

-						stringBuffer.append(TEXT_37);

-						stringBuffer.append(genPackage.getPrefix());

-						stringBuffer.append(TEXT_38);

-					}

-				}

-				stringBuffer.append(TEXT_39);

-			}

-		}

-		stringBuffer.append(TEXT_40);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate && true;

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginProperties extends org.eclipse.egf.emf.pattern.base.GenModelProperties {
+	protected static String nl;
+
+	public static synchronized PluginProperties create(String lineSeparator) {
+		nl = lineSeparator;
+		PluginProperties result = new PluginProperties();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + NL + "pluginName = ";
+	protected final String TEXT_3 = " Editor" + NL + "providerName = www.example.org";
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL + "_UI_";
+	protected final String TEXT_6 = "_menu = &";
+	protected final String TEXT_7 = " Editor";
+	protected final String TEXT_8 = NL;
+	protected final String TEXT_9 = NL + "_UI_CreateChild_menu_item = &New Child" + NL
+			+ "_UI_CreateSibling_menu_item = N&ew Sibling" + NL;
+	protected final String TEXT_10 = NL + "_UI_ShowPropertiesView_menu_item = Show &Properties View" + NL
+			+ "_UI_RefreshViewer_menu_item = &Refresh" + NL + "" + NL + "_UI_SelectionPage_label = Selection";
+	protected final String TEXT_11 = NL + "_UI_ParentPage_label = Parent" + NL + "_UI_ListPage_label = List" + NL
+			+ "_UI_TreePage_label = Tree" + NL + "_UI_TablePage_label = Table" + NL
+			+ "_UI_TreeWithColumnsPage_label = Tree with Columns" + NL + "_UI_ObjectColumn_label = Object" + NL
+			+ "_UI_SelfColumn_label = Self";
+	protected final String TEXT_12 = NL + NL + "_UI_NoObjectSelected = Selected Nothing" + NL
+			+ "_UI_SingleObjectSelected = Selected Object: {0}" + NL + "_UI_MultiObjectSelected = Selected {0} Objects"
+			+ NL + "" + NL + "_UI_OpenEditorError_label = Open Editor" + NL + "" + NL
+			+ "_UI_Wizard_category = Example EMF Model Creation Wizards" + NL + "" + NL
+			+ "_UI_CreateModelError_message = Problems encountered in file \"{0}\"" + NL;
+	protected final String TEXT_13 = NL + "_UI_";
+	protected final String TEXT_14 = "_label = ";
+	protected final String TEXT_15 = " Model" + NL + "_UI_";
+	protected final String TEXT_16 = "_description = Create a new ";
+	protected final String TEXT_17 = " model" + NL;
+	protected final String TEXT_18 = NL + "_UI_";
+	protected final String TEXT_19 = "_label = ";
+	protected final String TEXT_20 = " Model Editor" + NL + "" + NL + "_UI_";
+	protected final String TEXT_21 = "FilenameDefaultBase = My" + NL + "_UI_";
+	protected final String TEXT_22 = "FilenameExtensions = ";
+	protected final String TEXT_23 = NL;
+	protected final String TEXT_24 = NL + "_UI_Wizard_label = New" + NL + "" + NL
+			+ "_WARN_FilenameExtension = The file name must end in ''.{0}''" + NL
+			+ "_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}" + NL + "" + NL
+			+ "_UI_ModelObject = &Model Object" + NL + "_UI_XMLEncoding = &XML Encoding" + NL
+			+ "_UI_XMLEncodingChoices = ";
+	protected final String TEXT_25 = NL
+			+ "_UI_Wizard_initial_object_description = Specify a file name and select a model object to create";
+	protected final String TEXT_26 = NL + "_UI_Wizard_initial_object_description = Select a model object to create";
+	protected final String TEXT_27 = NL + NL + "_UI_FileConflict_label = File Conflict" + NL
+			+ "_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?"
+			+ NL;
+	protected final String TEXT_28 = NL + "_UI_";
+	protected final String TEXT_29 = "_ActionSet_label = ";
+	protected final String TEXT_30 = " Action Set" + NL + "_UI_Perspective_label = ";
+	protected final String TEXT_31 = NL + NL + "_UI_Browse_label = &Browse..." + NL + "_UI_File_label = &File" + NL
+			+ "_UI_Question_title = Question" + NL
+			+ "_WARN_FileConflict = The file \"{0}\" already exists.  Do you want to replace the existing file?" + NL
+			+ "_UI_Error_title = Error" + NL + "_WARN_No_Editor = There is no editor registered for the file \"{0}\"."
+			+ NL + "" + NL + "_UI_Application_title = ";
+	protected final String TEXT_32 = " Application" + NL + "_UI_Menu_File_label = &File" + NL
+			+ "_UI_Menu_New_label = &New" + NL + "_UI_Menu_Open_label = &Open..." + NL
+			+ "_UI_Menu_Open_description = Opens a model object file" + NL + "_UI_Menu_OpenURI_label = &Open URI..."
+			+ NL + "_UI_Menu_OpenURI_description = Opens a model object loading it from a URI" + NL
+			+ "_UI_Menu_Edit_label = &Edit" + NL + "_UI_Menu_Window_label = &Window" + NL
+			+ "_UI_Menu_Help_label = &Help" + NL + "_UI_Menu_About_label = ";
+	protected final String TEXT_33 = " &About..." + NL + "_UI_About_title = ";
+	protected final String TEXT_34 = " Application" + NL + "_UI_About_text = ";
+	protected final String TEXT_35 = " Application about box goes here." + NL;
+	protected final String TEXT_36 = NL + "_UI_";
+	protected final String TEXT_37 = "_ActionSet_label = ";
+	protected final String TEXT_38 = " Model Action Set";
+	protected final String TEXT_39 = NL;
+	protected final String TEXT_40 = NL;
+	protected final String TEXT_41 = NL;
+	protected final String TEXT_42 = NL;
+
+	public PluginProperties() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_41);
+		stringBuffer.append(TEXT_42);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditorProjectDirectory() + "/plugin.properties";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2006 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getModelName());
+		stringBuffer.append(TEXT_3);
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_4);
+			boolean hasMultiPageEditor = false;
+			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+				if (genPackage.isMultipleEditorPages()) {
+					hasMultiPageEditor = true;
+				}
+				stringBuffer.append(TEXT_5);
+				stringBuffer.append(genPackage.getEditorClassName());
+				stringBuffer.append(TEXT_6);
+				stringBuffer.append(genPackage.getPrefix());
+				stringBuffer.append(TEXT_7);
+			}
+			stringBuffer.append(TEXT_8);
+			if (genModel.isCreationCommands()) {
+				stringBuffer.append(TEXT_9);
+			}
+			stringBuffer.append(TEXT_10);
+			if (hasMultiPageEditor) {
+				stringBuffer.append(TEXT_11);
+			}
+			stringBuffer.append(TEXT_12);
+			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+				if (genPackage.isGenerateModelWizard()) {
+					stringBuffer.append(TEXT_13);
+					stringBuffer.append(genPackage.getModelWizardClassName());
+					stringBuffer.append(TEXT_14);
+					stringBuffer.append(genPackage.getPrefix());
+					stringBuffer.append(TEXT_15);
+					stringBuffer.append(genPackage.getModelWizardClassName());
+					stringBuffer.append(TEXT_16);
+					stringBuffer.append(genPackage.getPrefix());
+					stringBuffer.append(TEXT_17);
+				}
+				stringBuffer.append(TEXT_18);
+				stringBuffer.append(genPackage.getEditorClassName());
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(genPackage.getPrefix());
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genPackage.getEditorClassName());
+				stringBuffer.append(TEXT_21);
+				stringBuffer.append(genPackage.getEditorClassName());
+				stringBuffer.append(TEXT_22);
+				stringBuffer.append(genPackage.getFileExtensions());
+				stringBuffer.append(TEXT_23);
+			}
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(genModel.getXMLEncodingChoices());
+			if (genModel.isRichClientPlatform()) {
+				stringBuffer.append(TEXT_25);
+			} else {
+				stringBuffer.append(TEXT_26);
+			}
+			stringBuffer.append(TEXT_27);
+			if (genModel.isRichClientPlatform()) {
+				stringBuffer.append(TEXT_28);
+				stringBuffer.append(genModel.getEditorAdvisorClassName());
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(genModel.getModelName());
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(genModel.getModelName());
+				stringBuffer.append(TEXT_31);
+				stringBuffer.append(genModel.getModelName());
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genModel.getModelName());
+				stringBuffer.append(TEXT_33);
+				stringBuffer.append(genModel.getModelName());
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genModel.getModelName());
+				stringBuffer.append(TEXT_35);
+				for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+					if (genPackage.isGenerateModelWizard()) {
+						stringBuffer.append(TEXT_36);
+						stringBuffer.append(genPackage.getModelWizardClassName());
+						stringBuffer.append(TEXT_37);
+						stringBuffer.append(genPackage.getPrefix());
+						stringBuffer.append(TEXT_38);
+					}
+				}
+				stringBuffer.append(TEXT_39);
+			}
+		}
+		stringBuffer.append(TEXT_40);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && true;
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginXML.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginXML.java
index 06ff5f7..fe45db2 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginXML.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/PluginXML.java
@@ -1,662 +1,661 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class PluginXML extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized PluginXML create(String lineSeparator) {

-		nl = lineSeparator;

-		PluginXML result = new PluginXML();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<?eclipse version=\"3.0\"?>"

-			+ NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL;

-	protected final String TEXT_4 = NL + "<plugin>";

-	protected final String TEXT_5 = NL + "<plugin" + NL + "      name=\"%pluginName\"" + NL + "      id=\"";

-	protected final String TEXT_6 = "\"" + NL + "      version=\"1.0.0\"" + NL

-			+ "      provider-name=\"%providerName\"" + NL + "      class=\"";

-	protected final String TEXT_7 = "$Implementation\">" + NL + "" + NL + "   <requires>";

-	protected final String TEXT_8 = NL + "      <import plugin=\"";

-	protected final String TEXT_9 = "\"";

-	protected final String TEXT_10 = " export=\"true\"";

-	protected final String TEXT_11 = "/>";

-	protected final String TEXT_12 = NL + "   </requires>" + NL + "" + NL + "   <runtime>";

-	protected final String TEXT_13 = NL + "      <library name=\"";

-	protected final String TEXT_14 = ".jar\">";

-	protected final String TEXT_15 = NL + "      <library name=\".\">";

-	protected final String TEXT_16 = NL + "         <export name=\"*\"/>" + NL + "      </library>" + NL

-			+ "   </runtime>";

-	protected final String TEXT_17 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.generated_package\">";

-	protected final String TEXT_18 = NL + "      <!-- @generated ";

-	protected final String TEXT_19 = " -->";

-	protected final String TEXT_20 = NL + "      <package" + NL + "            uri=\"";

-	protected final String TEXT_21 = "\"";

-	protected final String TEXT_22 = NL + "            class=\"";

-	protected final String TEXT_23 = "\"" + NL + "            genModel=\"";

-	protected final String TEXT_24 = "\"/>";

-	protected final String TEXT_25 = NL + "            class=\"";

-	protected final String TEXT_26 = "\"/>";

-	protected final String TEXT_27 = NL + "   </extension>";

-	protected final String TEXT_28 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.content_parser\">";

-	protected final String TEXT_29 = NL + "      <!-- @generated ";

-	protected final String TEXT_30 = " -->";

-	protected final String TEXT_31 = NL + "      <parser" + NL + "            contentTypeIdentifier=\"";

-	protected final String TEXT_32 = "\"" + NL + "            class=\"";

-	protected final String TEXT_33 = "\"/>" + NL + "   </extension>" + NL + "" + NL

-			+ "   <extension point=\"org.eclipse.core.contenttype.contentTypes\">";

-	protected final String TEXT_34 = NL + "      <!-- @generated ";

-	protected final String TEXT_35 = " -->";

-	protected final String TEXT_36 = NL + "      <content-type" + NL + "            base-type=\"";

-	protected final String TEXT_37 = "\"" + NL + "            file-extensions=\"";

-	protected final String TEXT_38 = "\"" + NL + "            id=\"";

-	protected final String TEXT_39 = "\"" + NL + "            name=\"%_UI_";

-	protected final String TEXT_40 = "_content_type\"" + NL + "            priority=\"normal\">" + NL

-			+ "         <describer class=\"org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer\">";

-	protected final String TEXT_41 = NL + "            <parameter name=\"namespace\" value=\"";

-	protected final String TEXT_42 = "\"/>";

-	protected final String TEXT_43 = NL + "            <parameter name=\"kind\" value=\"xmi\"/>";

-	protected final String TEXT_44 = NL + "         </describer>" + NL + "      </content-type>" + NL

-			+ "   </extension>";

-	protected final String TEXT_45 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.extension_parser\">";

-	protected final String TEXT_46 = NL + "      <!-- @generated ";

-	protected final String TEXT_47 = " -->";

-	protected final String TEXT_48 = NL + "      <parser" + NL + "            type=\"";

-	protected final String TEXT_49 = "\"" + NL + "            class=\"";

-	protected final String TEXT_50 = "\"/>";

-	protected final String TEXT_51 = NL + "   </extension>";

-	protected final String TEXT_52 = NL + NL

-			+ "   <extension point=\"org.eclipse.emf.edit.itemProviderAdapterFactories\">";

-	protected final String TEXT_53 = NL + "      <!-- @generated ";

-	protected final String TEXT_54 = " -->";

-	protected final String TEXT_55 = NL + "      <factory" + NL + "            uri=\"";

-	protected final String TEXT_56 = "\"" + NL + "            class=\"";

-	protected final String TEXT_57 = "\"" + NL + "            supportedTypes=";

-	protected final String TEXT_58 = NL + "              ";

-	protected final String TEXT_59 = "\"/>";

-	protected final String TEXT_60 = NL + "   </extension>";

-	protected final String TEXT_61 = NL + NL + "   <extension point=\"org.eclipse.emf.edit.childCreationExtenders\">";

-	protected final String TEXT_62 = NL + "      <!-- @generated ";

-	protected final String TEXT_63 = " -->";

-	protected final String TEXT_64 = NL + "      <extender" + NL + "            uri=\"";

-	protected final String TEXT_65 = "\"" + NL + "            class=\"";

-	protected final String TEXT_66 = "$";

-	protected final String TEXT_67 = "\"/>";

-	protected final String TEXT_68 = NL + "   </extension>";

-	protected final String TEXT_69 = NL + NL + "   <extension" + NL

-			+ "         point=\"org.eclipse.core.runtime.applications\"" + NL + "         id=\"";

-	protected final String TEXT_70 = "Application\">";

-	protected final String TEXT_71 = NL + "      <!-- @generated ";

-	protected final String TEXT_72 = " -->";

-	protected final String TEXT_73 = NL + "      <application>" + NL + "         <run class=\"";

-	protected final String TEXT_74 = "$Application\"/>" + NL + "      </application>" + NL + "   </extension>" + NL

-			+ "" + NL + "   <extension point=\"org.eclipse.ui.perspectives\">";

-	protected final String TEXT_75 = NL + "      <!-- @generated ";

-	protected final String TEXT_76 = " -->";

-	protected final String TEXT_77 = NL + "      <perspective" + NL + "            name=\"%_UI_Perspective_label\""

-			+ NL + "            class=\"";

-	protected final String TEXT_78 = "$Perspective\"" + NL + "            id=\"";

-	protected final String TEXT_79 = "Perspective\">" + NL + "      </perspective>" + NL + "   </extension>" + NL + ""

-			+ NL + "   <extension point=\"org.eclipse.ui.commands\">";

-	protected final String TEXT_80 = NL + "      <!-- @generated ";

-	protected final String TEXT_81 = " -->";

-	protected final String TEXT_82 = NL + "      <command" + NL + "            name=\"%_UI_Menu_OpenURI_label\"" + NL

-			+ "            description=\"%_UI_Menu_OpenURI_description\"" + NL

-			+ "            categoryId=\"org.eclipse.ui.category.file\"" + NL + "            id=\"";

-	protected final String TEXT_83 = "OpenURICommand\"/>";

-	protected final String TEXT_84 = NL + "      <command" + NL + "            name=\"%_UI_Menu_Open_label\"" + NL

-			+ "            description=\"%_UI_Menu_Open_description\"" + NL

-			+ "            categoryId=\"org.eclipse.ui.category.file\"" + NL + "            id=\"";

-	protected final String TEXT_85 = "OpenCommand\"/>";

-	protected final String TEXT_86 = NL + "   </extension>" + NL;

-	protected final String TEXT_87 = NL + "   <extension point=\"org.eclipse.ui.bindings\">";

-	protected final String TEXT_88 = NL + "      <!-- @generated ";

-	protected final String TEXT_89 = " -->";

-	protected final String TEXT_90 = NL + "      <key" + NL + "            commandId=\"";

-	protected final String TEXT_91 = "OpenURICommand\"" + NL + "            sequence=\"M1+U\"" + NL

-			+ "            schemeId=\"org.eclipse.ui.defaultAcceleratorConfiguration\"/>" + NL + "      <key" + NL

-			+ "            commandId=\"";

-	protected final String TEXT_92 = "OpenCommand\"" + NL + "            sequence=\"M1+O\"" + NL

-			+ "            schemeId=\"org.eclipse.ui.defaultAcceleratorConfiguration\"/>" + NL + "   </extension>";

-	protected final String TEXT_93 = NL + NL + "   <extension point=\"org.eclipse.ui.actionSets\">";

-	protected final String TEXT_94 = NL + "      <!-- @generated ";

-	protected final String TEXT_95 = " -->";

-	protected final String TEXT_96 = NL + "      <actionSet" + NL + "            label=\"%_UI_";

-	protected final String TEXT_97 = "_ActionSet_label\"" + NL + "            visible=\"true\"" + NL

-			+ "            id=\"";

-	protected final String TEXT_98 = "ActionSet\">" + NL + "         <action" + NL

-			+ "               label=\"%_UI_Menu_About_label\"" + NL + "               class=\"";

-	protected final String TEXT_99 = "$AboutAction\"" + NL + "               menubarPath=\"help/additions\"" + NL

-			+ "               id=\"";

-	protected final String TEXT_100 = "AboutAction\"/>" + NL + "         <action" + NL

-			+ "               label=\"%_UI_Menu_OpenURI_label\"" + NL + "               definitionId=\"";

-	protected final String TEXT_101 = "OpenURICommand\"" + NL + "               class=\"";

-	protected final String TEXT_102 = "$OpenURIAction\"" + NL + "               menubarPath=\"file/additions\"" + NL

-			+ "               id=\"";

-	protected final String TEXT_103 = "OpenURIAction\"/>";

-	protected final String TEXT_104 = NL + "         <action" + NL + "               label=\"%_UI_Menu_Open_label\""

-			+ NL + "               definitionId=\"";

-	protected final String TEXT_105 = "OpenCommand\"" + NL + "               class=\"";

-	protected final String TEXT_106 = "$OpenAction\"" + NL + "               menubarPath=\"file/additions\"" + NL

-			+ "               id=\"";

-	protected final String TEXT_107 = "OpenAction\"/>";

-	protected final String TEXT_108 = NL + "      </actionSet>" + NL + "   </extension>";

-	protected final String TEXT_109 = NL + NL + "   <extension point=\"org.eclipse.ui.actionSets\">";

-	protected final String TEXT_110 = NL + "      <!-- @generated ";

-	protected final String TEXT_111 = " -->";

-	protected final String TEXT_112 = NL + "      <actionSet" + NL + "            label=\"%_UI_";

-	protected final String TEXT_113 = "_ActionSet_label\"" + NL + "            visible=\"true\"" + NL

-			+ "            id=\"";

-	protected final String TEXT_114 = "ActionSet\">" + NL + "         <action" + NL + "               label=\"%_UI_";

-	protected final String TEXT_115 = "_label\"" + NL + "               class=\"";

-	protected final String TEXT_116 = "$NewAction\"" + NL + "               menubarPath=\"file/new/additions\"" + NL

-			+ "               id=\"";

-	protected final String TEXT_117 = "NewAction\"/>" + NL + "      </actionSet>" + NL + "   </extension>";

-	protected final String TEXT_118 = NL + NL + "   <extension point=\"org.eclipse.ui.newWizards\">";

-	protected final String TEXT_119 = NL + "      <!-- @generated ";

-	protected final String TEXT_120 = " -->";

-	protected final String TEXT_121 = NL + "      <category" + NL

-			+ "            id=\"org.eclipse.emf.ecore.Wizard.category.ID\"" + NL

-			+ "            name=\"%_UI_Wizard_category\"/>" + NL + "      <wizard" + NL + "            id=\"";

-	protected final String TEXT_122 = "ID\"" + NL + "            name=\"%_UI_";

-	protected final String TEXT_123 = "_label\"" + NL + "            class=\"";

-	protected final String TEXT_124 = "\"" + NL + "            category=\"org.eclipse.emf.ecore.Wizard.category.ID\""

-			+ NL + "            icon=\"icons/full/obj16/";

-	protected final String TEXT_125 = "ModelFile.gif\">" + NL + "         <description>%_UI_";

-	protected final String TEXT_126 = "_description</description>" + NL

-			+ "         <selection class=\"org.eclipse.core.resources.IResource\"/>" + NL + "      </wizard>" + NL

-			+ "   </extension>";

-	protected final String TEXT_127 = NL + NL + "   <extension point=\"org.eclipse.ui.editors\">";

-	protected final String TEXT_128 = NL + "      <!-- @generated ";

-	protected final String TEXT_129 = " -->";

-	protected final String TEXT_130 = NL + "      <editor" + NL + "            id=\"";

-	protected final String TEXT_131 = "ID\"" + NL + "            name=\"%_UI_";

-	protected final String TEXT_132 = "_label\"" + NL + "            icon=\"icons/full/obj16/";

-	protected final String TEXT_133 = "ModelFile.gif\"";

-	protected final String TEXT_134 = NL + "            extensions=\"";

-	protected final String TEXT_135 = "\"";

-	protected final String TEXT_136 = NL + "            class=\"";

-	protected final String TEXT_137 = "\"" + NL + "            contributorClass=\"";

-	protected final String TEXT_138 = "\">";

-	protected final String TEXT_139 = NL + "         <contentTypeBinding contentTypeId=\"";

-	protected final String TEXT_140 = "\"/>";

-	protected final String TEXT_141 = NL + "      </editor>" + NL + "   </extension>";

-	protected final String TEXT_142 = NL + NL + "</plugin>" + NL;

-	protected final String TEXT_143 = NL;

-	protected final String TEXT_144 = NL;

-

-	public PluginXML() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_143);

-		stringBuffer.append(TEXT_144);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditorProjectDirectory() + "/plugin.xml";

-		overwrite = true;

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2010 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		String key = genModel.getPluginKey();

-		boolean hasKey = key != null && !key.equals("");

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_3);

-		if (genModel.isBundleManifest()) {

-			stringBuffer.append(TEXT_4);

-		} else {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genModel.getEditorPluginID());

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genModel.getQualifiedEditorPluginClassName());

-			stringBuffer.append(TEXT_7);

-			for (String pluginID : genModel.getEditorRequiredPlugins()) {

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(pluginID);

-				stringBuffer.append(TEXT_9);

-				if (!pluginID.startsWith("org.eclipse.core.runtime")) {

-					stringBuffer.append(TEXT_10);

-				}

-				stringBuffer.append(TEXT_11);

-			}

-			stringBuffer.append(TEXT_12);

-			if (genModel.isRuntimeJar()) {

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(genModel.getEditorPluginID());

-				stringBuffer.append(TEXT_14);

-			} else {

-				stringBuffer.append(TEXT_15);

-			}

-			stringBuffer.append(TEXT_16);

-		}

-		if (genModel.sameModelEditorProject()) {

-			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

-				stringBuffer.append(TEXT_17);

-				if (hasKey) {

-					stringBuffer.append(TEXT_18);

-					stringBuffer.append(key);

-					stringBuffer.append(TEXT_19);

-				}

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genPackage.getNSURI());

-				stringBuffer.append(TEXT_21);

-				if (genModel.hasLocalGenModel()) {

-					stringBuffer.append(TEXT_22);

-					stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-					stringBuffer.append(TEXT_23);

-					stringBuffer.append(genModel.getRelativeGenModelLocation());

-					stringBuffer.append(TEXT_24);

-				} else {

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-					stringBuffer.append(TEXT_26);

-				}

-				stringBuffer.append(TEXT_27);

-				if (genPackage.isContentType()) {

-					stringBuffer.append(TEXT_28);

-					if (hasKey) {

-						stringBuffer.append(TEXT_29);

-						stringBuffer.append(key);

-						stringBuffer.append(TEXT_30);

-					}

-					stringBuffer.append(TEXT_31);

-					stringBuffer.append(genPackage.getContentTypeIdentifier());

-					stringBuffer.append(TEXT_32);

-					stringBuffer.append(genPackage.getQualifiedEffectiveResourceFactoryClassName());

-					stringBuffer.append(TEXT_33);

-					if (hasKey) {

-						stringBuffer.append(TEXT_34);

-						stringBuffer.append(key);

-						stringBuffer.append(TEXT_35);

-					}

-					stringBuffer.append(TEXT_36);

-					stringBuffer.append(genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi"

-							: "org.eclipse.core.runtime.xml");

-					stringBuffer.append(TEXT_37);

-					stringBuffer.append(genPackage.getFileExtensions());

-					stringBuffer.append(TEXT_38);

-					stringBuffer.append(genPackage.getContentTypeIdentifier());

-					stringBuffer.append(TEXT_39);

-					stringBuffer.append(genPackage.getPrefix());

-					stringBuffer.append(TEXT_40);

-					if (genPackage.hasTargetNamespace()) {

-						stringBuffer.append(TEXT_41);

-						stringBuffer.append(genPackage.getNSURI());

-						stringBuffer.append(TEXT_42);

-					}

-					if (genPackage.isXMIResource()) {

-						stringBuffer.append(TEXT_43);

-					}

-					stringBuffer.append(TEXT_44);

-				} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {

-					stringBuffer.append(TEXT_45);

-					if (hasKey) {

-						stringBuffer.append(TEXT_46);

-						stringBuffer.append(key);

-						stringBuffer.append(TEXT_47);

-					}

-					for (String fileExtension : genPackage.getFileExtensionList()) {

-						stringBuffer.append(TEXT_48);

-						stringBuffer.append(fileExtension);

-						stringBuffer.append(TEXT_49);

-						stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());

-						stringBuffer.append(TEXT_50);

-					}

-					stringBuffer.append(TEXT_51);

-				}

-			}

-		}

-		if (genModel.sameEditEditorProject()) {

-			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

-				if (!genPackage.getGenClasses().isEmpty()) {

-					stringBuffer.append(TEXT_52);

-					if (hasKey) {

-						stringBuffer.append(TEXT_53);

-						stringBuffer.append(key);

-						stringBuffer.append(TEXT_54);

-					}

-					stringBuffer.append(TEXT_55);

-					stringBuffer.append(genPackage.getNSURI());

-					stringBuffer.append(TEXT_56);

-					stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());

-					stringBuffer.append(TEXT_57);

-					for (ListIterator<?> j = genPackage.getProviderSupportedTypes().listIterator(); j.hasNext();) {

-						stringBuffer.append(TEXT_58);

-						stringBuffer.append(j.hasPrevious() ? " " : "\"");

-						stringBuffer.append(j.next());

-						if (!j.hasNext()) {

-							stringBuffer.append(TEXT_59);

-						}

-					}

-					stringBuffer.append(TEXT_60);

-					if (genPackage.isChildCreationExtenders()) {

-						Map<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> extendedChildCreationData = genPackage

-								.getExtendedChildCreationData();

-						if (!extendedChildCreationData.isEmpty()) {

-							stringBuffer.append(TEXT_61);

-							for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> entry : extendedChildCreationData

-									.entrySet()) {

-								if (hasKey) {

-									stringBuffer.append(TEXT_62);

-									stringBuffer.append(key);

-									stringBuffer.append(TEXT_63);

-								}

-								stringBuffer.append(TEXT_64);

-								stringBuffer.append(entry.getKey().getNSURI());

-								stringBuffer.append(TEXT_65);

-								stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());

-								stringBuffer.append(TEXT_66);

-								stringBuffer.append(genPackage.getChildCreationExtenderName(entry.getKey()));

-								stringBuffer.append(TEXT_67);

-							}

-							stringBuffer.append(TEXT_68);

-						}

-					}

-				}

-			}

-		}

-		if (genModel.isRichClientPlatform()) {

-			stringBuffer.append(TEXT_69);

-			stringBuffer.append(genModel.getEditorAdvisorClassName());

-			stringBuffer.append(TEXT_70);

-			if (hasKey) {

-				stringBuffer.append(TEXT_71);

-				stringBuffer.append(key);

-				stringBuffer.append(TEXT_72);

-			}

-			stringBuffer.append(TEXT_73);

-			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-			stringBuffer.append(TEXT_74);

-			if (hasKey) {

-				stringBuffer.append(TEXT_75);

-				stringBuffer.append(key);

-				stringBuffer.append(TEXT_76);

-			}

-			stringBuffer.append(TEXT_77);

-			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-			stringBuffer.append(TEXT_78);

-			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-			stringBuffer.append(TEXT_79);

-			if (hasKey) {

-				stringBuffer.append(TEXT_80);

-				stringBuffer.append(key);

-				stringBuffer.append(TEXT_81);

-			}

-			stringBuffer.append(TEXT_82);

-			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-			stringBuffer.append(TEXT_83);

-			if (!genModel.isRichAjaxPlatform()) {

-				stringBuffer.append(TEXT_84);

-				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-				stringBuffer.append(TEXT_85);

-			}

-			stringBuffer.append(TEXT_86);

-			if (!genModel.isRichAjaxPlatform()) {

-				stringBuffer.append(TEXT_87);

-				if (hasKey) {

-					stringBuffer.append(TEXT_88);

-					stringBuffer.append(key);

-					stringBuffer.append(TEXT_89);

-				}

-				stringBuffer.append(TEXT_90);

-				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-				stringBuffer.append(TEXT_91);

-				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-				stringBuffer.append(TEXT_92);

-			}

-			stringBuffer.append(TEXT_93);

-			if (hasKey) {

-				stringBuffer.append(TEXT_94);

-				stringBuffer.append(key);

-				stringBuffer.append(TEXT_95);

-			}

-			stringBuffer.append(TEXT_96);

-			stringBuffer.append(genModel.getEditorAdvisorClassName());

-			stringBuffer.append(TEXT_97);

-			stringBuffer.append(genModel.getEditorAdvisorClassName());

-			stringBuffer.append(TEXT_98);

-			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-			stringBuffer.append(TEXT_99);

-			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-			stringBuffer.append(TEXT_100);

-			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-			stringBuffer.append(TEXT_101);

-			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-			stringBuffer.append(TEXT_102);

-			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-			stringBuffer.append(TEXT_103);

-			if (!genModel.isRichAjaxPlatform()) {

-				stringBuffer.append(TEXT_104);

-				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-				stringBuffer.append(TEXT_105);

-				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-				stringBuffer.append(TEXT_106);

-				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());

-				stringBuffer.append(TEXT_107);

-			}

-			stringBuffer.append(TEXT_108);

-		}

-		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

-			if (genPackage.hasConcreteClasses()) {

-				if (genPackage.isGenerateModelWizard()) {

-					if (genModel.isRichClientPlatform()) {

-						stringBuffer.append(TEXT_109);

-						if (hasKey) {

-							stringBuffer.append(TEXT_110);

-							stringBuffer.append(key);

-							stringBuffer.append(TEXT_111);

-						}

-						stringBuffer.append(TEXT_112);

-						stringBuffer.append(genPackage.getModelWizardClassName());

-						stringBuffer.append(TEXT_113);

-						stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());

-						stringBuffer.append(TEXT_114);

-						stringBuffer.append(genPackage.getModelWizardClassName());

-						stringBuffer.append(TEXT_115);

-						stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());

-						stringBuffer.append(TEXT_116);

-						stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());

-						stringBuffer.append(TEXT_117);

-					} else {

-						stringBuffer.append(TEXT_118);

-						if (hasKey) {

-							stringBuffer.append(TEXT_119);

-							stringBuffer.append(key);

-							stringBuffer.append(TEXT_120);

-						}

-						stringBuffer.append(TEXT_121);

-						stringBuffer.append(genPackage.getQualifiedModelWizardClassName());

-						stringBuffer.append(TEXT_122);

-						stringBuffer.append(genPackage.getModelWizardClassName());

-						stringBuffer.append(TEXT_123);

-						stringBuffer.append(genPackage.getQualifiedModelWizardClassName());

-						stringBuffer.append(TEXT_124);

-						stringBuffer.append(genPackage.getPrefix());

-						stringBuffer.append(TEXT_125);

-						stringBuffer.append(genPackage.getModelWizardClassName());

-						stringBuffer.append(TEXT_126);

-					}

-				}

-				stringBuffer.append(TEXT_127);

-				if (hasKey) {

-					stringBuffer.append(TEXT_128);

-					stringBuffer.append(key);

-					stringBuffer.append(TEXT_129);

-				}

-				stringBuffer.append(TEXT_130);

-				stringBuffer.append(genPackage.getQualifiedEditorClassName());

-				stringBuffer.append(TEXT_131);

-				stringBuffer.append(genPackage.getEditorClassName());

-				stringBuffer.append(TEXT_132);

-				stringBuffer.append(genPackage.getPrefix());

-				stringBuffer.append(TEXT_133);

-				if (!genPackage.isContentType()) {

-					stringBuffer.append(TEXT_134);

-					stringBuffer.append(genPackage.getFileExtensions());

-					stringBuffer.append(TEXT_135);

-				}

-				stringBuffer.append(TEXT_136);

-				stringBuffer.append(genPackage.getQualifiedEditorClassName());

-				stringBuffer.append(TEXT_137);

-				stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());

-				stringBuffer.append(TEXT_138);

-				if (genPackage.isContentType()) {

-					stringBuffer.append(TEXT_139);

-					stringBuffer.append(genPackage.getQualifiedContentTypeIdentifier());

-					stringBuffer.append(TEXT_140);

-				}

-				stringBuffer.append(TEXT_141);

-			}

-		}

-		stringBuffer.append(TEXT_142);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized PluginXML create(String lineSeparator) {
+		nl = lineSeparator;
+		PluginXML result = new PluginXML();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<?eclipse version=\"3.0\"?>"
+			+ NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL;
+	protected final String TEXT_4 = NL + "<plugin>";
+	protected final String TEXT_5 = NL + "<plugin" + NL + "      name=\"%pluginName\"" + NL + "      id=\"";
+	protected final String TEXT_6 = "\"" + NL + "      version=\"1.0.0\"" + NL + "      provider-name=\"%providerName\""
+			+ NL + "      class=\"";
+	protected final String TEXT_7 = "$Implementation\">" + NL + "" + NL + "   <requires>";
+	protected final String TEXT_8 = NL + "      <import plugin=\"";
+	protected final String TEXT_9 = "\"";
+	protected final String TEXT_10 = " export=\"true\"";
+	protected final String TEXT_11 = "/>";
+	protected final String TEXT_12 = NL + "   </requires>" + NL + "" + NL + "   <runtime>";
+	protected final String TEXT_13 = NL + "      <library name=\"";
+	protected final String TEXT_14 = ".jar\">";
+	protected final String TEXT_15 = NL + "      <library name=\".\">";
+	protected final String TEXT_16 = NL + "         <export name=\"*\"/>" + NL + "      </library>" + NL
+			+ "   </runtime>";
+	protected final String TEXT_17 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.generated_package\">";
+	protected final String TEXT_18 = NL + "      <!-- @generated ";
+	protected final String TEXT_19 = " -->";
+	protected final String TEXT_20 = NL + "      <package" + NL + "            uri=\"";
+	protected final String TEXT_21 = "\"";
+	protected final String TEXT_22 = NL + "            class=\"";
+	protected final String TEXT_23 = "\"" + NL + "            genModel=\"";
+	protected final String TEXT_24 = "\"/>";
+	protected final String TEXT_25 = NL + "            class=\"";
+	protected final String TEXT_26 = "\"/>";
+	protected final String TEXT_27 = NL + "   </extension>";
+	protected final String TEXT_28 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.content_parser\">";
+	protected final String TEXT_29 = NL + "      <!-- @generated ";
+	protected final String TEXT_30 = " -->";
+	protected final String TEXT_31 = NL + "      <parser" + NL + "            contentTypeIdentifier=\"";
+	protected final String TEXT_32 = "\"" + NL + "            class=\"";
+	protected final String TEXT_33 = "\"/>" + NL + "   </extension>" + NL + "" + NL
+			+ "   <extension point=\"org.eclipse.core.contenttype.contentTypes\">";
+	protected final String TEXT_34 = NL + "      <!-- @generated ";
+	protected final String TEXT_35 = " -->";
+	protected final String TEXT_36 = NL + "      <content-type" + NL + "            base-type=\"";
+	protected final String TEXT_37 = "\"" + NL + "            file-extensions=\"";
+	protected final String TEXT_38 = "\"" + NL + "            id=\"";
+	protected final String TEXT_39 = "\"" + NL + "            name=\"%_UI_";
+	protected final String TEXT_40 = "_content_type\"" + NL + "            priority=\"normal\">" + NL
+			+ "         <describer class=\"org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer\">";
+	protected final String TEXT_41 = NL + "            <parameter name=\"namespace\" value=\"";
+	protected final String TEXT_42 = "\"/>";
+	protected final String TEXT_43 = NL + "            <parameter name=\"kind\" value=\"xmi\"/>";
+	protected final String TEXT_44 = NL + "         </describer>" + NL + "      </content-type>" + NL
+			+ "   </extension>";
+	protected final String TEXT_45 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.extension_parser\">";
+	protected final String TEXT_46 = NL + "      <!-- @generated ";
+	protected final String TEXT_47 = " -->";
+	protected final String TEXT_48 = NL + "      <parser" + NL + "            type=\"";
+	protected final String TEXT_49 = "\"" + NL + "            class=\"";
+	protected final String TEXT_50 = "\"/>";
+	protected final String TEXT_51 = NL + "   </extension>";
+	protected final String TEXT_52 = NL + NL
+			+ "   <extension point=\"org.eclipse.emf.edit.itemProviderAdapterFactories\">";
+	protected final String TEXT_53 = NL + "      <!-- @generated ";
+	protected final String TEXT_54 = " -->";
+	protected final String TEXT_55 = NL + "      <factory" + NL + "            uri=\"";
+	protected final String TEXT_56 = "\"" + NL + "            class=\"";
+	protected final String TEXT_57 = "\"" + NL + "            supportedTypes=";
+	protected final String TEXT_58 = NL + "              ";
+	protected final String TEXT_59 = "\"/>";
+	protected final String TEXT_60 = NL + "   </extension>";
+	protected final String TEXT_61 = NL + NL + "   <extension point=\"org.eclipse.emf.edit.childCreationExtenders\">";
+	protected final String TEXT_62 = NL + "      <!-- @generated ";
+	protected final String TEXT_63 = " -->";
+	protected final String TEXT_64 = NL + "      <extender" + NL + "            uri=\"";
+	protected final String TEXT_65 = "\"" + NL + "            class=\"";
+	protected final String TEXT_66 = "$";
+	protected final String TEXT_67 = "\"/>";
+	protected final String TEXT_68 = NL + "   </extension>";
+	protected final String TEXT_69 = NL + NL + "   <extension" + NL
+			+ "         point=\"org.eclipse.core.runtime.applications\"" + NL + "         id=\"";
+	protected final String TEXT_70 = "Application\">";
+	protected final String TEXT_71 = NL + "      <!-- @generated ";
+	protected final String TEXT_72 = " -->";
+	protected final String TEXT_73 = NL + "      <application>" + NL + "         <run class=\"";
+	protected final String TEXT_74 = "$Application\"/>" + NL + "      </application>" + NL + "   </extension>" + NL + ""
+			+ NL + "   <extension point=\"org.eclipse.ui.perspectives\">";
+	protected final String TEXT_75 = NL + "      <!-- @generated ";
+	protected final String TEXT_76 = " -->";
+	protected final String TEXT_77 = NL + "      <perspective" + NL + "            name=\"%_UI_Perspective_label\"" + NL
+			+ "            class=\"";
+	protected final String TEXT_78 = "$Perspective\"" + NL + "            id=\"";
+	protected final String TEXT_79 = "Perspective\">" + NL + "      </perspective>" + NL + "   </extension>" + NL + ""
+			+ NL + "   <extension point=\"org.eclipse.ui.commands\">";
+	protected final String TEXT_80 = NL + "      <!-- @generated ";
+	protected final String TEXT_81 = " -->";
+	protected final String TEXT_82 = NL + "      <command" + NL + "            name=\"%_UI_Menu_OpenURI_label\"" + NL
+			+ "            description=\"%_UI_Menu_OpenURI_description\"" + NL
+			+ "            categoryId=\"org.eclipse.ui.category.file\"" + NL + "            id=\"";
+	protected final String TEXT_83 = "OpenURICommand\"/>";
+	protected final String TEXT_84 = NL + "      <command" + NL + "            name=\"%_UI_Menu_Open_label\"" + NL
+			+ "            description=\"%_UI_Menu_Open_description\"" + NL
+			+ "            categoryId=\"org.eclipse.ui.category.file\"" + NL + "            id=\"";
+	protected final String TEXT_85 = "OpenCommand\"/>";
+	protected final String TEXT_86 = NL + "   </extension>" + NL;
+	protected final String TEXT_87 = NL + "   <extension point=\"org.eclipse.ui.bindings\">";
+	protected final String TEXT_88 = NL + "      <!-- @generated ";
+	protected final String TEXT_89 = " -->";
+	protected final String TEXT_90 = NL + "      <key" + NL + "            commandId=\"";
+	protected final String TEXT_91 = "OpenURICommand\"" + NL + "            sequence=\"M1+U\"" + NL
+			+ "            schemeId=\"org.eclipse.ui.defaultAcceleratorConfiguration\"/>" + NL + "      <key" + NL
+			+ "            commandId=\"";
+	protected final String TEXT_92 = "OpenCommand\"" + NL + "            sequence=\"M1+O\"" + NL
+			+ "            schemeId=\"org.eclipse.ui.defaultAcceleratorConfiguration\"/>" + NL + "   </extension>";
+	protected final String TEXT_93 = NL + NL + "   <extension point=\"org.eclipse.ui.actionSets\">";
+	protected final String TEXT_94 = NL + "      <!-- @generated ";
+	protected final String TEXT_95 = " -->";
+	protected final String TEXT_96 = NL + "      <actionSet" + NL + "            label=\"%_UI_";
+	protected final String TEXT_97 = "_ActionSet_label\"" + NL + "            visible=\"true\"" + NL
+			+ "            id=\"";
+	protected final String TEXT_98 = "ActionSet\">" + NL + "         <action" + NL
+			+ "               label=\"%_UI_Menu_About_label\"" + NL + "               class=\"";
+	protected final String TEXT_99 = "$AboutAction\"" + NL + "               menubarPath=\"help/additions\"" + NL
+			+ "               id=\"";
+	protected final String TEXT_100 = "AboutAction\"/>" + NL + "         <action" + NL
+			+ "               label=\"%_UI_Menu_OpenURI_label\"" + NL + "               definitionId=\"";
+	protected final String TEXT_101 = "OpenURICommand\"" + NL + "               class=\"";
+	protected final String TEXT_102 = "$OpenURIAction\"" + NL + "               menubarPath=\"file/additions\"" + NL
+			+ "               id=\"";
+	protected final String TEXT_103 = "OpenURIAction\"/>";
+	protected final String TEXT_104 = NL + "         <action" + NL + "               label=\"%_UI_Menu_Open_label\""
+			+ NL + "               definitionId=\"";
+	protected final String TEXT_105 = "OpenCommand\"" + NL + "               class=\"";
+	protected final String TEXT_106 = "$OpenAction\"" + NL + "               menubarPath=\"file/additions\"" + NL
+			+ "               id=\"";
+	protected final String TEXT_107 = "OpenAction\"/>";
+	protected final String TEXT_108 = NL + "      </actionSet>" + NL + "   </extension>";
+	protected final String TEXT_109 = NL + NL + "   <extension point=\"org.eclipse.ui.actionSets\">";
+	protected final String TEXT_110 = NL + "      <!-- @generated ";
+	protected final String TEXT_111 = " -->";
+	protected final String TEXT_112 = NL + "      <actionSet" + NL + "            label=\"%_UI_";
+	protected final String TEXT_113 = "_ActionSet_label\"" + NL + "            visible=\"true\"" + NL
+			+ "            id=\"";
+	protected final String TEXT_114 = "ActionSet\">" + NL + "         <action" + NL + "               label=\"%_UI_";
+	protected final String TEXT_115 = "_label\"" + NL + "               class=\"";
+	protected final String TEXT_116 = "$NewAction\"" + NL + "               menubarPath=\"file/new/additions\"" + NL
+			+ "               id=\"";
+	protected final String TEXT_117 = "NewAction\"/>" + NL + "      </actionSet>" + NL + "   </extension>";
+	protected final String TEXT_118 = NL + NL + "   <extension point=\"org.eclipse.ui.newWizards\">";
+	protected final String TEXT_119 = NL + "      <!-- @generated ";
+	protected final String TEXT_120 = " -->";
+	protected final String TEXT_121 = NL + "      <category" + NL
+			+ "            id=\"org.eclipse.emf.ecore.Wizard.category.ID\"" + NL
+			+ "            name=\"%_UI_Wizard_category\"/>" + NL + "      <wizard" + NL + "            id=\"";
+	protected final String TEXT_122 = "ID\"" + NL + "            name=\"%_UI_";
+	protected final String TEXT_123 = "_label\"" + NL + "            class=\"";
+	protected final String TEXT_124 = "\"" + NL + "            category=\"org.eclipse.emf.ecore.Wizard.category.ID\""
+			+ NL + "            icon=\"icons/full/obj16/";
+	protected final String TEXT_125 = "ModelFile.gif\">" + NL + "         <description>%_UI_";
+	protected final String TEXT_126 = "_description</description>" + NL
+			+ "         <selection class=\"org.eclipse.core.resources.IResource\"/>" + NL + "      </wizard>" + NL
+			+ "   </extension>";
+	protected final String TEXT_127 = NL + NL + "   <extension point=\"org.eclipse.ui.editors\">";
+	protected final String TEXT_128 = NL + "      <!-- @generated ";
+	protected final String TEXT_129 = " -->";
+	protected final String TEXT_130 = NL + "      <editor" + NL + "            id=\"";
+	protected final String TEXT_131 = "ID\"" + NL + "            name=\"%_UI_";
+	protected final String TEXT_132 = "_label\"" + NL + "            icon=\"icons/full/obj16/";
+	protected final String TEXT_133 = "ModelFile.gif\"";
+	protected final String TEXT_134 = NL + "            extensions=\"";
+	protected final String TEXT_135 = "\"";
+	protected final String TEXT_136 = NL + "            class=\"";
+	protected final String TEXT_137 = "\"" + NL + "            contributorClass=\"";
+	protected final String TEXT_138 = "\">";
+	protected final String TEXT_139 = NL + "         <contentTypeBinding contentTypeId=\"";
+	protected final String TEXT_140 = "\"/>";
+	protected final String TEXT_141 = NL + "      </editor>" + NL + "   </extension>";
+	protected final String TEXT_142 = NL + NL + "</plugin>" + NL;
+	protected final String TEXT_143 = NL;
+	protected final String TEXT_144 = NL;
+
+	public PluginXML() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_143);
+		stringBuffer.append(TEXT_144);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditorProjectDirectory() + "/plugin.xml";
+		overwrite = true;
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2010 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		String key = genModel.getPluginKey();
+		boolean hasKey = key != null && !key.equals("");
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_3);
+		if (genModel.isBundleManifest()) {
+			stringBuffer.append(TEXT_4);
+		} else {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genModel.getEditorPluginID());
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genModel.getQualifiedEditorPluginClassName());
+			stringBuffer.append(TEXT_7);
+			for (String pluginID : genModel.getEditorRequiredPlugins()) {
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(pluginID);
+				stringBuffer.append(TEXT_9);
+				if (!pluginID.startsWith("org.eclipse.core.runtime")) {
+					stringBuffer.append(TEXT_10);
+				}
+				stringBuffer.append(TEXT_11);
+			}
+			stringBuffer.append(TEXT_12);
+			if (genModel.isRuntimeJar()) {
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(genModel.getEditorPluginID());
+				stringBuffer.append(TEXT_14);
+			} else {
+				stringBuffer.append(TEXT_15);
+			}
+			stringBuffer.append(TEXT_16);
+		}
+		if (genModel.sameModelEditorProject()) {
+			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+				stringBuffer.append(TEXT_17);
+				if (hasKey) {
+					stringBuffer.append(TEXT_18);
+					stringBuffer.append(key);
+					stringBuffer.append(TEXT_19);
+				}
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genPackage.getNSURI());
+				stringBuffer.append(TEXT_21);
+				if (genModel.hasLocalGenModel()) {
+					stringBuffer.append(TEXT_22);
+					stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+					stringBuffer.append(TEXT_23);
+					stringBuffer.append(genModel.getRelativeGenModelLocation());
+					stringBuffer.append(TEXT_24);
+				} else {
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+					stringBuffer.append(TEXT_26);
+				}
+				stringBuffer.append(TEXT_27);
+				if (genPackage.isContentType()) {
+					stringBuffer.append(TEXT_28);
+					if (hasKey) {
+						stringBuffer.append(TEXT_29);
+						stringBuffer.append(key);
+						stringBuffer.append(TEXT_30);
+					}
+					stringBuffer.append(TEXT_31);
+					stringBuffer.append(genPackage.getContentTypeIdentifier());
+					stringBuffer.append(TEXT_32);
+					stringBuffer.append(genPackage.getQualifiedEffectiveResourceFactoryClassName());
+					stringBuffer.append(TEXT_33);
+					if (hasKey) {
+						stringBuffer.append(TEXT_34);
+						stringBuffer.append(key);
+						stringBuffer.append(TEXT_35);
+					}
+					stringBuffer.append(TEXT_36);
+					stringBuffer.append(
+							genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml");
+					stringBuffer.append(TEXT_37);
+					stringBuffer.append(genPackage.getFileExtensions());
+					stringBuffer.append(TEXT_38);
+					stringBuffer.append(genPackage.getContentTypeIdentifier());
+					stringBuffer.append(TEXT_39);
+					stringBuffer.append(genPackage.getPrefix());
+					stringBuffer.append(TEXT_40);
+					if (genPackage.hasTargetNamespace()) {
+						stringBuffer.append(TEXT_41);
+						stringBuffer.append(genPackage.getNSURI());
+						stringBuffer.append(TEXT_42);
+					}
+					if (genPackage.isXMIResource()) {
+						stringBuffer.append(TEXT_43);
+					}
+					stringBuffer.append(TEXT_44);
+				} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {
+					stringBuffer.append(TEXT_45);
+					if (hasKey) {
+						stringBuffer.append(TEXT_46);
+						stringBuffer.append(key);
+						stringBuffer.append(TEXT_47);
+					}
+					for (String fileExtension : genPackage.getFileExtensionList()) {
+						stringBuffer.append(TEXT_48);
+						stringBuffer.append(fileExtension);
+						stringBuffer.append(TEXT_49);
+						stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());
+						stringBuffer.append(TEXT_50);
+					}
+					stringBuffer.append(TEXT_51);
+				}
+			}
+		}
+		if (genModel.sameEditEditorProject()) {
+			for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+				if (!genPackage.getGenClasses().isEmpty()) {
+					stringBuffer.append(TEXT_52);
+					if (hasKey) {
+						stringBuffer.append(TEXT_53);
+						stringBuffer.append(key);
+						stringBuffer.append(TEXT_54);
+					}
+					stringBuffer.append(TEXT_55);
+					stringBuffer.append(genPackage.getNSURI());
+					stringBuffer.append(TEXT_56);
+					stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());
+					stringBuffer.append(TEXT_57);
+					for (ListIterator<?> j = genPackage.getProviderSupportedTypes().listIterator(); j.hasNext();) {
+						stringBuffer.append(TEXT_58);
+						stringBuffer.append(j.hasPrevious() ? " " : "\"");
+						stringBuffer.append(j.next());
+						if (!j.hasNext()) {
+							stringBuffer.append(TEXT_59);
+						}
+					}
+					stringBuffer.append(TEXT_60);
+					if (genPackage.isChildCreationExtenders()) {
+						Map<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> extendedChildCreationData = genPackage
+								.getExtendedChildCreationData();
+						if (!extendedChildCreationData.isEmpty()) {
+							stringBuffer.append(TEXT_61);
+							for (Map.Entry<GenPackage, Map<GenClass, List<GenClass.ChildCreationData>>> entry : extendedChildCreationData
+									.entrySet()) {
+								if (hasKey) {
+									stringBuffer.append(TEXT_62);
+									stringBuffer.append(key);
+									stringBuffer.append(TEXT_63);
+								}
+								stringBuffer.append(TEXT_64);
+								stringBuffer.append(entry.getKey().getNSURI());
+								stringBuffer.append(TEXT_65);
+								stringBuffer.append(genPackage.getQualifiedItemProviderAdapterFactoryClassName());
+								stringBuffer.append(TEXT_66);
+								stringBuffer.append(genPackage.getChildCreationExtenderName(entry.getKey()));
+								stringBuffer.append(TEXT_67);
+							}
+							stringBuffer.append(TEXT_68);
+						}
+					}
+				}
+			}
+		}
+		if (genModel.isRichClientPlatform()) {
+			stringBuffer.append(TEXT_69);
+			stringBuffer.append(genModel.getEditorAdvisorClassName());
+			stringBuffer.append(TEXT_70);
+			if (hasKey) {
+				stringBuffer.append(TEXT_71);
+				stringBuffer.append(key);
+				stringBuffer.append(TEXT_72);
+			}
+			stringBuffer.append(TEXT_73);
+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+			stringBuffer.append(TEXT_74);
+			if (hasKey) {
+				stringBuffer.append(TEXT_75);
+				stringBuffer.append(key);
+				stringBuffer.append(TEXT_76);
+			}
+			stringBuffer.append(TEXT_77);
+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+			stringBuffer.append(TEXT_78);
+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+			stringBuffer.append(TEXT_79);
+			if (hasKey) {
+				stringBuffer.append(TEXT_80);
+				stringBuffer.append(key);
+				stringBuffer.append(TEXT_81);
+			}
+			stringBuffer.append(TEXT_82);
+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+			stringBuffer.append(TEXT_83);
+			if (!genModel.isRichAjaxPlatform()) {
+				stringBuffer.append(TEXT_84);
+				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+				stringBuffer.append(TEXT_85);
+			}
+			stringBuffer.append(TEXT_86);
+			if (!genModel.isRichAjaxPlatform()) {
+				stringBuffer.append(TEXT_87);
+				if (hasKey) {
+					stringBuffer.append(TEXT_88);
+					stringBuffer.append(key);
+					stringBuffer.append(TEXT_89);
+				}
+				stringBuffer.append(TEXT_90);
+				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+				stringBuffer.append(TEXT_91);
+				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+				stringBuffer.append(TEXT_92);
+			}
+			stringBuffer.append(TEXT_93);
+			if (hasKey) {
+				stringBuffer.append(TEXT_94);
+				stringBuffer.append(key);
+				stringBuffer.append(TEXT_95);
+			}
+			stringBuffer.append(TEXT_96);
+			stringBuffer.append(genModel.getEditorAdvisorClassName());
+			stringBuffer.append(TEXT_97);
+			stringBuffer.append(genModel.getEditorAdvisorClassName());
+			stringBuffer.append(TEXT_98);
+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+			stringBuffer.append(TEXT_99);
+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+			stringBuffer.append(TEXT_100);
+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+			stringBuffer.append(TEXT_101);
+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+			stringBuffer.append(TEXT_102);
+			stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+			stringBuffer.append(TEXT_103);
+			if (!genModel.isRichAjaxPlatform()) {
+				stringBuffer.append(TEXT_104);
+				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+				stringBuffer.append(TEXT_105);
+				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+				stringBuffer.append(TEXT_106);
+				stringBuffer.append(genModel.getQualifiedEditorAdvisorClassName());
+				stringBuffer.append(TEXT_107);
+			}
+			stringBuffer.append(TEXT_108);
+		}
+		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+			if (genPackage.hasConcreteClasses()) {
+				if (genPackage.isGenerateModelWizard()) {
+					if (genModel.isRichClientPlatform()) {
+						stringBuffer.append(TEXT_109);
+						if (hasKey) {
+							stringBuffer.append(TEXT_110);
+							stringBuffer.append(key);
+							stringBuffer.append(TEXT_111);
+						}
+						stringBuffer.append(TEXT_112);
+						stringBuffer.append(genPackage.getModelWizardClassName());
+						stringBuffer.append(TEXT_113);
+						stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());
+						stringBuffer.append(TEXT_114);
+						stringBuffer.append(genPackage.getModelWizardClassName());
+						stringBuffer.append(TEXT_115);
+						stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());
+						stringBuffer.append(TEXT_116);
+						stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());
+						stringBuffer.append(TEXT_117);
+					} else {
+						stringBuffer.append(TEXT_118);
+						if (hasKey) {
+							stringBuffer.append(TEXT_119);
+							stringBuffer.append(key);
+							stringBuffer.append(TEXT_120);
+						}
+						stringBuffer.append(TEXT_121);
+						stringBuffer.append(genPackage.getQualifiedModelWizardClassName());
+						stringBuffer.append(TEXT_122);
+						stringBuffer.append(genPackage.getModelWizardClassName());
+						stringBuffer.append(TEXT_123);
+						stringBuffer.append(genPackage.getQualifiedModelWizardClassName());
+						stringBuffer.append(TEXT_124);
+						stringBuffer.append(genPackage.getPrefix());
+						stringBuffer.append(TEXT_125);
+						stringBuffer.append(genPackage.getModelWizardClassName());
+						stringBuffer.append(TEXT_126);
+					}
+				}
+				stringBuffer.append(TEXT_127);
+				if (hasKey) {
+					stringBuffer.append(TEXT_128);
+					stringBuffer.append(key);
+					stringBuffer.append(TEXT_129);
+				}
+				stringBuffer.append(TEXT_130);
+				stringBuffer.append(genPackage.getQualifiedEditorClassName());
+				stringBuffer.append(TEXT_131);
+				stringBuffer.append(genPackage.getEditorClassName());
+				stringBuffer.append(TEXT_132);
+				stringBuffer.append(genPackage.getPrefix());
+				stringBuffer.append(TEXT_133);
+				if (!genPackage.isContentType()) {
+					stringBuffer.append(TEXT_134);
+					stringBuffer.append(genPackage.getFileExtensions());
+					stringBuffer.append(TEXT_135);
+				}
+				stringBuffer.append(TEXT_136);
+				stringBuffer.append(genPackage.getQualifiedEditorClassName());
+				stringBuffer.append(TEXT_137);
+				stringBuffer.append(genPackage.getQualifiedActionBarContributorClassName());
+				stringBuffer.append(TEXT_138);
+				if (genPackage.isContentType()) {
+					stringBuffer.append(TEXT_139);
+					stringBuffer.append(genPackage.getQualifiedContentTypeIdentifier());
+					stringBuffer.append(TEXT_140);
+				}
+				stringBuffer.append(TEXT_141);
+			}
+		}
+		stringBuffer.append(TEXT_142);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/WebXML.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/WebXML.java
index 47d2544..78fdc11 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/WebXML.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/WebXML.java
@@ -1,196 +1,194 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class WebXML extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized WebXML create(String lineSeparator) {

-		nl = lineSeparator;

-		WebXML result = new WebXML();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"

-			+ NL

-			+ "<!DOCTYPE web-app PUBLIC \"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN\" \"http://java.sun.com/dtd/web-app_2_3.dtd\">";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "<web-app>" + NL + "  <servlet>" + NL

-			+ "    <servlet-name>uriServlet</servlet-name>" + NL

-			+ "    <servlet-class>org.eclipse.emf.server.ecore.resource.URIServiceImpl</servlet-class>" + NL

-			+ "  </servlet>" + NL + "  " + NL + "  <servlet-mapping>" + NL

-			+ "    <servlet-name>uriServlet</servlet-name>" + NL + "    <url-pattern>/";

-	protected final String TEXT_4 = "/uriService</url-pattern>" + NL + "  </servlet-mapping>" + NL + "" + NL

-			+ "  <welcome-file-list>" + NL + "    <welcome-file>";

-	protected final String TEXT_5 = ".html</welcome-file>" + NL + "  </welcome-file-list>" + NL + "</web-app>" + NL;

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL;

-

-	public WebXML() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(TEXT_7);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getEditorProjectDirectory() + "/war/WEB-INF/web.xml";

-		overwrite = false;

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,

-				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2010 Ed Merks 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: 

-		 *   Ed Merks - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genModel.getQualifiedEditorModuleName());

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genModel.getEditorHomePageName());

-		stringBuffer.append(TEXT_5);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");

-		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class WebXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized WebXML create(String lineSeparator) {
+		nl = lineSeparator;
+		WebXML result = new WebXML();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL
+			+ "<!DOCTYPE web-app PUBLIC \"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN\" \"http://java.sun.com/dtd/web-app_2_3.dtd\">";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "<web-app>" + NL + "  <servlet>" + NL
+			+ "    <servlet-name>uriServlet</servlet-name>" + NL
+			+ "    <servlet-class>org.eclipse.emf.server.ecore.resource.URIServiceImpl</servlet-class>" + NL
+			+ "  </servlet>" + NL + "  " + NL + "  <servlet-mapping>" + NL
+			+ "    <servlet-name>uriServlet</servlet-name>" + NL + "    <url-pattern>/";
+	protected final String TEXT_4 = "/uriService</url-pattern>" + NL + "  </servlet-mapping>" + NL + "" + NL
+			+ "  <welcome-file-list>" + NL + "    <welcome-file>";
+	protected final String TEXT_5 = ".html</welcome-file>" + NL + "  </welcome-file-list>" + NL + "</web-app>" + NL;
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL;
+
+	public WebXML() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(TEXT_7);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getEditorProjectDirectory() + "/war/WEB-INF/web.xml";
+		overwrite = false;
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
+				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2010 Ed Merks 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: 
+		 *   Ed Merks - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genModel.getQualifiedEditorModuleName());
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genModel.getEditorHomePageName());
+		stringBuffer.append(TEXT_5);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
+		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesinsert.java
index 079787c..f287de8 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesinsert.java
@@ -1,434 +1,437 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor.call.Editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class EditoraddItemProviderFactoriesinsert {

-	protected static String nl;

-

-	public static synchronized EditoraddItemProviderFactoriesinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		EditoraddItemProviderFactoriesinsert result = new EditoraddItemProviderFactoriesinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public EditoraddItemProviderFactoriesinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> importedOperationClassNameList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> operationMethodNameList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ArrayListOfObjectList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ArrayListOfSelectionChangedListenerList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _CollectionOfSelectionChangedListenerList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ArrayListOfResourceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _CollectionOfResourceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _MapOfResourceToDiagnosticList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _HashMapOfResourceToBooleanList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _MapOfObjectToObjectList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _HashMapOfObjectToObjectList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _LinkedHashMapOfResourceToDiagnosticList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _CollectionOfAnythingList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ListOfAnythingList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> useExtendedLabelProviderList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> useStyledLabelProviderList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _AdapterFactoryLabelProviderList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _DelegatingAdapterFactoryLabelProviderList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _DecoratingColumLabelProviderList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _DiagnosticDecoratorList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ArrayListOfStringList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ListOfStringList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ListOfPropertySheetPageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ArrayListOfPropertySheetPageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genPackageParameter : genPackageList) {

-			for (Object genModelParameter : genModelList) {

-				for (Object importedOperationClassNameParameter : importedOperationClassNameList) {

-					for (Object operationMethodNameParameter : operationMethodNameList) {

-						for (Object _ArrayListOfObjectParameter : _ArrayListOfObjectList) {

-							for (Object _ArrayListOfSelectionChangedListenerParameter : _ArrayListOfSelectionChangedListenerList) {

-								for (Object _CollectionOfSelectionChangedListenerParameter : _CollectionOfSelectionChangedListenerList) {

-									for (Object _ArrayListOfResourceParameter : _ArrayListOfResourceList) {

-										for (Object _CollectionOfResourceParameter : _CollectionOfResourceList) {

-											for (Object _MapOfResourceToDiagnosticParameter : _MapOfResourceToDiagnosticList) {

-												for (Object _HashMapOfResourceToBooleanParameter : _HashMapOfResourceToBooleanList) {

-													for (Object _MapOfObjectToObjectParameter : _MapOfObjectToObjectList) {

-														for (Object _HashMapOfObjectToObjectParameter : _HashMapOfObjectToObjectList) {

-															for (Object _LinkedHashMapOfResourceToDiagnosticParameter : _LinkedHashMapOfResourceToDiagnosticList) {

-																for (Object _CollectionOfAnythingParameter : _CollectionOfAnythingList) {

-																	for (Object _ListOfAnythingParameter : _ListOfAnythingList) {

-																		for (Object useExtendedLabelProviderParameter : useExtendedLabelProviderList) {

-																			for (Object useStyledLabelProviderParameter : useStyledLabelProviderList) {

-																				for (Object _AdapterFactoryLabelProviderParameter : _AdapterFactoryLabelProviderList) {

-																					for (Object _DelegatingAdapterFactoryLabelProviderParameter : _DelegatingAdapterFactoryLabelProviderList) {

-																						for (Object _DecoratingColumLabelProviderParameter : _DecoratingColumLabelProviderList) {

-																							for (Object _DiagnosticDecoratorParameter : _DiagnosticDecoratorList) {

-																								for (Object _ArrayListOfStringParameter : _ArrayListOfStringList) {

-																									for (Object _ListOfStringParameter : _ListOfStringList) {

-																										for (Object _ListOfPropertySheetPageParameter : _ListOfPropertySheetPageList) {

-																											for (Object _ArrayListOfPropertySheetPageParameter : _ArrayListOfPropertySheetPageList) {

-

-																												this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																												this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																												this.importedOperationClassName = (java.lang.String) importedOperationClassNameParameter;

-																												this.operationMethodName = (java.lang.String) operationMethodNameParameter;

-																												this._ArrayListOfObject = (java.lang.String) _ArrayListOfObjectParameter;

-																												this._ArrayListOfSelectionChangedListener = (java.lang.String) _ArrayListOfSelectionChangedListenerParameter;

-																												this._CollectionOfSelectionChangedListener = (java.lang.String) _CollectionOfSelectionChangedListenerParameter;

-																												this._ArrayListOfResource = (java.lang.String) _ArrayListOfResourceParameter;

-																												this._CollectionOfResource = (java.lang.String) _CollectionOfResourceParameter;

-																												this._MapOfResourceToDiagnostic = (java.lang.String) _MapOfResourceToDiagnosticParameter;

-																												this._HashMapOfResourceToBoolean = (java.lang.String) _HashMapOfResourceToBooleanParameter;

-																												this._MapOfObjectToObject = (java.lang.String) _MapOfObjectToObjectParameter;

-																												this._HashMapOfObjectToObject = (java.lang.String) _HashMapOfObjectToObjectParameter;

-																												this._LinkedHashMapOfResourceToDiagnostic = (java.lang.String) _LinkedHashMapOfResourceToDiagnosticParameter;

-																												this._CollectionOfAnything = (java.lang.String) _CollectionOfAnythingParameter;

-																												this._ListOfAnything = (java.lang.String) _ListOfAnythingParameter;

-																												this.useExtendedLabelProvider = (java.lang.Boolean) useExtendedLabelProviderParameter;

-																												this.useStyledLabelProvider = (java.lang.Boolean) useStyledLabelProviderParameter;

-																												this._AdapterFactoryLabelProvider = (java.lang.String) _AdapterFactoryLabelProviderParameter;

-																												this._DelegatingAdapterFactoryLabelProvider = (java.lang.String) _DelegatingAdapterFactoryLabelProviderParameter;

-																												this._DecoratingColumLabelProvider = (java.lang.String) _DecoratingColumLabelProviderParameter;

-																												this._DiagnosticDecorator = (java.lang.String) _DiagnosticDecoratorParameter;

-																												this._ArrayListOfString = (java.lang.String) _ArrayListOfStringParameter;

-																												this._ListOfString = (java.lang.String) _ListOfStringParameter;

-																												this._ListOfPropertySheetPage = (java.lang.String) _ListOfPropertySheetPageParameter;

-																												this._ArrayListOfPropertySheetPage = (java.lang.String) _ArrayListOfPropertySheetPageParameter;

-

-																												if (preCondition(ctx)) {

-																													ctx.setNode(new Node.Container(

-																															currentNode,

-																															getClass()));

-																													orchestration(ctx);

-																												}

-

-																											}

-																										}

-																									}

-																								}

-																							}

-																						}

-																					}

-																				}

-																			}

-																		}

-																	}

-																}

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("importedOperationClassName", this.importedOperationClassName);

-			parameterValues.put("operationMethodName", this.operationMethodName);

-			parameterValues.put("_ArrayListOfObject", this._ArrayListOfObject);

-			parameterValues.put("_ArrayListOfSelectionChangedListener", this._ArrayListOfSelectionChangedListener);

-			parameterValues.put("_CollectionOfSelectionChangedListener", this._CollectionOfSelectionChangedListener);

-			parameterValues.put("_ArrayListOfResource", this._ArrayListOfResource);

-			parameterValues.put("_CollectionOfResource", this._CollectionOfResource);

-			parameterValues.put("_MapOfResourceToDiagnostic", this._MapOfResourceToDiagnostic);

-			parameterValues.put("_HashMapOfResourceToBoolean", this._HashMapOfResourceToBoolean);

-			parameterValues.put("_MapOfObjectToObject", this._MapOfObjectToObject);

-			parameterValues.put("_HashMapOfObjectToObject", this._HashMapOfObjectToObject);

-			parameterValues.put("_LinkedHashMapOfResourceToDiagnostic", this._LinkedHashMapOfResourceToDiagnostic);

-			parameterValues.put("_CollectionOfAnything", this._CollectionOfAnything);

-			parameterValues.put("_ListOfAnything", this._ListOfAnything);

-			parameterValues.put("useExtendedLabelProvider", this.useExtendedLabelProvider);

-			parameterValues.put("useStyledLabelProvider", this.useStyledLabelProvider);

-			parameterValues.put("_AdapterFactoryLabelProvider", this._AdapterFactoryLabelProvider);

-			parameterValues.put("_DelegatingAdapterFactoryLabelProvider", this._DelegatingAdapterFactoryLabelProvider);

-			parameterValues.put("_DecoratingColumLabelProvider", this._DecoratingColumLabelProvider);

-			parameterValues.put("_DiagnosticDecorator", this._DiagnosticDecorator);

-			parameterValues.put("_ArrayListOfString", this._ArrayListOfString);

-			parameterValues.put("_ListOfString", this._ListOfString);

-			parameterValues.put("_ListOfPropertySheetPage", this._ListOfPropertySheetPage);

-			parameterValues.put("_ArrayListOfPropertySheetPage", this._ArrayListOfPropertySheetPage);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.String importedOperationClassName = null;

-

-	public void set_importedOperationClassName(java.lang.String object) {

-		this.importedOperationClassName = object;

-	}

-

-	protected java.lang.String operationMethodName = null;

-

-	public void set_operationMethodName(java.lang.String object) {

-		this.operationMethodName = object;

-	}

-

-	protected java.lang.String _ArrayListOfObject = null;

-

-	public void set__ArrayListOfObject(java.lang.String object) {

-		this._ArrayListOfObject = object;

-	}

-

-	protected java.lang.String _ArrayListOfSelectionChangedListener = null;

-

-	public void set__ArrayListOfSelectionChangedListener(java.lang.String object) {

-		this._ArrayListOfSelectionChangedListener = object;

-	}

-

-	protected java.lang.String _CollectionOfSelectionChangedListener = null;

-

-	public void set__CollectionOfSelectionChangedListener(java.lang.String object) {

-		this._CollectionOfSelectionChangedListener = object;

-	}

-

-	protected java.lang.String _ArrayListOfResource = null;

-

-	public void set__ArrayListOfResource(java.lang.String object) {

-		this._ArrayListOfResource = object;

-	}

-

-	protected java.lang.String _CollectionOfResource = null;

-

-	public void set__CollectionOfResource(java.lang.String object) {

-		this._CollectionOfResource = object;

-	}

-

-	protected java.lang.String _MapOfResourceToDiagnostic = null;

-

-	public void set__MapOfResourceToDiagnostic(java.lang.String object) {

-		this._MapOfResourceToDiagnostic = object;

-	}

-

-	protected java.lang.String _HashMapOfResourceToBoolean = null;

-

-	public void set__HashMapOfResourceToBoolean(java.lang.String object) {

-		this._HashMapOfResourceToBoolean = object;

-	}

-

-	protected java.lang.String _MapOfObjectToObject = null;

-

-	public void set__MapOfObjectToObject(java.lang.String object) {

-		this._MapOfObjectToObject = object;

-	}

-

-	protected java.lang.String _HashMapOfObjectToObject = null;

-

-	public void set__HashMapOfObjectToObject(java.lang.String object) {

-		this._HashMapOfObjectToObject = object;

-	}

-

-	protected java.lang.String _LinkedHashMapOfResourceToDiagnostic = null;

-

-	public void set__LinkedHashMapOfResourceToDiagnostic(java.lang.String object) {

-		this._LinkedHashMapOfResourceToDiagnostic = object;

-	}

-

-	protected java.lang.String _CollectionOfAnything = null;

-

-	public void set__CollectionOfAnything(java.lang.String object) {

-		this._CollectionOfAnything = object;

-	}

-

-	protected java.lang.String _ListOfAnything = null;

-

-	public void set__ListOfAnything(java.lang.String object) {

-		this._ListOfAnything = object;

-	}

-

-	protected java.lang.Boolean useExtendedLabelProvider = null;

-

-	public void set_useExtendedLabelProvider(java.lang.Boolean object) {

-		this.useExtendedLabelProvider = object;

-	}

-

-	protected java.lang.Boolean useStyledLabelProvider = null;

-

-	public void set_useStyledLabelProvider(java.lang.Boolean object) {

-		this.useStyledLabelProvider = object;

-	}

-

-	protected java.lang.String _AdapterFactoryLabelProvider = null;

-

-	public void set__AdapterFactoryLabelProvider(java.lang.String object) {

-		this._AdapterFactoryLabelProvider = object;

-	}

-

-	protected java.lang.String _DelegatingAdapterFactoryLabelProvider = null;

-

-	public void set__DelegatingAdapterFactoryLabelProvider(java.lang.String object) {

-		this._DelegatingAdapterFactoryLabelProvider = object;

-	}

-

-	protected java.lang.String _DecoratingColumLabelProvider = null;

-

-	public void set__DecoratingColumLabelProvider(java.lang.String object) {

-		this._DecoratingColumLabelProvider = object;

-	}

-

-	protected java.lang.String _DiagnosticDecorator = null;

-

-	public void set__DiagnosticDecorator(java.lang.String object) {

-		this._DiagnosticDecorator = object;

-	}

-

-	protected java.lang.String _ArrayListOfString = null;

-

-	public void set__ArrayListOfString(java.lang.String object) {

-		this._ArrayListOfString = object;

-	}

-

-	protected java.lang.String _ListOfString = null;

-

-	public void set__ListOfString(java.lang.String object) {

-		this._ListOfString = object;

-	}

-

-	protected java.lang.String _ListOfPropertySheetPage = null;

-

-	public void set__ListOfPropertySheetPage(java.lang.String object) {

-		this._ListOfPropertySheetPage = object;

-	}

-

-	protected java.lang.String _ArrayListOfPropertySheetPage = null;

-

-	public void set__ArrayListOfPropertySheetPage(java.lang.String object) {

-		this._ArrayListOfPropertySheetPage = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("importedOperationClassName", this.importedOperationClassName);

-		parameters.put("operationMethodName", this.operationMethodName);

-		parameters.put("_ArrayListOfObject", this._ArrayListOfObject);

-		parameters.put("_ArrayListOfSelectionChangedListener", this._ArrayListOfSelectionChangedListener);

-		parameters.put("_CollectionOfSelectionChangedListener", this._CollectionOfSelectionChangedListener);

-		parameters.put("_ArrayListOfResource", this._ArrayListOfResource);

-		parameters.put("_CollectionOfResource", this._CollectionOfResource);

-		parameters.put("_MapOfResourceToDiagnostic", this._MapOfResourceToDiagnostic);

-		parameters.put("_HashMapOfResourceToBoolean", this._HashMapOfResourceToBoolean);

-		parameters.put("_MapOfObjectToObject", this._MapOfObjectToObject);

-		parameters.put("_HashMapOfObjectToObject", this._HashMapOfObjectToObject);

-		parameters.put("_LinkedHashMapOfResourceToDiagnostic", this._LinkedHashMapOfResourceToDiagnostic);

-		parameters.put("_CollectionOfAnything", this._CollectionOfAnything);

-		parameters.put("_ListOfAnything", this._ListOfAnything);

-		parameters.put("useExtendedLabelProvider", this.useExtendedLabelProvider);

-		parameters.put("useStyledLabelProvider", this.useStyledLabelProvider);

-		parameters.put("_AdapterFactoryLabelProvider", this._AdapterFactoryLabelProvider);

-		parameters.put("_DelegatingAdapterFactoryLabelProvider", this._DelegatingAdapterFactoryLabelProvider);

-		parameters.put("_DecoratingColumLabelProvider", this._DecoratingColumLabelProvider);

-		parameters.put("_DiagnosticDecorator", this._DiagnosticDecorator);

-		parameters.put("_ArrayListOfString", this._ArrayListOfString);

-		parameters.put("_ListOfString", this._ListOfString);

-		parameters.put("_ListOfPropertySheetPage", this._ListOfPropertySheetPage);

-		parameters.put("_ArrayListOfPropertySheetPage", this._ArrayListOfPropertySheetPage);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor.call.Editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class EditoraddItemProviderFactoriesinsert {
+	protected static String nl;
+
+	public static synchronized EditoraddItemProviderFactoriesinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		EditoraddItemProviderFactoriesinsert result = new EditoraddItemProviderFactoriesinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public EditoraddItemProviderFactoriesinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> importedOperationClassNameList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> operationMethodNameList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ArrayListOfObjectList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ArrayListOfSelectionChangedListenerList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _CollectionOfSelectionChangedListenerList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ArrayListOfResourceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _CollectionOfResourceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _MapOfResourceToDiagnosticList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _HashMapOfResourceToBooleanList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _MapOfObjectToObjectList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _HashMapOfObjectToObjectList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _LinkedHashMapOfResourceToDiagnosticList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _CollectionOfAnythingList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ListOfAnythingList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> useExtendedLabelProviderList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> useStyledLabelProviderList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _AdapterFactoryLabelProviderList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _DelegatingAdapterFactoryLabelProviderList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _DecoratingColumLabelProviderList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _DiagnosticDecoratorList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ArrayListOfStringList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ListOfStringList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ListOfPropertySheetPageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ArrayListOfPropertySheetPageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genPackageParameter : genPackageList) {
+			for (Object genModelParameter : genModelList) {
+				for (Object importedOperationClassNameParameter : importedOperationClassNameList) {
+					for (Object operationMethodNameParameter : operationMethodNameList) {
+						for (Object _ArrayListOfObjectParameter : _ArrayListOfObjectList) {
+							for (Object _ArrayListOfSelectionChangedListenerParameter : _ArrayListOfSelectionChangedListenerList) {
+								for (Object _CollectionOfSelectionChangedListenerParameter : _CollectionOfSelectionChangedListenerList) {
+									for (Object _ArrayListOfResourceParameter : _ArrayListOfResourceList) {
+										for (Object _CollectionOfResourceParameter : _CollectionOfResourceList) {
+											for (Object _MapOfResourceToDiagnosticParameter : _MapOfResourceToDiagnosticList) {
+												for (Object _HashMapOfResourceToBooleanParameter : _HashMapOfResourceToBooleanList) {
+													for (Object _MapOfObjectToObjectParameter : _MapOfObjectToObjectList) {
+														for (Object _HashMapOfObjectToObjectParameter : _HashMapOfObjectToObjectList) {
+															for (Object _LinkedHashMapOfResourceToDiagnosticParameter : _LinkedHashMapOfResourceToDiagnosticList) {
+																for (Object _CollectionOfAnythingParameter : _CollectionOfAnythingList) {
+																	for (Object _ListOfAnythingParameter : _ListOfAnythingList) {
+																		for (Object useExtendedLabelProviderParameter : useExtendedLabelProviderList) {
+																			for (Object useStyledLabelProviderParameter : useStyledLabelProviderList) {
+																				for (Object _AdapterFactoryLabelProviderParameter : _AdapterFactoryLabelProviderList) {
+																					for (Object _DelegatingAdapterFactoryLabelProviderParameter : _DelegatingAdapterFactoryLabelProviderList) {
+																						for (Object _DecoratingColumLabelProviderParameter : _DecoratingColumLabelProviderList) {
+																							for (Object _DiagnosticDecoratorParameter : _DiagnosticDecoratorList) {
+																								for (Object _ArrayListOfStringParameter : _ArrayListOfStringList) {
+																									for (Object _ListOfStringParameter : _ListOfStringList) {
+																										for (Object _ListOfPropertySheetPageParameter : _ListOfPropertySheetPageList) {
+																											for (Object _ArrayListOfPropertySheetPageParameter : _ArrayListOfPropertySheetPageList) {
+
+																												this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																												this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																												this.importedOperationClassName = (java.lang.String) importedOperationClassNameParameter;
+																												this.operationMethodName = (java.lang.String) operationMethodNameParameter;
+																												this._ArrayListOfObject = (java.lang.String) _ArrayListOfObjectParameter;
+																												this._ArrayListOfSelectionChangedListener = (java.lang.String) _ArrayListOfSelectionChangedListenerParameter;
+																												this._CollectionOfSelectionChangedListener = (java.lang.String) _CollectionOfSelectionChangedListenerParameter;
+																												this._ArrayListOfResource = (java.lang.String) _ArrayListOfResourceParameter;
+																												this._CollectionOfResource = (java.lang.String) _CollectionOfResourceParameter;
+																												this._MapOfResourceToDiagnostic = (java.lang.String) _MapOfResourceToDiagnosticParameter;
+																												this._HashMapOfResourceToBoolean = (java.lang.String) _HashMapOfResourceToBooleanParameter;
+																												this._MapOfObjectToObject = (java.lang.String) _MapOfObjectToObjectParameter;
+																												this._HashMapOfObjectToObject = (java.lang.String) _HashMapOfObjectToObjectParameter;
+																												this._LinkedHashMapOfResourceToDiagnostic = (java.lang.String) _LinkedHashMapOfResourceToDiagnosticParameter;
+																												this._CollectionOfAnything = (java.lang.String) _CollectionOfAnythingParameter;
+																												this._ListOfAnything = (java.lang.String) _ListOfAnythingParameter;
+																												this.useExtendedLabelProvider = (java.lang.Boolean) useExtendedLabelProviderParameter;
+																												this.useStyledLabelProvider = (java.lang.Boolean) useStyledLabelProviderParameter;
+																												this._AdapterFactoryLabelProvider = (java.lang.String) _AdapterFactoryLabelProviderParameter;
+																												this._DelegatingAdapterFactoryLabelProvider = (java.lang.String) _DelegatingAdapterFactoryLabelProviderParameter;
+																												this._DecoratingColumLabelProvider = (java.lang.String) _DecoratingColumLabelProviderParameter;
+																												this._DiagnosticDecorator = (java.lang.String) _DiagnosticDecoratorParameter;
+																												this._ArrayListOfString = (java.lang.String) _ArrayListOfStringParameter;
+																												this._ListOfString = (java.lang.String) _ListOfStringParameter;
+																												this._ListOfPropertySheetPage = (java.lang.String) _ListOfPropertySheetPageParameter;
+																												this._ArrayListOfPropertySheetPage = (java.lang.String) _ArrayListOfPropertySheetPageParameter;
+
+																												if (preCondition(
+																														ctx)) {
+																													ctx.setNode(
+																															new Node.Container(
+																																	currentNode,
+																																	getClass()));
+																													orchestration(
+																															ctx);
+																												}
+
+																											}
+																										}
+																									}
+																								}
+																							}
+																						}
+																					}
+																				}
+																			}
+																		}
+																	}
+																}
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("importedOperationClassName", this.importedOperationClassName);
+			parameterValues.put("operationMethodName", this.operationMethodName);
+			parameterValues.put("_ArrayListOfObject", this._ArrayListOfObject);
+			parameterValues.put("_ArrayListOfSelectionChangedListener", this._ArrayListOfSelectionChangedListener);
+			parameterValues.put("_CollectionOfSelectionChangedListener", this._CollectionOfSelectionChangedListener);
+			parameterValues.put("_ArrayListOfResource", this._ArrayListOfResource);
+			parameterValues.put("_CollectionOfResource", this._CollectionOfResource);
+			parameterValues.put("_MapOfResourceToDiagnostic", this._MapOfResourceToDiagnostic);
+			parameterValues.put("_HashMapOfResourceToBoolean", this._HashMapOfResourceToBoolean);
+			parameterValues.put("_MapOfObjectToObject", this._MapOfObjectToObject);
+			parameterValues.put("_HashMapOfObjectToObject", this._HashMapOfObjectToObject);
+			parameterValues.put("_LinkedHashMapOfResourceToDiagnostic", this._LinkedHashMapOfResourceToDiagnostic);
+			parameterValues.put("_CollectionOfAnything", this._CollectionOfAnything);
+			parameterValues.put("_ListOfAnything", this._ListOfAnything);
+			parameterValues.put("useExtendedLabelProvider", this.useExtendedLabelProvider);
+			parameterValues.put("useStyledLabelProvider", this.useStyledLabelProvider);
+			parameterValues.put("_AdapterFactoryLabelProvider", this._AdapterFactoryLabelProvider);
+			parameterValues.put("_DelegatingAdapterFactoryLabelProvider", this._DelegatingAdapterFactoryLabelProvider);
+			parameterValues.put("_DecoratingColumLabelProvider", this._DecoratingColumLabelProvider);
+			parameterValues.put("_DiagnosticDecorator", this._DiagnosticDecorator);
+			parameterValues.put("_ArrayListOfString", this._ArrayListOfString);
+			parameterValues.put("_ListOfString", this._ListOfString);
+			parameterValues.put("_ListOfPropertySheetPage", this._ListOfPropertySheetPage);
+			parameterValues.put("_ArrayListOfPropertySheetPage", this._ArrayListOfPropertySheetPage);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.String importedOperationClassName = null;
+
+	public void set_importedOperationClassName(java.lang.String object) {
+		this.importedOperationClassName = object;
+	}
+
+	protected java.lang.String operationMethodName = null;
+
+	public void set_operationMethodName(java.lang.String object) {
+		this.operationMethodName = object;
+	}
+
+	protected java.lang.String _ArrayListOfObject = null;
+
+	public void set__ArrayListOfObject(java.lang.String object) {
+		this._ArrayListOfObject = object;
+	}
+
+	protected java.lang.String _ArrayListOfSelectionChangedListener = null;
+
+	public void set__ArrayListOfSelectionChangedListener(java.lang.String object) {
+		this._ArrayListOfSelectionChangedListener = object;
+	}
+
+	protected java.lang.String _CollectionOfSelectionChangedListener = null;
+
+	public void set__CollectionOfSelectionChangedListener(java.lang.String object) {
+		this._CollectionOfSelectionChangedListener = object;
+	}
+
+	protected java.lang.String _ArrayListOfResource = null;
+
+	public void set__ArrayListOfResource(java.lang.String object) {
+		this._ArrayListOfResource = object;
+	}
+
+	protected java.lang.String _CollectionOfResource = null;
+
+	public void set__CollectionOfResource(java.lang.String object) {
+		this._CollectionOfResource = object;
+	}
+
+	protected java.lang.String _MapOfResourceToDiagnostic = null;
+
+	public void set__MapOfResourceToDiagnostic(java.lang.String object) {
+		this._MapOfResourceToDiagnostic = object;
+	}
+
+	protected java.lang.String _HashMapOfResourceToBoolean = null;
+
+	public void set__HashMapOfResourceToBoolean(java.lang.String object) {
+		this._HashMapOfResourceToBoolean = object;
+	}
+
+	protected java.lang.String _MapOfObjectToObject = null;
+
+	public void set__MapOfObjectToObject(java.lang.String object) {
+		this._MapOfObjectToObject = object;
+	}
+
+	protected java.lang.String _HashMapOfObjectToObject = null;
+
+	public void set__HashMapOfObjectToObject(java.lang.String object) {
+		this._HashMapOfObjectToObject = object;
+	}
+
+	protected java.lang.String _LinkedHashMapOfResourceToDiagnostic = null;
+
+	public void set__LinkedHashMapOfResourceToDiagnostic(java.lang.String object) {
+		this._LinkedHashMapOfResourceToDiagnostic = object;
+	}
+
+	protected java.lang.String _CollectionOfAnything = null;
+
+	public void set__CollectionOfAnything(java.lang.String object) {
+		this._CollectionOfAnything = object;
+	}
+
+	protected java.lang.String _ListOfAnything = null;
+
+	public void set__ListOfAnything(java.lang.String object) {
+		this._ListOfAnything = object;
+	}
+
+	protected java.lang.Boolean useExtendedLabelProvider = null;
+
+	public void set_useExtendedLabelProvider(java.lang.Boolean object) {
+		this.useExtendedLabelProvider = object;
+	}
+
+	protected java.lang.Boolean useStyledLabelProvider = null;
+
+	public void set_useStyledLabelProvider(java.lang.Boolean object) {
+		this.useStyledLabelProvider = object;
+	}
+
+	protected java.lang.String _AdapterFactoryLabelProvider = null;
+
+	public void set__AdapterFactoryLabelProvider(java.lang.String object) {
+		this._AdapterFactoryLabelProvider = object;
+	}
+
+	protected java.lang.String _DelegatingAdapterFactoryLabelProvider = null;
+
+	public void set__DelegatingAdapterFactoryLabelProvider(java.lang.String object) {
+		this._DelegatingAdapterFactoryLabelProvider = object;
+	}
+
+	protected java.lang.String _DecoratingColumLabelProvider = null;
+
+	public void set__DecoratingColumLabelProvider(java.lang.String object) {
+		this._DecoratingColumLabelProvider = object;
+	}
+
+	protected java.lang.String _DiagnosticDecorator = null;
+
+	public void set__DiagnosticDecorator(java.lang.String object) {
+		this._DiagnosticDecorator = object;
+	}
+
+	protected java.lang.String _ArrayListOfString = null;
+
+	public void set__ArrayListOfString(java.lang.String object) {
+		this._ArrayListOfString = object;
+	}
+
+	protected java.lang.String _ListOfString = null;
+
+	public void set__ListOfString(java.lang.String object) {
+		this._ListOfString = object;
+	}
+
+	protected java.lang.String _ListOfPropertySheetPage = null;
+
+	public void set__ListOfPropertySheetPage(java.lang.String object) {
+		this._ListOfPropertySheetPage = object;
+	}
+
+	protected java.lang.String _ArrayListOfPropertySheetPage = null;
+
+	public void set__ArrayListOfPropertySheetPage(java.lang.String object) {
+		this._ArrayListOfPropertySheetPage = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("importedOperationClassName", this.importedOperationClassName);
+		parameters.put("operationMethodName", this.operationMethodName);
+		parameters.put("_ArrayListOfObject", this._ArrayListOfObject);
+		parameters.put("_ArrayListOfSelectionChangedListener", this._ArrayListOfSelectionChangedListener);
+		parameters.put("_CollectionOfSelectionChangedListener", this._CollectionOfSelectionChangedListener);
+		parameters.put("_ArrayListOfResource", this._ArrayListOfResource);
+		parameters.put("_CollectionOfResource", this._CollectionOfResource);
+		parameters.put("_MapOfResourceToDiagnostic", this._MapOfResourceToDiagnostic);
+		parameters.put("_HashMapOfResourceToBoolean", this._HashMapOfResourceToBoolean);
+		parameters.put("_MapOfObjectToObject", this._MapOfObjectToObject);
+		parameters.put("_HashMapOfObjectToObject", this._HashMapOfObjectToObject);
+		parameters.put("_LinkedHashMapOfResourceToDiagnostic", this._LinkedHashMapOfResourceToDiagnostic);
+		parameters.put("_CollectionOfAnything", this._CollectionOfAnything);
+		parameters.put("_ListOfAnything", this._ListOfAnything);
+		parameters.put("useExtendedLabelProvider", this.useExtendedLabelProvider);
+		parameters.put("useStyledLabelProvider", this.useStyledLabelProvider);
+		parameters.put("_AdapterFactoryLabelProvider", this._AdapterFactoryLabelProvider);
+		parameters.put("_DelegatingAdapterFactoryLabelProvider", this._DelegatingAdapterFactoryLabelProvider);
+		parameters.put("_DecoratingColumLabelProvider", this._DecoratingColumLabelProvider);
+		parameters.put("_DiagnosticDecorator", this._DiagnosticDecorator);
+		parameters.put("_ArrayListOfString", this._ArrayListOfString);
+		parameters.put("_ListOfString", this._ListOfString);
+		parameters.put("_ListOfPropertySheetPage", this._ListOfPropertySheetPage);
+		parameters.put("_ArrayListOfPropertySheetPage", this._ArrayListOfPropertySheetPage);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesoverride.java
index 7259454..c90ea22 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/editor/call/Editor/EditoraddItemProviderFactoriesoverride.java
@@ -1,498 +1,501 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.editor.call.Editor;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class EditoraddItemProviderFactoriesoverride {

-	protected static String nl;

-

-	public static synchronized EditoraddItemProviderFactoriesoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		EditoraddItemProviderFactoriesoverride result = new EditoraddItemProviderFactoriesoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t\tadapterFactory.addAdapterFactory(new ";

-	protected final String TEXT_3 = "());";

-	protected final String TEXT_4 = NL + "\t\tadapterFactory.addAdapterFactory(new ";

-	protected final String TEXT_5 = "());";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL;

-	protected final String TEXT_8 = NL;

-	protected final String TEXT_9 = NL;

-

-	public EditoraddItemProviderFactoriesoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> importedOperationClassNameList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> operationMethodNameList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ArrayListOfObjectList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ArrayListOfSelectionChangedListenerList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _CollectionOfSelectionChangedListenerList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ArrayListOfResourceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _CollectionOfResourceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _MapOfResourceToDiagnosticList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _HashMapOfResourceToBooleanList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _MapOfObjectToObjectList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _HashMapOfObjectToObjectList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _LinkedHashMapOfResourceToDiagnosticList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _CollectionOfAnythingList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ListOfAnythingList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> useExtendedLabelProviderList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> useStyledLabelProviderList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _AdapterFactoryLabelProviderList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _DelegatingAdapterFactoryLabelProviderList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _DecoratingColumLabelProviderList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _DiagnosticDecoratorList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ArrayListOfStringList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ListOfStringList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ListOfPropertySheetPageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _ArrayListOfPropertySheetPageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genPackageParameter : genPackageList) {

-			for (Object genModelParameter : genModelList) {

-				for (Object importedOperationClassNameParameter : importedOperationClassNameList) {

-					for (Object operationMethodNameParameter : operationMethodNameList) {

-						for (Object _ArrayListOfObjectParameter : _ArrayListOfObjectList) {

-							for (Object _ArrayListOfSelectionChangedListenerParameter : _ArrayListOfSelectionChangedListenerList) {

-								for (Object _CollectionOfSelectionChangedListenerParameter : _CollectionOfSelectionChangedListenerList) {

-									for (Object _ArrayListOfResourceParameter : _ArrayListOfResourceList) {

-										for (Object _CollectionOfResourceParameter : _CollectionOfResourceList) {

-											for (Object _MapOfResourceToDiagnosticParameter : _MapOfResourceToDiagnosticList) {

-												for (Object _HashMapOfResourceToBooleanParameter : _HashMapOfResourceToBooleanList) {

-													for (Object _MapOfObjectToObjectParameter : _MapOfObjectToObjectList) {

-														for (Object _HashMapOfObjectToObjectParameter : _HashMapOfObjectToObjectList) {

-															for (Object _LinkedHashMapOfResourceToDiagnosticParameter : _LinkedHashMapOfResourceToDiagnosticList) {

-																for (Object _CollectionOfAnythingParameter : _CollectionOfAnythingList) {

-																	for (Object _ListOfAnythingParameter : _ListOfAnythingList) {

-																		for (Object useExtendedLabelProviderParameter : useExtendedLabelProviderList) {

-																			for (Object useStyledLabelProviderParameter : useStyledLabelProviderList) {

-																				for (Object _AdapterFactoryLabelProviderParameter : _AdapterFactoryLabelProviderList) {

-																					for (Object _DelegatingAdapterFactoryLabelProviderParameter : _DelegatingAdapterFactoryLabelProviderList) {

-																						for (Object _DecoratingColumLabelProviderParameter : _DecoratingColumLabelProviderList) {

-																							for (Object _DiagnosticDecoratorParameter : _DiagnosticDecoratorList) {

-																								for (Object _ArrayListOfStringParameter : _ArrayListOfStringList) {

-																									for (Object _ListOfStringParameter : _ListOfStringList) {

-																										for (Object _ListOfPropertySheetPageParameter : _ListOfPropertySheetPageList) {

-																											for (Object _ArrayListOfPropertySheetPageParameter : _ArrayListOfPropertySheetPageList) {

-

-																												this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																												this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																												this.importedOperationClassName = (java.lang.String) importedOperationClassNameParameter;

-																												this.operationMethodName = (java.lang.String) operationMethodNameParameter;

-																												this._ArrayListOfObject = (java.lang.String) _ArrayListOfObjectParameter;

-																												this._ArrayListOfSelectionChangedListener = (java.lang.String) _ArrayListOfSelectionChangedListenerParameter;

-																												this._CollectionOfSelectionChangedListener = (java.lang.String) _CollectionOfSelectionChangedListenerParameter;

-																												this._ArrayListOfResource = (java.lang.String) _ArrayListOfResourceParameter;

-																												this._CollectionOfResource = (java.lang.String) _CollectionOfResourceParameter;

-																												this._MapOfResourceToDiagnostic = (java.lang.String) _MapOfResourceToDiagnosticParameter;

-																												this._HashMapOfResourceToBoolean = (java.lang.String) _HashMapOfResourceToBooleanParameter;

-																												this._MapOfObjectToObject = (java.lang.String) _MapOfObjectToObjectParameter;

-																												this._HashMapOfObjectToObject = (java.lang.String) _HashMapOfObjectToObjectParameter;

-																												this._LinkedHashMapOfResourceToDiagnostic = (java.lang.String) _LinkedHashMapOfResourceToDiagnosticParameter;

-																												this._CollectionOfAnything = (java.lang.String) _CollectionOfAnythingParameter;

-																												this._ListOfAnything = (java.lang.String) _ListOfAnythingParameter;

-																												this.useExtendedLabelProvider = (java.lang.Boolean) useExtendedLabelProviderParameter;

-																												this.useStyledLabelProvider = (java.lang.Boolean) useStyledLabelProviderParameter;

-																												this._AdapterFactoryLabelProvider = (java.lang.String) _AdapterFactoryLabelProviderParameter;

-																												this._DelegatingAdapterFactoryLabelProvider = (java.lang.String) _DelegatingAdapterFactoryLabelProviderParameter;

-																												this._DecoratingColumLabelProvider = (java.lang.String) _DecoratingColumLabelProviderParameter;

-																												this._DiagnosticDecorator = (java.lang.String) _DiagnosticDecoratorParameter;

-																												this._ArrayListOfString = (java.lang.String) _ArrayListOfStringParameter;

-																												this._ListOfString = (java.lang.String) _ListOfStringParameter;

-																												this._ListOfPropertySheetPage = (java.lang.String) _ListOfPropertySheetPageParameter;

-																												this._ArrayListOfPropertySheetPage = (java.lang.String) _ArrayListOfPropertySheetPageParameter;

-

-																												if (preCondition(ctx)) {

-																													ctx.setNode(new Node.Container(

-																															currentNode,

-																															getClass()));

-																													orchestration(ctx);

-																												}

-

-																											}

-																										}

-																									}

-																								}

-																							}

-																						}

-																					}

-																				}

-																			}

-																		}

-																	}

-																}

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_8);

-		stringBuffer.append(TEXT_9);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("importedOperationClassName", this.importedOperationClassName);

-			parameterValues.put("operationMethodName", this.operationMethodName);

-			parameterValues.put("_ArrayListOfObject", this._ArrayListOfObject);

-			parameterValues.put("_ArrayListOfSelectionChangedListener", this._ArrayListOfSelectionChangedListener);

-			parameterValues.put("_CollectionOfSelectionChangedListener", this._CollectionOfSelectionChangedListener);

-			parameterValues.put("_ArrayListOfResource", this._ArrayListOfResource);

-			parameterValues.put("_CollectionOfResource", this._CollectionOfResource);

-			parameterValues.put("_MapOfResourceToDiagnostic", this._MapOfResourceToDiagnostic);

-			parameterValues.put("_HashMapOfResourceToBoolean", this._HashMapOfResourceToBoolean);

-			parameterValues.put("_MapOfObjectToObject", this._MapOfObjectToObject);

-			parameterValues.put("_HashMapOfObjectToObject", this._HashMapOfObjectToObject);

-			parameterValues.put("_LinkedHashMapOfResourceToDiagnostic", this._LinkedHashMapOfResourceToDiagnostic);

-			parameterValues.put("_CollectionOfAnything", this._CollectionOfAnything);

-			parameterValues.put("_ListOfAnything", this._ListOfAnything);

-			parameterValues.put("useExtendedLabelProvider", this.useExtendedLabelProvider);

-			parameterValues.put("useStyledLabelProvider", this.useStyledLabelProvider);

-			parameterValues.put("_AdapterFactoryLabelProvider", this._AdapterFactoryLabelProvider);

-			parameterValues.put("_DelegatingAdapterFactoryLabelProvider", this._DelegatingAdapterFactoryLabelProvider);

-			parameterValues.put("_DecoratingColumLabelProvider", this._DecoratingColumLabelProvider);

-			parameterValues.put("_DiagnosticDecorator", this._DiagnosticDecorator);

-			parameterValues.put("_ArrayListOfString", this._ArrayListOfString);

-			parameterValues.put("_ListOfString", this._ListOfString);

-			parameterValues.put("_ListOfPropertySheetPage", this._ListOfPropertySheetPage);

-			parameterValues.put("_ArrayListOfPropertySheetPage", this._ArrayListOfPropertySheetPage);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.String importedOperationClassName = null;

-

-	public void set_importedOperationClassName(java.lang.String object) {

-		this.importedOperationClassName = object;

-	}

-

-	protected java.lang.String operationMethodName = null;

-

-	public void set_operationMethodName(java.lang.String object) {

-		this.operationMethodName = object;

-	}

-

-	protected java.lang.String _ArrayListOfObject = null;

-

-	public void set__ArrayListOfObject(java.lang.String object) {

-		this._ArrayListOfObject = object;

-	}

-

-	protected java.lang.String _ArrayListOfSelectionChangedListener = null;

-

-	public void set__ArrayListOfSelectionChangedListener(java.lang.String object) {

-		this._ArrayListOfSelectionChangedListener = object;

-	}

-

-	protected java.lang.String _CollectionOfSelectionChangedListener = null;

-

-	public void set__CollectionOfSelectionChangedListener(java.lang.String object) {

-		this._CollectionOfSelectionChangedListener = object;

-	}

-

-	protected java.lang.String _ArrayListOfResource = null;

-

-	public void set__ArrayListOfResource(java.lang.String object) {

-		this._ArrayListOfResource = object;

-	}

-

-	protected java.lang.String _CollectionOfResource = null;

-

-	public void set__CollectionOfResource(java.lang.String object) {

-		this._CollectionOfResource = object;

-	}

-

-	protected java.lang.String _MapOfResourceToDiagnostic = null;

-

-	public void set__MapOfResourceToDiagnostic(java.lang.String object) {

-		this._MapOfResourceToDiagnostic = object;

-	}

-

-	protected java.lang.String _HashMapOfResourceToBoolean = null;

-

-	public void set__HashMapOfResourceToBoolean(java.lang.String object) {

-		this._HashMapOfResourceToBoolean = object;

-	}

-

-	protected java.lang.String _MapOfObjectToObject = null;

-

-	public void set__MapOfObjectToObject(java.lang.String object) {

-		this._MapOfObjectToObject = object;

-	}

-

-	protected java.lang.String _HashMapOfObjectToObject = null;

-

-	public void set__HashMapOfObjectToObject(java.lang.String object) {

-		this._HashMapOfObjectToObject = object;

-	}

-

-	protected java.lang.String _LinkedHashMapOfResourceToDiagnostic = null;

-

-	public void set__LinkedHashMapOfResourceToDiagnostic(java.lang.String object) {

-		this._LinkedHashMapOfResourceToDiagnostic = object;

-	}

-

-	protected java.lang.String _CollectionOfAnything = null;

-

-	public void set__CollectionOfAnything(java.lang.String object) {

-		this._CollectionOfAnything = object;

-	}

-

-	protected java.lang.String _ListOfAnything = null;

-

-	public void set__ListOfAnything(java.lang.String object) {

-		this._ListOfAnything = object;

-	}

-

-	protected java.lang.Boolean useExtendedLabelProvider = null;

-

-	public void set_useExtendedLabelProvider(java.lang.Boolean object) {

-		this.useExtendedLabelProvider = object;

-	}

-

-	protected java.lang.Boolean useStyledLabelProvider = null;

-

-	public void set_useStyledLabelProvider(java.lang.Boolean object) {

-		this.useStyledLabelProvider = object;

-	}

-

-	protected java.lang.String _AdapterFactoryLabelProvider = null;

-

-	public void set__AdapterFactoryLabelProvider(java.lang.String object) {

-		this._AdapterFactoryLabelProvider = object;

-	}

-

-	protected java.lang.String _DelegatingAdapterFactoryLabelProvider = null;

-

-	public void set__DelegatingAdapterFactoryLabelProvider(java.lang.String object) {

-		this._DelegatingAdapterFactoryLabelProvider = object;

-	}

-

-	protected java.lang.String _DecoratingColumLabelProvider = null;

-

-	public void set__DecoratingColumLabelProvider(java.lang.String object) {

-		this._DecoratingColumLabelProvider = object;

-	}

-

-	protected java.lang.String _DiagnosticDecorator = null;

-

-	public void set__DiagnosticDecorator(java.lang.String object) {

-		this._DiagnosticDecorator = object;

-	}

-

-	protected java.lang.String _ArrayListOfString = null;

-

-	public void set__ArrayListOfString(java.lang.String object) {

-		this._ArrayListOfString = object;

-	}

-

-	protected java.lang.String _ListOfString = null;

-

-	public void set__ListOfString(java.lang.String object) {

-		this._ListOfString = object;

-	}

-

-	protected java.lang.String _ListOfPropertySheetPage = null;

-

-	public void set__ListOfPropertySheetPage(java.lang.String object) {

-		this._ListOfPropertySheetPage = object;

-	}

-

-	protected java.lang.String _ArrayListOfPropertySheetPage = null;

-

-	public void set__ArrayListOfPropertySheetPage(java.lang.String object) {

-		this._ArrayListOfPropertySheetPage = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("importedOperationClassName", this.importedOperationClassName);

-		parameters.put("operationMethodName", this.operationMethodName);

-		parameters.put("_ArrayListOfObject", this._ArrayListOfObject);

-		parameters.put("_ArrayListOfSelectionChangedListener", this._ArrayListOfSelectionChangedListener);

-		parameters.put("_CollectionOfSelectionChangedListener", this._CollectionOfSelectionChangedListener);

-		parameters.put("_ArrayListOfResource", this._ArrayListOfResource);

-		parameters.put("_CollectionOfResource", this._CollectionOfResource);

-		parameters.put("_MapOfResourceToDiagnostic", this._MapOfResourceToDiagnostic);

-		parameters.put("_HashMapOfResourceToBoolean", this._HashMapOfResourceToBoolean);

-		parameters.put("_MapOfObjectToObject", this._MapOfObjectToObject);

-		parameters.put("_HashMapOfObjectToObject", this._HashMapOfObjectToObject);

-		parameters.put("_LinkedHashMapOfResourceToDiagnostic", this._LinkedHashMapOfResourceToDiagnostic);

-		parameters.put("_CollectionOfAnything", this._CollectionOfAnything);

-		parameters.put("_ListOfAnything", this._ListOfAnything);

-		parameters.put("useExtendedLabelProvider", this.useExtendedLabelProvider);

-		parameters.put("useStyledLabelProvider", this.useStyledLabelProvider);

-		parameters.put("_AdapterFactoryLabelProvider", this._AdapterFactoryLabelProvider);

-		parameters.put("_DelegatingAdapterFactoryLabelProvider", this._DelegatingAdapterFactoryLabelProvider);

-		parameters.put("_DecoratingColumLabelProvider", this._DecoratingColumLabelProvider);

-		parameters.put("_DiagnosticDecorator", this._DiagnosticDecorator);

-		parameters.put("_ArrayListOfString", this._ArrayListOfString);

-		parameters.put("_ListOfString", this._ListOfString);

-		parameters.put("_ListOfPropertySheetPage", this._ListOfPropertySheetPage);

-		parameters.put("_ArrayListOfPropertySheetPage", this._ArrayListOfPropertySheetPage);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		for (GenPackage aGenPackage : genModel.getAllGenPackagesWithClassifiers()) {

-			if (!aGenPackage.getGenClasses().isEmpty() && aGenPackage.getGenModel().hasEditSupport()) {

-				stringBuffer.append(TEXT_2);

-				stringBuffer.append(aGenPackage.getImportedItemProviderAdapterFactoryClassName());

-				stringBuffer.append(TEXT_3);

-			}

-		}

-		for (GenPackage aGenPackage : genModel.getAllUsedGenPackagesWithClassifiers()) {

-			if (!aGenPackage.getGenClasses().isEmpty() && aGenPackage.getGenModel().hasEditSupport()) {

-				stringBuffer.append(TEXT_4);

-				stringBuffer.append(aGenPackage.getImportedItemProviderAdapterFactoryClassName());

-				stringBuffer.append(TEXT_5);

-			}

-		}

-		stringBuffer.append(TEXT_6);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.editor.call.Editor.Editor.addItemProviderFactories.insert" args="genPackage:genPackage,genModel:genModel,importedOperationClassName:importedOperationClassName,operationMethodName:operationMethodName,_ArrayListOfObject:_ArrayListOfObject,_ArrayListOfSelectionChangedListener:_ArrayListOfSelectionChangedListener,_CollectionOfSelectionChangedListener:_CollectionOfSelectionChangedListener,_ArrayListOfResource:_ArrayListOfResource,_CollectionOfResource:_CollectionOfResource,_MapOfResourceToDiagnostic:_MapOfResourceToDiagnostic,_HashMapOfResourceToBoolean:_HashMapOfResourceToBoolean,_MapOfObjectToObject:_MapOfObjectToObject,_HashMapOfObjectToObject:_HashMapOfObjectToObject,_LinkedHashMapOfResourceToDiagnostic:_LinkedHashMapOfResourceToDiagnostic,_CollectionOfAnything:_CollectionOfAnything,_ListOfAnything:_ListOfAnything,useExtendedLabelProvider:useExtendedLabelProvider,useStyledLabelProvider:useStyledLabelProvider,_AdapterFactoryLabelProvider:_AdapterFactoryLabelProvider,_DelegatingAdapterFactoryLabelProvider:_DelegatingAdapterFactoryLabelProvider,_DecoratingColumLabelProvider:_DecoratingColumLabelProvider,_DiagnosticDecorator:_DiagnosticDecorator,_ArrayListOfString:_ArrayListOfString,_ListOfString:_ListOfString,_ListOfPropertySheetPage:_ListOfPropertySheetPage,_ArrayListOfPropertySheetPage:_ArrayListOfPropertySheetPage"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("importedOperationClassName", importedOperationClassName);

-			callParameters.put("operationMethodName", operationMethodName);

-			callParameters.put("_ArrayListOfObject", _ArrayListOfObject);

-			callParameters.put("_ArrayListOfSelectionChangedListener", _ArrayListOfSelectionChangedListener);

-			callParameters.put("_CollectionOfSelectionChangedListener", _CollectionOfSelectionChangedListener);

-			callParameters.put("_ArrayListOfResource", _ArrayListOfResource);

-			callParameters.put("_CollectionOfResource", _CollectionOfResource);

-			callParameters.put("_MapOfResourceToDiagnostic", _MapOfResourceToDiagnostic);

-			callParameters.put("_HashMapOfResourceToBoolean", _HashMapOfResourceToBoolean);

-			callParameters.put("_MapOfObjectToObject", _MapOfObjectToObject);

-			callParameters.put("_HashMapOfObjectToObject", _HashMapOfObjectToObject);

-			callParameters.put("_LinkedHashMapOfResourceToDiagnostic", _LinkedHashMapOfResourceToDiagnostic);

-			callParameters.put("_CollectionOfAnything", _CollectionOfAnything);

-			callParameters.put("_ListOfAnything", _ListOfAnything);

-			callParameters.put("useExtendedLabelProvider", useExtendedLabelProvider);

-			callParameters.put("useStyledLabelProvider", useStyledLabelProvider);

-			callParameters.put("_AdapterFactoryLabelProvider", _AdapterFactoryLabelProvider);

-			callParameters.put("_DelegatingAdapterFactoryLabelProvider", _DelegatingAdapterFactoryLabelProvider);

-			callParameters.put("_DecoratingColumLabelProvider", _DecoratingColumLabelProvider);

-			callParameters.put("_DiagnosticDecorator", _DiagnosticDecorator);

-			callParameters.put("_ArrayListOfString", _ArrayListOfString);

-			callParameters.put("_ListOfString", _ListOfString);

-			callParameters.put("_ListOfPropertySheetPage", _ListOfPropertySheetPage);

-			callParameters.put("_ArrayListOfPropertySheetPage", _ArrayListOfPropertySheetPage);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_09RHMGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_7);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.editor.call.Editor;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class EditoraddItemProviderFactoriesoverride {
+	protected static String nl;
+
+	public static synchronized EditoraddItemProviderFactoriesoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		EditoraddItemProviderFactoriesoverride result = new EditoraddItemProviderFactoriesoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t\tadapterFactory.addAdapterFactory(new ";
+	protected final String TEXT_3 = "());";
+	protected final String TEXT_4 = NL + "\t\tadapterFactory.addAdapterFactory(new ";
+	protected final String TEXT_5 = "());";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL;
+	protected final String TEXT_8 = NL;
+	protected final String TEXT_9 = NL;
+
+	public EditoraddItemProviderFactoriesoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> importedOperationClassNameList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> operationMethodNameList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ArrayListOfObjectList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ArrayListOfSelectionChangedListenerList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _CollectionOfSelectionChangedListenerList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ArrayListOfResourceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _CollectionOfResourceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _MapOfResourceToDiagnosticList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _HashMapOfResourceToBooleanList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _MapOfObjectToObjectList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _HashMapOfObjectToObjectList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _LinkedHashMapOfResourceToDiagnosticList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _CollectionOfAnythingList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ListOfAnythingList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> useExtendedLabelProviderList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> useStyledLabelProviderList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _AdapterFactoryLabelProviderList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _DelegatingAdapterFactoryLabelProviderList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _DecoratingColumLabelProviderList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _DiagnosticDecoratorList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ArrayListOfStringList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ListOfStringList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ListOfPropertySheetPageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _ArrayListOfPropertySheetPageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genPackageParameter : genPackageList) {
+			for (Object genModelParameter : genModelList) {
+				for (Object importedOperationClassNameParameter : importedOperationClassNameList) {
+					for (Object operationMethodNameParameter : operationMethodNameList) {
+						for (Object _ArrayListOfObjectParameter : _ArrayListOfObjectList) {
+							for (Object _ArrayListOfSelectionChangedListenerParameter : _ArrayListOfSelectionChangedListenerList) {
+								for (Object _CollectionOfSelectionChangedListenerParameter : _CollectionOfSelectionChangedListenerList) {
+									for (Object _ArrayListOfResourceParameter : _ArrayListOfResourceList) {
+										for (Object _CollectionOfResourceParameter : _CollectionOfResourceList) {
+											for (Object _MapOfResourceToDiagnosticParameter : _MapOfResourceToDiagnosticList) {
+												for (Object _HashMapOfResourceToBooleanParameter : _HashMapOfResourceToBooleanList) {
+													for (Object _MapOfObjectToObjectParameter : _MapOfObjectToObjectList) {
+														for (Object _HashMapOfObjectToObjectParameter : _HashMapOfObjectToObjectList) {
+															for (Object _LinkedHashMapOfResourceToDiagnosticParameter : _LinkedHashMapOfResourceToDiagnosticList) {
+																for (Object _CollectionOfAnythingParameter : _CollectionOfAnythingList) {
+																	for (Object _ListOfAnythingParameter : _ListOfAnythingList) {
+																		for (Object useExtendedLabelProviderParameter : useExtendedLabelProviderList) {
+																			for (Object useStyledLabelProviderParameter : useStyledLabelProviderList) {
+																				for (Object _AdapterFactoryLabelProviderParameter : _AdapterFactoryLabelProviderList) {
+																					for (Object _DelegatingAdapterFactoryLabelProviderParameter : _DelegatingAdapterFactoryLabelProviderList) {
+																						for (Object _DecoratingColumLabelProviderParameter : _DecoratingColumLabelProviderList) {
+																							for (Object _DiagnosticDecoratorParameter : _DiagnosticDecoratorList) {
+																								for (Object _ArrayListOfStringParameter : _ArrayListOfStringList) {
+																									for (Object _ListOfStringParameter : _ListOfStringList) {
+																										for (Object _ListOfPropertySheetPageParameter : _ListOfPropertySheetPageList) {
+																											for (Object _ArrayListOfPropertySheetPageParameter : _ArrayListOfPropertySheetPageList) {
+
+																												this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																												this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																												this.importedOperationClassName = (java.lang.String) importedOperationClassNameParameter;
+																												this.operationMethodName = (java.lang.String) operationMethodNameParameter;
+																												this._ArrayListOfObject = (java.lang.String) _ArrayListOfObjectParameter;
+																												this._ArrayListOfSelectionChangedListener = (java.lang.String) _ArrayListOfSelectionChangedListenerParameter;
+																												this._CollectionOfSelectionChangedListener = (java.lang.String) _CollectionOfSelectionChangedListenerParameter;
+																												this._ArrayListOfResource = (java.lang.String) _ArrayListOfResourceParameter;
+																												this._CollectionOfResource = (java.lang.String) _CollectionOfResourceParameter;
+																												this._MapOfResourceToDiagnostic = (java.lang.String) _MapOfResourceToDiagnosticParameter;
+																												this._HashMapOfResourceToBoolean = (java.lang.String) _HashMapOfResourceToBooleanParameter;
+																												this._MapOfObjectToObject = (java.lang.String) _MapOfObjectToObjectParameter;
+																												this._HashMapOfObjectToObject = (java.lang.String) _HashMapOfObjectToObjectParameter;
+																												this._LinkedHashMapOfResourceToDiagnostic = (java.lang.String) _LinkedHashMapOfResourceToDiagnosticParameter;
+																												this._CollectionOfAnything = (java.lang.String) _CollectionOfAnythingParameter;
+																												this._ListOfAnything = (java.lang.String) _ListOfAnythingParameter;
+																												this.useExtendedLabelProvider = (java.lang.Boolean) useExtendedLabelProviderParameter;
+																												this.useStyledLabelProvider = (java.lang.Boolean) useStyledLabelProviderParameter;
+																												this._AdapterFactoryLabelProvider = (java.lang.String) _AdapterFactoryLabelProviderParameter;
+																												this._DelegatingAdapterFactoryLabelProvider = (java.lang.String) _DelegatingAdapterFactoryLabelProviderParameter;
+																												this._DecoratingColumLabelProvider = (java.lang.String) _DecoratingColumLabelProviderParameter;
+																												this._DiagnosticDecorator = (java.lang.String) _DiagnosticDecoratorParameter;
+																												this._ArrayListOfString = (java.lang.String) _ArrayListOfStringParameter;
+																												this._ListOfString = (java.lang.String) _ListOfStringParameter;
+																												this._ListOfPropertySheetPage = (java.lang.String) _ListOfPropertySheetPageParameter;
+																												this._ArrayListOfPropertySheetPage = (java.lang.String) _ArrayListOfPropertySheetPageParameter;
+
+																												if (preCondition(
+																														ctx)) {
+																													ctx.setNode(
+																															new Node.Container(
+																																	currentNode,
+																																	getClass()));
+																													orchestration(
+																															ctx);
+																												}
+
+																											}
+																										}
+																									}
+																								}
+																							}
+																						}
+																					}
+																				}
+																			}
+																		}
+																	}
+																}
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_8);
+		stringBuffer.append(TEXT_9);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("importedOperationClassName", this.importedOperationClassName);
+			parameterValues.put("operationMethodName", this.operationMethodName);
+			parameterValues.put("_ArrayListOfObject", this._ArrayListOfObject);
+			parameterValues.put("_ArrayListOfSelectionChangedListener", this._ArrayListOfSelectionChangedListener);
+			parameterValues.put("_CollectionOfSelectionChangedListener", this._CollectionOfSelectionChangedListener);
+			parameterValues.put("_ArrayListOfResource", this._ArrayListOfResource);
+			parameterValues.put("_CollectionOfResource", this._CollectionOfResource);
+			parameterValues.put("_MapOfResourceToDiagnostic", this._MapOfResourceToDiagnostic);
+			parameterValues.put("_HashMapOfResourceToBoolean", this._HashMapOfResourceToBoolean);
+			parameterValues.put("_MapOfObjectToObject", this._MapOfObjectToObject);
+			parameterValues.put("_HashMapOfObjectToObject", this._HashMapOfObjectToObject);
+			parameterValues.put("_LinkedHashMapOfResourceToDiagnostic", this._LinkedHashMapOfResourceToDiagnostic);
+			parameterValues.put("_CollectionOfAnything", this._CollectionOfAnything);
+			parameterValues.put("_ListOfAnything", this._ListOfAnything);
+			parameterValues.put("useExtendedLabelProvider", this.useExtendedLabelProvider);
+			parameterValues.put("useStyledLabelProvider", this.useStyledLabelProvider);
+			parameterValues.put("_AdapterFactoryLabelProvider", this._AdapterFactoryLabelProvider);
+			parameterValues.put("_DelegatingAdapterFactoryLabelProvider", this._DelegatingAdapterFactoryLabelProvider);
+			parameterValues.put("_DecoratingColumLabelProvider", this._DecoratingColumLabelProvider);
+			parameterValues.put("_DiagnosticDecorator", this._DiagnosticDecorator);
+			parameterValues.put("_ArrayListOfString", this._ArrayListOfString);
+			parameterValues.put("_ListOfString", this._ListOfString);
+			parameterValues.put("_ListOfPropertySheetPage", this._ListOfPropertySheetPage);
+			parameterValues.put("_ArrayListOfPropertySheetPage", this._ArrayListOfPropertySheetPage);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.String importedOperationClassName = null;
+
+	public void set_importedOperationClassName(java.lang.String object) {
+		this.importedOperationClassName = object;
+	}
+
+	protected java.lang.String operationMethodName = null;
+
+	public void set_operationMethodName(java.lang.String object) {
+		this.operationMethodName = object;
+	}
+
+	protected java.lang.String _ArrayListOfObject = null;
+
+	public void set__ArrayListOfObject(java.lang.String object) {
+		this._ArrayListOfObject = object;
+	}
+
+	protected java.lang.String _ArrayListOfSelectionChangedListener = null;
+
+	public void set__ArrayListOfSelectionChangedListener(java.lang.String object) {
+		this._ArrayListOfSelectionChangedListener = object;
+	}
+
+	protected java.lang.String _CollectionOfSelectionChangedListener = null;
+
+	public void set__CollectionOfSelectionChangedListener(java.lang.String object) {
+		this._CollectionOfSelectionChangedListener = object;
+	}
+
+	protected java.lang.String _ArrayListOfResource = null;
+
+	public void set__ArrayListOfResource(java.lang.String object) {
+		this._ArrayListOfResource = object;
+	}
+
+	protected java.lang.String _CollectionOfResource = null;
+
+	public void set__CollectionOfResource(java.lang.String object) {
+		this._CollectionOfResource = object;
+	}
+
+	protected java.lang.String _MapOfResourceToDiagnostic = null;
+
+	public void set__MapOfResourceToDiagnostic(java.lang.String object) {
+		this._MapOfResourceToDiagnostic = object;
+	}
+
+	protected java.lang.String _HashMapOfResourceToBoolean = null;
+
+	public void set__HashMapOfResourceToBoolean(java.lang.String object) {
+		this._HashMapOfResourceToBoolean = object;
+	}
+
+	protected java.lang.String _MapOfObjectToObject = null;
+
+	public void set__MapOfObjectToObject(java.lang.String object) {
+		this._MapOfObjectToObject = object;
+	}
+
+	protected java.lang.String _HashMapOfObjectToObject = null;
+
+	public void set__HashMapOfObjectToObject(java.lang.String object) {
+		this._HashMapOfObjectToObject = object;
+	}
+
+	protected java.lang.String _LinkedHashMapOfResourceToDiagnostic = null;
+
+	public void set__LinkedHashMapOfResourceToDiagnostic(java.lang.String object) {
+		this._LinkedHashMapOfResourceToDiagnostic = object;
+	}
+
+	protected java.lang.String _CollectionOfAnything = null;
+
+	public void set__CollectionOfAnything(java.lang.String object) {
+		this._CollectionOfAnything = object;
+	}
+
+	protected java.lang.String _ListOfAnything = null;
+
+	public void set__ListOfAnything(java.lang.String object) {
+		this._ListOfAnything = object;
+	}
+
+	protected java.lang.Boolean useExtendedLabelProvider = null;
+
+	public void set_useExtendedLabelProvider(java.lang.Boolean object) {
+		this.useExtendedLabelProvider = object;
+	}
+
+	protected java.lang.Boolean useStyledLabelProvider = null;
+
+	public void set_useStyledLabelProvider(java.lang.Boolean object) {
+		this.useStyledLabelProvider = object;
+	}
+
+	protected java.lang.String _AdapterFactoryLabelProvider = null;
+
+	public void set__AdapterFactoryLabelProvider(java.lang.String object) {
+		this._AdapterFactoryLabelProvider = object;
+	}
+
+	protected java.lang.String _DelegatingAdapterFactoryLabelProvider = null;
+
+	public void set__DelegatingAdapterFactoryLabelProvider(java.lang.String object) {
+		this._DelegatingAdapterFactoryLabelProvider = object;
+	}
+
+	protected java.lang.String _DecoratingColumLabelProvider = null;
+
+	public void set__DecoratingColumLabelProvider(java.lang.String object) {
+		this._DecoratingColumLabelProvider = object;
+	}
+
+	protected java.lang.String _DiagnosticDecorator = null;
+
+	public void set__DiagnosticDecorator(java.lang.String object) {
+		this._DiagnosticDecorator = object;
+	}
+
+	protected java.lang.String _ArrayListOfString = null;
+
+	public void set__ArrayListOfString(java.lang.String object) {
+		this._ArrayListOfString = object;
+	}
+
+	protected java.lang.String _ListOfString = null;
+
+	public void set__ListOfString(java.lang.String object) {
+		this._ListOfString = object;
+	}
+
+	protected java.lang.String _ListOfPropertySheetPage = null;
+
+	public void set__ListOfPropertySheetPage(java.lang.String object) {
+		this._ListOfPropertySheetPage = object;
+	}
+
+	protected java.lang.String _ArrayListOfPropertySheetPage = null;
+
+	public void set__ArrayListOfPropertySheetPage(java.lang.String object) {
+		this._ArrayListOfPropertySheetPage = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("importedOperationClassName", this.importedOperationClassName);
+		parameters.put("operationMethodName", this.operationMethodName);
+		parameters.put("_ArrayListOfObject", this._ArrayListOfObject);
+		parameters.put("_ArrayListOfSelectionChangedListener", this._ArrayListOfSelectionChangedListener);
+		parameters.put("_CollectionOfSelectionChangedListener", this._CollectionOfSelectionChangedListener);
+		parameters.put("_ArrayListOfResource", this._ArrayListOfResource);
+		parameters.put("_CollectionOfResource", this._CollectionOfResource);
+		parameters.put("_MapOfResourceToDiagnostic", this._MapOfResourceToDiagnostic);
+		parameters.put("_HashMapOfResourceToBoolean", this._HashMapOfResourceToBoolean);
+		parameters.put("_MapOfObjectToObject", this._MapOfObjectToObject);
+		parameters.put("_HashMapOfObjectToObject", this._HashMapOfObjectToObject);
+		parameters.put("_LinkedHashMapOfResourceToDiagnostic", this._LinkedHashMapOfResourceToDiagnostic);
+		parameters.put("_CollectionOfAnything", this._CollectionOfAnything);
+		parameters.put("_ListOfAnything", this._ListOfAnything);
+		parameters.put("useExtendedLabelProvider", this.useExtendedLabelProvider);
+		parameters.put("useStyledLabelProvider", this.useStyledLabelProvider);
+		parameters.put("_AdapterFactoryLabelProvider", this._AdapterFactoryLabelProvider);
+		parameters.put("_DelegatingAdapterFactoryLabelProvider", this._DelegatingAdapterFactoryLabelProvider);
+		parameters.put("_DecoratingColumLabelProvider", this._DecoratingColumLabelProvider);
+		parameters.put("_DiagnosticDecorator", this._DiagnosticDecorator);
+		parameters.put("_ArrayListOfString", this._ArrayListOfString);
+		parameters.put("_ListOfString", this._ListOfString);
+		parameters.put("_ListOfPropertySheetPage", this._ListOfPropertySheetPage);
+		parameters.put("_ArrayListOfPropertySheetPage", this._ArrayListOfPropertySheetPage);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		for (GenPackage aGenPackage : genModel.getAllGenPackagesWithClassifiers()) {
+			if (!aGenPackage.getGenClasses().isEmpty() && aGenPackage.getGenModel().hasEditSupport()) {
+				stringBuffer.append(TEXT_2);
+				stringBuffer.append(aGenPackage.getImportedItemProviderAdapterFactoryClassName());
+				stringBuffer.append(TEXT_3);
+			}
+		}
+		for (GenPackage aGenPackage : genModel.getAllUsedGenPackagesWithClassifiers()) {
+			if (!aGenPackage.getGenClasses().isEmpty() && aGenPackage.getGenModel().hasEditSupport()) {
+				stringBuffer.append(TEXT_4);
+				stringBuffer.append(aGenPackage.getImportedItemProviderAdapterFactoryClassName());
+				stringBuffer.append(TEXT_5);
+			}
+		}
+		stringBuffer.append(TEXT_6);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.editor.call.Editor.Editor.addItemProviderFactories.insert" args="genPackage:genPackage,genModel:genModel,importedOperationClassName:importedOperationClassName,operationMethodName:operationMethodName,_ArrayListOfObject:_ArrayListOfObject,_ArrayListOfSelectionChangedListener:_ArrayListOfSelectionChangedListener,_CollectionOfSelectionChangedListener:_CollectionOfSelectionChangedListener,_ArrayListOfResource:_ArrayListOfResource,_CollectionOfResource:_CollectionOfResource,_MapOfResourceToDiagnostic:_MapOfResourceToDiagnostic,_HashMapOfResourceToBoolean:_HashMapOfResourceToBoolean,_MapOfObjectToObject:_MapOfObjectToObject,_HashMapOfObjectToObject:_HashMapOfObjectToObject,_LinkedHashMapOfResourceToDiagnostic:_LinkedHashMapOfResourceToDiagnostic,_CollectionOfAnything:_CollectionOfAnything,_ListOfAnything:_ListOfAnything,useExtendedLabelProvider:useExtendedLabelProvider,useStyledLabelProvider:useStyledLabelProvider,_AdapterFactoryLabelProvider:_AdapterFactoryLabelProvider,_DelegatingAdapterFactoryLabelProvider:_DelegatingAdapterFactoryLabelProvider,_DecoratingColumLabelProvider:_DecoratingColumLabelProvider,_DiagnosticDecorator:_DiagnosticDecorator,_ArrayListOfString:_ArrayListOfString,_ListOfString:_ListOfString,_ListOfPropertySheetPage:_ListOfPropertySheetPage,_ArrayListOfPropertySheetPage:_ArrayListOfPropertySheetPage"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("importedOperationClassName", importedOperationClassName);
+			callParameters.put("operationMethodName", operationMethodName);
+			callParameters.put("_ArrayListOfObject", _ArrayListOfObject);
+			callParameters.put("_ArrayListOfSelectionChangedListener", _ArrayListOfSelectionChangedListener);
+			callParameters.put("_CollectionOfSelectionChangedListener", _CollectionOfSelectionChangedListener);
+			callParameters.put("_ArrayListOfResource", _ArrayListOfResource);
+			callParameters.put("_CollectionOfResource", _CollectionOfResource);
+			callParameters.put("_MapOfResourceToDiagnostic", _MapOfResourceToDiagnostic);
+			callParameters.put("_HashMapOfResourceToBoolean", _HashMapOfResourceToBoolean);
+			callParameters.put("_MapOfObjectToObject", _MapOfObjectToObject);
+			callParameters.put("_HashMapOfObjectToObject", _HashMapOfObjectToObject);
+			callParameters.put("_LinkedHashMapOfResourceToDiagnostic", _LinkedHashMapOfResourceToDiagnostic);
+			callParameters.put("_CollectionOfAnything", _CollectionOfAnything);
+			callParameters.put("_ListOfAnything", _ListOfAnything);
+			callParameters.put("useExtendedLabelProvider", useExtendedLabelProvider);
+			callParameters.put("useStyledLabelProvider", useStyledLabelProvider);
+			callParameters.put("_AdapterFactoryLabelProvider", _AdapterFactoryLabelProvider);
+			callParameters.put("_DelegatingAdapterFactoryLabelProvider", _DelegatingAdapterFactoryLabelProvider);
+			callParameters.put("_DecoratingColumLabelProvider", _DecoratingColumLabelProvider);
+			callParameters.put("_DiagnosticDecorator", _DiagnosticDecorator);
+			callParameters.put("_ArrayListOfString", _ArrayListOfString);
+			callParameters.put("_ListOfString", _ListOfString);
+			callParameters.put("_ListOfPropertySheetPage", _ListOfPropertySheetPage);
+			callParameters.put("_ArrayListOfPropertySheetPage", _ArrayListOfPropertySheetPage);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_09RHMGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_7);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/AdapterFactoryClass.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/AdapterFactoryClass.java
index e7a9357..e0b051f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/AdapterFactoryClass.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/AdapterFactoryClass.java
@@ -1,357 +1,344 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class AdapterFactoryClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized AdapterFactoryClass create(String lineSeparator) {

-		nl = lineSeparator;

-		AdapterFactoryClass result = new AdapterFactoryClass();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * The <b>Adapter Factory</b> for the model." + NL

-			+ " * It provides an adapter <code>createXXX</code> method for each class of the model." + NL

-			+ " * <!-- end-user-doc -->" + NL + " * @see ";

-	protected final String TEXT_5 = NL + " * @generated" + NL + " */" + NL + "public class ";

-	protected final String TEXT_6 = " extends AdapterFactoryImpl" + NL + "{";

-	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_8 = " copyright = ";

-	protected final String TEXT_9 = ";";

-	protected final String TEXT_10 = NL;

-	protected final String TEXT_11 = NL + "\t/**" + NL + "\t * The cached model package." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected static ";

-	protected final String TEXT_12 = " modelPackage;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Creates an instance of the adapter factory." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_13 = "()" + NL + "\t{" + NL + "\t\tif (modelPackage == null)" + NL + "\t\t{" + NL

-			+ "\t\t\tmodelPackage = ";

-	protected final String TEXT_14 = ".eINSTANCE;"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * Returns whether this factory is applicable for the type of the object."

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model."

-			+ NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return whether this factory is applicable for the type of the object." + NL + "\t * @generated"

-			+ NL + "\t */";

-	protected final String TEXT_15 = NL + "\t@Override";

-	protected final String TEXT_16 = NL + "\tpublic boolean isFactoryForType(Object object)" + NL + "\t{" + NL

-			+ "\t\tif (object == modelPackage)" + NL + "\t\t{" + NL + "\t\t\treturn true;" + NL + "\t\t}" + NL

-			+ "\t\tif (object instanceof EObject)" + NL + "\t\t{" + NL

-			+ "\t\t\treturn ((EObject)object).eClass().getEPackage() == modelPackage;" + NL + "\t\t}" + NL

-			+ "\t\treturn false;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * The switch that delegates to the <code>createXXX</code> methods." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_17 = " modelSwitch =" + NL + "\t\tnew ";

-	protected final String TEXT_18 = "()" + NL + "\t\t{";

-	protected final String TEXT_19 = NL + "\t\t\t@Override";

-	protected final String TEXT_20 = NL + "\t\t\tpublic ";

-	protected final String TEXT_21 = " case";

-	protected final String TEXT_22 = "(";

-	protected final String TEXT_23 = " object)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn create";

-	protected final String TEXT_24 = "Adapter();" + NL + "\t\t\t}";

-	protected final String TEXT_25 = NL + "\t\t\t@Override";

-	protected final String TEXT_26 = NL + "\t\t\tpublic ";

-	protected final String TEXT_27 = " defaultCase(EObject object)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn create";

-	protected final String TEXT_28 = "Adapter();" + NL + "\t\t\t}" + NL + "\t\t};" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Creates an adapter for the <code>target</code>." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @param target the object to adapt." + NL

-			+ "\t * @return the adapter for the <code>target</code>." + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_29 = NL + "\t@Override";

-	protected final String TEXT_30 = NL + "\tpublic Adapter createAdapter(Notifier target)" + NL + "\t{" + NL

-			+ "\t\treturn ";

-	protected final String TEXT_31 = "modelSwitch.doSwitch((EObject)target);" + NL + "\t}" + NL;

-	protected final String TEXT_32 = NL + NL + "\t/**" + NL

-			+ "\t * Creates a new adapter for an object of class '{@link ";

-	protected final String TEXT_33 = " <em>";

-	protected final String TEXT_34 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * This default implementation returns null so that we can easily ignore cases;" + NL

-			+ "\t * it's useful to ignore a case when inheritance will catch all the cases anyway." + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the new adapter." + NL + "\t * @see ";

-	protected final String TEXT_35 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic Adapter create";

-	protected final String TEXT_36 = "Adapter()" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}";

-	protected final String TEXT_37 = NL + NL + "\t/**" + NL + "\t * Creates a new adapter for the default case." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * This default implementation returns null." + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the new adapter." + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic Adapter create";

-	protected final String TEXT_38 = "Adapter()" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}" + NL + "" + NL

-			+ "} //";

-	protected final String TEXT_39 = NL;

-	protected final String TEXT_40 = NL;

-	protected final String TEXT_41 = NL;

-

-	public AdapterFactoryClass() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_40);

-		stringBuffer.append(TEXT_41);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getModelDirectory();

-		packageName = genPackage.getUtilitiesPackageName();

-		className = genPackage.getAdapterFactoryClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2006 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) argument;

-		GenModel genModel = genPackage.getGenModel(); /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getUtilitiesPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.addImport("org.eclipse.emf.common.notify.Adapter");

-		genModel.addImport("org.eclipse.emf.common.notify.Notifier");

-		genModel.addImport("org.eclipse.emf.common.notify.impl.AdapterFactoryImpl");

-		genModel.addImport("org.eclipse.emf.ecore.EObject");

-		if (!genPackage.hasJavaLangConflict()

-				&& !genPackage.getUtilitiesPackageName().equals(genPackage.getInterfacePackageName()))

-			genModel.addImport(genPackage.getInterfacePackageName() + ".*");

-		String typeArgument = genModel.useGenerics() ? "<Adapter>" : "";

-		String returnType = genModel.useGenerics() ? "Adapter" : genModel.getImportedName("java.lang.Object");

-		String adapterCast = genModel.useGenerics() ? "" : "(Adapter)";

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genPackage.getAdapterFactoryClassName());

-		stringBuffer.append(TEXT_6);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_10);

-		}

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(genPackage.getAdapterFactoryClassName());

-		stringBuffer.append(TEXT_13);

-		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-		stringBuffer.append(TEXT_14);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_15);

-		}

-		stringBuffer.append(TEXT_16);

-		stringBuffer.append(genPackage.getSwitchClassName());

-		stringBuffer.append(typeArgument);

-		stringBuffer.append(TEXT_17);

-		stringBuffer.append(genPackage.getSwitchClassName());

-		stringBuffer.append(typeArgument);

-		stringBuffer.append(TEXT_18);

-		for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_19);

-			}

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genClass.getTypeParameters());

-			stringBuffer.append(returnType);

-			stringBuffer.append(TEXT_21);

-			stringBuffer.append(genPackage.getClassUniqueName(genClass));

-			stringBuffer.append(TEXT_22);

-			stringBuffer.append(genClass.getImportedInterfaceName());

-			stringBuffer.append(genClass.getInterfaceTypeArguments());

-			stringBuffer.append(TEXT_23);

-			stringBuffer.append(genPackage.getClassUniqueName(genClass));

-			stringBuffer.append(TEXT_24);

-		}

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_25);

-		}

-		stringBuffer.append(TEXT_26);

-		stringBuffer.append(returnType);

-		stringBuffer.append(TEXT_27);

-		stringBuffer.append(genPackage.getClassUniqueName(null));

-		stringBuffer.append(TEXT_28);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_29);

-		}

-		stringBuffer.append(TEXT_30);

-		stringBuffer.append(adapterCast);

-		stringBuffer.append(TEXT_31);

-		for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {

-			stringBuffer.append(TEXT_32);

-			stringBuffer.append(genClass.getQualifiedInterfaceName());

-			stringBuffer.append(TEXT_33);

-			stringBuffer.append(genClass.getFormattedName());

-			stringBuffer.append(TEXT_34);

-			stringBuffer.append(genClass.getQualifiedInterfaceName());

-			stringBuffer.append(TEXT_35);

-			stringBuffer.append(genPackage.getClassUniqueName(genClass));

-			stringBuffer.append(TEXT_36);

-		}

-		stringBuffer.append(TEXT_37);

-		stringBuffer.append(genPackage.getClassUniqueName(null));

-		stringBuffer.append(TEXT_38);

-		stringBuffer.append(genPackage.getAdapterFactoryClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_39);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate

-				&& (genPackage.hasClassifiers() && genPackage.isAdapterFactory() && !genPackage.getGenClasses()

-						.isEmpty());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class AdapterFactoryClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized AdapterFactoryClass create(String lineSeparator) {
+		nl = lineSeparator;
+		AdapterFactoryClass result = new AdapterFactoryClass();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * The <b>Adapter Factory</b> for the model." + NL
+			+ " * It provides an adapter <code>createXXX</code> method for each class of the model." + NL
+			+ " * <!-- end-user-doc -->" + NL + " * @see ";
+	protected final String TEXT_5 = NL + " * @generated" + NL + " */" + NL + "public class ";
+	protected final String TEXT_6 = " extends AdapterFactoryImpl" + NL + "{";
+	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_8 = " copyright = ";
+	protected final String TEXT_9 = ";";
+	protected final String TEXT_10 = NL;
+	protected final String TEXT_11 = NL + "\t/**" + NL + "\t * The cached model package." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected static ";
+	protected final String TEXT_12 = " modelPackage;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Creates an instance of the adapter factory." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_13 = "()" + NL + "\t{" + NL + "\t\tif (modelPackage == null)" + NL + "\t\t{" + NL
+			+ "\t\t\tmodelPackage = ";
+	protected final String TEXT_14 = ".eINSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Returns whether this factory is applicable for the type of the object." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model."
+			+ NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return whether this factory is applicable for the type of the object." + NL + "\t * @generated"
+			+ NL + "\t */";
+	protected final String TEXT_15 = NL + "\t@Override";
+	protected final String TEXT_16 = NL + "\tpublic boolean isFactoryForType(Object object)" + NL + "\t{" + NL
+			+ "\t\tif (object == modelPackage)" + NL + "\t\t{" + NL + "\t\t\treturn true;" + NL + "\t\t}" + NL
+			+ "\t\tif (object instanceof EObject)" + NL + "\t\t{" + NL
+			+ "\t\t\treturn ((EObject)object).eClass().getEPackage() == modelPackage;" + NL + "\t\t}" + NL
+			+ "\t\treturn false;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * The switch that delegates to the <code>createXXX</code> methods." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ";
+	protected final String TEXT_17 = " modelSwitch =" + NL + "\t\tnew ";
+	protected final String TEXT_18 = "()" + NL + "\t\t{";
+	protected final String TEXT_19 = NL + "\t\t\t@Override";
+	protected final String TEXT_20 = NL + "\t\t\tpublic ";
+	protected final String TEXT_21 = " case";
+	protected final String TEXT_22 = "(";
+	protected final String TEXT_23 = " object)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn create";
+	protected final String TEXT_24 = "Adapter();" + NL + "\t\t\t}";
+	protected final String TEXT_25 = NL + "\t\t\t@Override";
+	protected final String TEXT_26 = NL + "\t\t\tpublic ";
+	protected final String TEXT_27 = " defaultCase(EObject object)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn create";
+	protected final String TEXT_28 = "Adapter();" + NL + "\t\t\t}" + NL + "\t\t};" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Creates an adapter for the <code>target</code>." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @param target the object to adapt." + NL
+			+ "\t * @return the adapter for the <code>target</code>." + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_29 = NL + "\t@Override";
+	protected final String TEXT_30 = NL + "\tpublic Adapter createAdapter(Notifier target)" + NL + "\t{" + NL
+			+ "\t\treturn ";
+	protected final String TEXT_31 = "modelSwitch.doSwitch((EObject)target);" + NL + "\t}" + NL;
+	protected final String TEXT_32 = NL + NL + "\t/**" + NL
+			+ "\t * Creates a new adapter for an object of class '{@link ";
+	protected final String TEXT_33 = " <em>";
+	protected final String TEXT_34 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * This default implementation returns null so that we can easily ignore cases;" + NL
+			+ "\t * it's useful to ignore a case when inheritance will catch all the cases anyway." + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the new adapter." + NL + "\t * @see ";
+	protected final String TEXT_35 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic Adapter create";
+	protected final String TEXT_36 = "Adapter()" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}";
+	protected final String TEXT_37 = NL + NL + "\t/**" + NL + "\t * Creates a new adapter for the default case." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * This default implementation returns null." + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the new adapter." + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tpublic Adapter create";
+	protected final String TEXT_38 = "Adapter()" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}" + NL + "" + NL
+			+ "} //";
+	protected final String TEXT_39 = NL;
+	protected final String TEXT_40 = NL;
+	protected final String TEXT_41 = NL;
+
+	public AdapterFactoryClass() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_40);
+		stringBuffer.append(TEXT_41);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getModelDirectory();
+		packageName = genPackage.getUtilitiesPackageName();
+		className = genPackage.getAdapterFactoryClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2006 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) argument;
+		GenModel genModel = genPackage.getGenModel();
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getUtilitiesPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.addImport("org.eclipse.emf.common.notify.Adapter");
+		genModel.addImport("org.eclipse.emf.common.notify.Notifier");
+		genModel.addImport("org.eclipse.emf.common.notify.impl.AdapterFactoryImpl");
+		genModel.addImport("org.eclipse.emf.ecore.EObject");
+		if (!genPackage.hasJavaLangConflict()
+				&& !genPackage.getUtilitiesPackageName().equals(genPackage.getInterfacePackageName()))
+			genModel.addImport(genPackage.getInterfacePackageName() + ".*");
+		String typeArgument = genModel.useGenerics() ? "<Adapter>" : "";
+		String returnType = genModel.useGenerics() ? "Adapter" : genModel.getImportedName("java.lang.Object");
+		String adapterCast = genModel.useGenerics() ? "" : "(Adapter)";
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genPackage.getAdapterFactoryClassName());
+		stringBuffer.append(TEXT_6);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_10);
+		}
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(genPackage.getAdapterFactoryClassName());
+		stringBuffer.append(TEXT_13);
+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+		stringBuffer.append(TEXT_14);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_15);
+		}
+		stringBuffer.append(TEXT_16);
+		stringBuffer.append(genPackage.getSwitchClassName());
+		stringBuffer.append(typeArgument);
+		stringBuffer.append(TEXT_17);
+		stringBuffer.append(genPackage.getSwitchClassName());
+		stringBuffer.append(typeArgument);
+		stringBuffer.append(TEXT_18);
+		for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_19);
+			}
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genClass.getTypeParameters());
+			stringBuffer.append(returnType);
+			stringBuffer.append(TEXT_21);
+			stringBuffer.append(genPackage.getClassUniqueName(genClass));
+			stringBuffer.append(TEXT_22);
+			stringBuffer.append(genClass.getImportedInterfaceName());
+			stringBuffer.append(genClass.getInterfaceTypeArguments());
+			stringBuffer.append(TEXT_23);
+			stringBuffer.append(genPackage.getClassUniqueName(genClass));
+			stringBuffer.append(TEXT_24);
+		}
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_25);
+		}
+		stringBuffer.append(TEXT_26);
+		stringBuffer.append(returnType);
+		stringBuffer.append(TEXT_27);
+		stringBuffer.append(genPackage.getClassUniqueName(null));
+		stringBuffer.append(TEXT_28);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_29);
+		}
+		stringBuffer.append(TEXT_30);
+		stringBuffer.append(adapterCast);
+		stringBuffer.append(TEXT_31);
+		for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {
+			stringBuffer.append(TEXT_32);
+			stringBuffer.append(genClass.getQualifiedInterfaceName());
+			stringBuffer.append(TEXT_33);
+			stringBuffer.append(genClass.getFormattedName());
+			stringBuffer.append(TEXT_34);
+			stringBuffer.append(genClass.getQualifiedInterfaceName());
+			stringBuffer.append(TEXT_35);
+			stringBuffer.append(genPackage.getClassUniqueName(genClass));
+			stringBuffer.append(TEXT_36);
+		}
+		stringBuffer.append(TEXT_37);
+		stringBuffer.append(genPackage.getClassUniqueName(null));
+		stringBuffer.append(TEXT_38);
+		stringBuffer.append(genPackage.getAdapterFactoryClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_39);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.isAdapterFactory()
+				&& !genPackage.getGenClasses().isEmpty());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/BuildProperties.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/BuildProperties.java
index 29c4139..a5fe746 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/BuildProperties.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/BuildProperties.java
@@ -1,225 +1,224 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class BuildProperties extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized BuildProperties create(String lineSeparator) {

-		nl = lineSeparator;

-		BuildProperties result = new BuildProperties();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + NL + "bin.includes = ";

-	protected final String TEXT_3 = ",\\" + NL + "               model/,\\";

-	protected final String TEXT_4 = NL + "               icons/,\\";

-	protected final String TEXT_5 = NL + "               META-INF/,\\";

-	protected final String TEXT_6 = NL + "               plugin.xml,\\";

-	protected final String TEXT_7 = NL + "               plugin.properties" + NL + "jars.compile.order = ";

-	protected final String TEXT_8 = NL + "source.";

-	protected final String TEXT_9 = " = ";

-	protected final String TEXT_10 = NL + "output.";

-	protected final String TEXT_11 = " = bin/" + NL;

-	protected final String TEXT_12 = NL;

-	protected final String TEXT_13 = NL;

-

-	public BuildProperties() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(TEXT_13);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getModelProjectDirectory() + "/build.properties";

-		overwrite = genModel.isUpdateClasspath()

-				&& !new CodegenGeneratorAdapter(parameter).exists(new CodegenGeneratorAdapter(parameter).toURI(

-						genModel.getModelProjectDirectory()).appendSegment("plugin.xml"));

-		encoding = "ISO-8859-1";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2010 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getModelPluginID() + ".jar" : ".";

-		List<String> sourceFolders = genModel.getModelSourceFolders();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(pluginClassesLocation);

-		stringBuffer.append(TEXT_3);

-		if (genModel.sameModelEditProject() || genModel.sameModelEditorProject()) {

-			stringBuffer.append(TEXT_4);

-		}

-		if (genModel.isBundleManifest()) {

-			stringBuffer.append(TEXT_5);

-		}

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_6);

-		}

-		stringBuffer.append(TEXT_7);

-		stringBuffer.append(pluginClassesLocation);

-		boolean first = true;

-		for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) {

-			String sourceFolder = i.next();

-			if (i.hasNext()) {

-				sourceFolder += ",\\";

-			}

-			if (first) {

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(pluginClassesLocation);

-				stringBuffer.append(TEXT_9);

-				stringBuffer.append(sourceFolder);

-				first = false;

-			} else {

-				stringBuffer.append(sourceFolder);

-			}

-		}

-		stringBuffer.append(TEXT_10);

-		stringBuffer.append(pluginClassesLocation);

-		stringBuffer.append(TEXT_11);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate && (genModel.hasPluginSupport());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class BuildProperties extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized BuildProperties create(String lineSeparator) {
+		nl = lineSeparator;
+		BuildProperties result = new BuildProperties();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + NL + "bin.includes = ";
+	protected final String TEXT_3 = ",\\" + NL + "               model/,\\";
+	protected final String TEXT_4 = NL + "               icons/,\\";
+	protected final String TEXT_5 = NL + "               META-INF/,\\";
+	protected final String TEXT_6 = NL + "               plugin.xml,\\";
+	protected final String TEXT_7 = NL + "               plugin.properties" + NL + "jars.compile.order = ";
+	protected final String TEXT_8 = NL + "source.";
+	protected final String TEXT_9 = " = ";
+	protected final String TEXT_10 = NL + "output.";
+	protected final String TEXT_11 = " = bin/" + NL;
+	protected final String TEXT_12 = NL;
+	protected final String TEXT_13 = NL;
+
+	public BuildProperties() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(TEXT_13);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getModelProjectDirectory() + "/build.properties";
+		overwrite = genModel.isUpdateClasspath()
+				&& !new CodegenGeneratorAdapter(parameter).exists(new CodegenGeneratorAdapter(parameter)
+						.toURI(genModel.getModelProjectDirectory()).appendSegment("plugin.xml"));
+		encoding = "ISO-8859-1";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2010 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getModelPluginID() + ".jar" : ".";
+		List<String> sourceFolders = genModel.getModelSourceFolders();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(pluginClassesLocation);
+		stringBuffer.append(TEXT_3);
+		if (genModel.sameModelEditProject() || genModel.sameModelEditorProject()) {
+			stringBuffer.append(TEXT_4);
+		}
+		if (genModel.isBundleManifest()) {
+			stringBuffer.append(TEXT_5);
+		}
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_6);
+		}
+		stringBuffer.append(TEXT_7);
+		stringBuffer.append(pluginClassesLocation);
+		boolean first = true;
+		for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) {
+			String sourceFolder = i.next();
+			if (i.hasNext()) {
+				sourceFolder += ",\\";
+			}
+			if (first) {
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(pluginClassesLocation);
+				stringBuffer.append(TEXT_9);
+				stringBuffer.append(sourceFolder);
+				first = false;
+			} else {
+				stringBuffer.append(sourceFolder);
+			}
+		}
+		stringBuffer.append(TEXT_10);
+		stringBuffer.append(pluginClassesLocation);
+		stringBuffer.append(TEXT_11);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genModel.hasPluginSupport());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Class.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Class.java
index 8172304..c54fe0e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Class.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Class.java
@@ -1,2289 +1,2249 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Class extends org.eclipse.egf.emf.pattern.base.GenClassJava {

-	protected static String nl;

-

-	public static synchronized Class create(String lineSeparator) {

-		nl = lineSeparator;

-		Class result = new Class();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";";

-	protected final String TEXT_4 = NL + "package ";

-	protected final String TEXT_5 = ";";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL;

-	protected final String TEXT_8 = NL;

-	protected final String TEXT_9 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * An implementation of the model object '<em><b>";

-	protected final String TEXT_10 = "</b></em>'." + NL + " * <!-- end-user-doc -->";

-	protected final String TEXT_11 = NL + " * <p>" + NL + " * The following features are implemented:" + NL + " * </p>"

-			+ NL + " * <ul>";

-	protected final String TEXT_12 = NL + " *   <li>{@link ";

-	protected final String TEXT_13 = "#";

-	protected final String TEXT_14 = " <em>";

-	protected final String TEXT_15 = "</em>}</li>";

-	protected final String TEXT_16 = NL + " * </ul>";

-	protected final String TEXT_17 = NL + " *" + NL + " * @generated" + NL + " */";

-	protected final String TEXT_18 = NL + "public";

-	protected final String TEXT_19 = " abstract";

-	protected final String TEXT_20 = " class ";

-	protected final String TEXT_21 = NL + "public interface ";

-	protected final String TEXT_22 = NL + "{";

-	protected final String TEXT_23 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_24 = " copyright = ";

-	protected final String TEXT_25 = ";";

-	protected final String TEXT_26 = NL;

-	protected final String TEXT_27 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_28 = " mofDriverNumber = \"";

-	protected final String TEXT_29 = "\";";

-	protected final String TEXT_30 = NL;

-	protected final String TEXT_31 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate static final long serialVersionUID = 1L;" + NL;

-	protected final String TEXT_32 = NL + "\t/**" + NL

-			+ "\t * An array of objects representing the values of non-primitive features." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_33 = NL + "\t@";

-	protected final String TEXT_34 = NL + "\tprotected Object[] ";

-	protected final String TEXT_35 = ";" + NL;

-	protected final String TEXT_36 = NL + "\t/**" + NL

-			+ "\t * A bit field representing the indices of non-primitive feature values." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_37 = NL + "\t@";

-	protected final String TEXT_38 = NL + "\tprotected int ";

-	protected final String TEXT_39 = ";" + NL;

-	protected final String TEXT_40 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * A set of bit flags representing the values of boolean attributes and whether unsettable features have been set."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_41 = NL + "\t@";

-	protected final String TEXT_42 = NL + "\tprotected int ";

-	protected final String TEXT_43 = " = 0;" + NL;

-	protected final String TEXT_44 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";

-	protected final String TEXT_45 = "() <em>";

-	protected final String TEXT_46 = "</em>}' array accessor." + NL

-			+ "\t * This is specialized for the more specific element type known in this context." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

-	protected final String TEXT_47 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_48 = NL + "\t@SuppressWarnings(\"rawtypes\")";

-	protected final String TEXT_49 = NL + "\tprotected static final ";

-	protected final String TEXT_50 = "[] ";

-	protected final String TEXT_51 = "_EEMPTY_ARRAY = new ";

-	protected final String TEXT_52 = " [0]";

-	protected final String TEXT_53 = ";" + NL;

-	protected final String TEXT_54 = NL;

-	protected final String TEXT_55 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final int ";

-	protected final String TEXT_56 = " = ";

-	protected final String TEXT_57 = ".getFeatureID(";

-	protected final String TEXT_58 = ") - ";

-	protected final String TEXT_59 = ";" + NL;

-	protected final String TEXT_60 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final int ";

-	protected final String TEXT_61 = " = ";

-	protected final String TEXT_62 = ".getFeatureID(";

-	protected final String TEXT_63 = ") - ";

-	protected final String TEXT_64 = ";" + NL;

-	protected final String TEXT_65 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate static final int \"EOPERATION_OFFSET_CORRECTION\" = ";

-	protected final String TEXT_66 = ".getOperationID(";

-	protected final String TEXT_67 = ") - ";

-	protected final String TEXT_68 = ";" + NL;

-	protected final String TEXT_69 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_70 = "public";

-	protected final String TEXT_71 = "protected";

-	protected final String TEXT_72 = " ";

-	protected final String TEXT_73 = "()" + NL + "\t{";

-	protected final String TEXT_74 = NL;

-	protected final String TEXT_75 = NL + "\t\t";

-	protected final String TEXT_76 = " |= ";

-	protected final String TEXT_77 = "_EFLAG";

-	protected final String TEXT_78 = "_DEFAULT";

-	protected final String TEXT_79 = ";";

-	protected final String TEXT_80 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_81 = NL + "\t@Override";

-	protected final String TEXT_82 = NL + "\tprotected ";

-	protected final String TEXT_83 = " eStaticClass()" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_84 = ";" + NL + "\t}" + NL;

-	protected final String TEXT_85 = NL;

-	protected final String TEXT_86 = NL;

-	protected final String TEXT_87 = NL;

-	protected final String TEXT_88 = NL;

-	protected final String TEXT_89 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_90 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_91 = NL + "\t@Override";

-	protected final String TEXT_92 = NL + "\tpublic ";

-	protected final String TEXT_93 = " eInverseAdd(";

-	protected final String TEXT_94 = " otherEnd, int featureID, ";

-	protected final String TEXT_95 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";

-	protected final String TEXT_96 = ")" + NL + "\t\t{";

-	protected final String TEXT_97 = NL + "\t\t\tcase ";

-	protected final String TEXT_98 = ":";

-	protected final String TEXT_99 = NL + "\t\t\t\treturn ((";

-	protected final String TEXT_100 = "(";

-	protected final String TEXT_101 = ".InternalMapView";

-	protected final String TEXT_102 = ")";

-	protected final String TEXT_103 = "()).eMap()).basicAdd(otherEnd, msgs);";

-	protected final String TEXT_104 = NL + "\t\t\t\treturn (";

-	protected final String TEXT_105 = "()).basicAdd(otherEnd, msgs);";

-	protected final String TEXT_106 = NL + "\t\t\t\tif (eInternalContainer() != null)" + NL

-			+ "\t\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);";

-	protected final String TEXT_107 = NL + "\t\t\t\treturn basicSet";

-	protected final String TEXT_108 = "((";

-	protected final String TEXT_109 = ")otherEnd, msgs);";

-	protected final String TEXT_110 = NL + "\t\t\t\treturn eBasicSetContainer(otherEnd, ";

-	protected final String TEXT_111 = ", msgs);";

-	protected final String TEXT_112 = NL + "\t\t\t\t";

-	protected final String TEXT_113 = " ";

-	protected final String TEXT_114 = " = (";

-	protected final String TEXT_115 = ")eVirtualGet(";

-	protected final String TEXT_116 = ");";

-	protected final String TEXT_117 = NL + "\t\t\t\t";

-	protected final String TEXT_118 = " ";

-	protected final String TEXT_119 = " = ";

-	protected final String TEXT_120 = "basicGet";

-	protected final String TEXT_121 = "();";

-	protected final String TEXT_122 = NL + "\t\t\t\tif (";

-	protected final String TEXT_123 = " != null)";

-	protected final String TEXT_124 = NL + "\t\t\t\t\tmsgs = ((";

-	protected final String TEXT_125 = ")";

-	protected final String TEXT_126 = ").eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

-	protected final String TEXT_127 = ", null, msgs);";

-	protected final String TEXT_128 = NL + "\t\t\t\t\tmsgs = ((";

-	protected final String TEXT_129 = ")";

-	protected final String TEXT_130 = ").eInverseRemove(this, ";

-	protected final String TEXT_131 = ", ";

-	protected final String TEXT_132 = ".class, msgs);";

-	protected final String TEXT_133 = NL + "\t\t\t\treturn basicSet";

-	protected final String TEXT_134 = "((";

-	protected final String TEXT_135 = ")otherEnd, msgs);";

-	protected final String TEXT_136 = NL + "\t\t}";

-	protected final String TEXT_137 = NL + "\t\treturn super.eInverseAdd(otherEnd, featureID, msgs);";

-	protected final String TEXT_138 = NL + "\t\treturn eDynamicInverseAdd(otherEnd, featureID, msgs);";

-	protected final String TEXT_139 = NL + "\t}" + NL;

-	protected final String TEXT_140 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_141 = NL + "\t@Override";

-	protected final String TEXT_142 = NL + "\tpublic ";

-	protected final String TEXT_143 = " eInverseRemove(";

-	protected final String TEXT_144 = " otherEnd, int featureID, ";

-	protected final String TEXT_145 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";

-	protected final String TEXT_146 = ")" + NL + "\t\t{";

-	protected final String TEXT_147 = NL + "\t\t\tcase ";

-	protected final String TEXT_148 = ":";

-	protected final String TEXT_149 = NL + "\t\t\t\treturn ((";

-	protected final String TEXT_150 = ")((";

-	protected final String TEXT_151 = ".InternalMapView";

-	protected final String TEXT_152 = ")";

-	protected final String TEXT_153 = "()).eMap()).basicRemove(otherEnd, msgs);";

-	protected final String TEXT_154 = NL + "\t\t\t\treturn ((";

-	protected final String TEXT_155 = ")((";

-	protected final String TEXT_156 = ".Internal.Wrapper)";

-	protected final String TEXT_157 = "()).featureMap()).basicRemove(otherEnd, msgs);";

-	protected final String TEXT_158 = NL + "\t\t\t\treturn ((";

-	protected final String TEXT_159 = ")";

-	protected final String TEXT_160 = "()).basicRemove(otherEnd, msgs);";

-	protected final String TEXT_161 = NL + "\t\t\t\treturn eBasicSetContainer(null, ";

-	protected final String TEXT_162 = ", msgs);";

-	protected final String TEXT_163 = NL + "\t\t\t\treturn basicUnset";

-	protected final String TEXT_164 = "(msgs);";

-	protected final String TEXT_165 = NL + "\t\t\t\treturn basicSet";

-	protected final String TEXT_166 = "(null, msgs);";

-	protected final String TEXT_167 = NL + "\t\t}";

-	protected final String TEXT_168 = NL + "\t\treturn super.eInverseRemove(otherEnd, featureID, msgs);";

-	protected final String TEXT_169 = NL + "\t\treturn eDynamicInverseRemove(otherEnd, featureID, msgs);";

-	protected final String TEXT_170 = NL + "\t}" + NL;

-	protected final String TEXT_171 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_172 = NL + "\t@Override";

-	protected final String TEXT_173 = NL + "\tpublic ";

-	protected final String TEXT_174 = " eBasicRemoveFromContainerFeature(";

-	protected final String TEXT_175 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (eContainerFeatureID()";

-	protected final String TEXT_176 = ")" + NL + "\t\t{";

-	protected final String TEXT_177 = NL + "\t\t\tcase ";

-	protected final String TEXT_178 = ":" + NL + "\t\t\t\treturn eInternalContainer().eInverseRemove(this, ";

-	protected final String TEXT_179 = ", ";

-	protected final String TEXT_180 = ".class, msgs);";

-	protected final String TEXT_181 = NL + "\t\t}";

-	protected final String TEXT_182 = NL + "\t\treturn super.eBasicRemoveFromContainerFeature(msgs);";

-	protected final String TEXT_183 = NL + "\t\treturn eDynamicBasicRemoveFromContainer(msgs);";

-	protected final String TEXT_184 = NL + "\t}" + NL;

-	protected final String TEXT_185 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_186 = NL + "\t@Override";

-	protected final String TEXT_187 = NL + "\tpublic Object eGet(int featureID, boolean resolve, boolean coreType)"

-			+ NL + "\t{" + NL + "\t\tswitch (featureID";

-	protected final String TEXT_188 = ")" + NL + "\t\t{";

-	protected final String TEXT_189 = NL + "\t\t\tcase ";

-	protected final String TEXT_190 = ":";

-	protected final String TEXT_191 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_192 = "();";

-	protected final String TEXT_193 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_194 = "() ? Boolean.TRUE : Boolean.FALSE;";

-	protected final String TEXT_195 = NL + "\t\t\t\treturn new ";

-	protected final String TEXT_196 = "(";

-	protected final String TEXT_197 = "());";

-	protected final String TEXT_198 = NL + "\t\t\t\tif (resolve) return ";

-	protected final String TEXT_199 = "();" + NL + "\t\t\t\treturn basicGet";

-	protected final String TEXT_200 = "();";

-	protected final String TEXT_201 = NL + "\t\t\t\tif (coreType) return ((";

-	protected final String TEXT_202 = ".InternalMapView";

-	protected final String TEXT_203 = ")";

-	protected final String TEXT_204 = "()).eMap();" + NL + "\t\t\t\telse return ";

-	protected final String TEXT_205 = "();";

-	protected final String TEXT_206 = NL + "\t\t\t\tif (coreType) return ";

-	protected final String TEXT_207 = "();" + NL + "\t\t\t\telse return ";

-	protected final String TEXT_208 = "().map();";

-	protected final String TEXT_209 = NL + "\t\t\t\tif (coreType) return ((";

-	protected final String TEXT_210 = ".Internal.Wrapper)";

-	protected final String TEXT_211 = "()).featureMap();" + NL + "\t\t\t\treturn ";

-	protected final String TEXT_212 = "();";

-	protected final String TEXT_213 = NL + "\t\t\t\tif (coreType) return ";

-	protected final String TEXT_214 = "();" + NL + "\t\t\t\treturn ((";

-	protected final String TEXT_215 = ".Internal)";

-	protected final String TEXT_216 = "()).getWrapper();";

-	protected final String TEXT_217 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_218 = "();";

-	protected final String TEXT_219 = NL + "\t\t}";

-	protected final String TEXT_220 = NL + "\t\treturn super.eGet(featureID, resolve, coreType);";

-	protected final String TEXT_221 = NL + "\t\treturn eDynamicGet(featureID, resolve, coreType);";

-	protected final String TEXT_222 = NL + "\t}" + NL;

-	protected final String TEXT_223 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_224 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_225 = NL + "\t@Override";

-	protected final String TEXT_226 = NL + "\tpublic void eSet(int featureID, Object newValue)" + NL + "\t{" + NL

-			+ "\t\tswitch (featureID";

-	protected final String TEXT_227 = ")" + NL + "\t\t{";

-	protected final String TEXT_228 = NL + "\t\t\tcase ";

-	protected final String TEXT_229 = ":";

-	protected final String TEXT_230 = NL + "\t\t\t\t((";

-	protected final String TEXT_231 = ".Internal)((";

-	protected final String TEXT_232 = ".Internal.Wrapper)";

-	protected final String TEXT_233 = "()).featureMap()).set(newValue);";

-	protected final String TEXT_234 = NL + "\t\t\t\t((";

-	protected final String TEXT_235 = ".Internal)";

-	protected final String TEXT_236 = "()).set(newValue);";

-	protected final String TEXT_237 = NL + "\t\t\t\t((";

-	protected final String TEXT_238 = ".Setting)((";

-	protected final String TEXT_239 = ".InternalMapView";

-	protected final String TEXT_240 = ")";

-	protected final String TEXT_241 = "()).eMap()).set(newValue);";

-	protected final String TEXT_242 = NL + "\t\t\t\t((";

-	protected final String TEXT_243 = ".Setting)";

-	protected final String TEXT_244 = "()).set(newValue);";

-	protected final String TEXT_245 = NL + "\t\t\t\t";

-	protected final String TEXT_246 = "().clear();" + NL + "\t\t\t\t";

-	protected final String TEXT_247 = "().addAll((";

-	protected final String TEXT_248 = "<? extends ";

-	protected final String TEXT_249 = ">";

-	protected final String TEXT_250 = ")newValue);";

-	protected final String TEXT_251 = NL + "\t\t\t\tset";

-	protected final String TEXT_252 = "(((";

-	protected final String TEXT_253 = ")newValue).";

-	protected final String TEXT_254 = "());";

-	protected final String TEXT_255 = NL + "\t\t\t\tset";

-	protected final String TEXT_256 = "(";

-	protected final String TEXT_257 = "(";

-	protected final String TEXT_258 = ")";

-	protected final String TEXT_259 = "newValue);";

-	protected final String TEXT_260 = NL + "\t\t\t\treturn;";

-	protected final String TEXT_261 = NL + "\t\t}";

-	protected final String TEXT_262 = NL + "\t\tsuper.eSet(featureID, newValue);";

-	protected final String TEXT_263 = NL + "\t\teDynamicSet(featureID, newValue);";

-	protected final String TEXT_264 = NL + "\t}" + NL;

-	protected final String TEXT_265 = NL;

-	protected final String TEXT_266 = NL;

-	protected final String TEXT_267 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_268 = NL + "\t@Override";

-	protected final String TEXT_269 = NL + "\tpublic int eBaseStructuralFeatureID(int derivedFeatureID, Class";

-	protected final String TEXT_270 = " baseClass)" + NL + "\t{";

-	protected final String TEXT_271 = NL + "\t\tif (baseClass == ";

-	protected final String TEXT_272 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (derivedFeatureID";

-	protected final String TEXT_273 = ")" + NL + "\t\t\t{";

-	protected final String TEXT_274 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_275 = ": return ";

-	protected final String TEXT_276 = ";";

-	protected final String TEXT_277 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_278 = NL + "\t\treturn super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);"

-			+ NL + "\t}";

-	protected final String TEXT_279 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_280 = NL + "\t@Override";

-	protected final String TEXT_281 = NL + "\tpublic int eDerivedStructuralFeatureID(int baseFeatureID, Class";

-	protected final String TEXT_282 = " baseClass)" + NL + "\t{";

-	protected final String TEXT_283 = NL + "\t\tif (baseClass == ";

-	protected final String TEXT_284 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID)" + NL + "\t\t\t{";

-	protected final String TEXT_285 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_286 = ": return ";

-	protected final String TEXT_287 = ";";

-	protected final String TEXT_288 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_289 = NL + "\t\tif (baseClass == ";

-	protected final String TEXT_290 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID";

-	protected final String TEXT_291 = ")" + NL + "\t\t\t{";

-	protected final String TEXT_292 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_293 = ": return ";

-	protected final String TEXT_294 = ";";

-	protected final String TEXT_295 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_296 = NL + "\t\treturn super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);"

-			+ NL + "\t}" + NL;

-	protected final String TEXT_297 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_298 = NL + "\t@Override";

-	protected final String TEXT_299 = NL + "\tpublic int eDerivedOperationID(int baseOperationID, Class";

-	protected final String TEXT_300 = " baseClass)" + NL + "\t{";

-	protected final String TEXT_301 = NL + "\t\tif (baseClass == ";

-	protected final String TEXT_302 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";

-	protected final String TEXT_303 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_304 = ": return ";

-	protected final String TEXT_305 = ";";

-	protected final String TEXT_306 = NL

-			+ "\t\t\t\tdefault: return super.eDerivedOperationID(baseOperationID, baseClass);" + NL + "\t\t\t}" + NL

-			+ "\t\t}";

-	protected final String TEXT_307 = NL + "\t\tif (baseClass == ";

-	protected final String TEXT_308 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";

-	protected final String TEXT_309 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_310 = ": return ";

-	protected final String TEXT_311 = ";";

-	protected final String TEXT_312 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_313 = NL + "\t\tif (baseClass == ";

-	protected final String TEXT_314 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID";

-	protected final String TEXT_315 = ")" + NL + "\t\t\t{";

-	protected final String TEXT_316 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_317 = ": return ";

-	protected final String TEXT_318 = ";";

-	protected final String TEXT_319 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_320 = NL + "\t\treturn super.eDerivedOperationID(baseOperationID, baseClass);" + NL

-			+ "\t}" + NL;

-	protected final String TEXT_321 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_322 = NL + "\t@Override";

-	protected final String TEXT_323 = NL + "\tprotected Object[] eVirtualValues()" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_324 = ";" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_325 = NL + "\t@Override";

-	protected final String TEXT_326 = NL + "\tprotected void eSetVirtualValues(Object[] newValues)" + NL + "\t{" + NL

-			+ "\t\t";

-	protected final String TEXT_327 = " = newValues;" + NL + "\t}" + NL;

-	protected final String TEXT_328 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_329 = NL + "\t@Override";

-	protected final String TEXT_330 = NL + "\tprotected int eVirtualIndexBits(int offset)" + NL + "\t{" + NL

-			+ "\t\tswitch (offset)" + NL + "\t\t{";

-	protected final String TEXT_331 = NL + "\t\t\tcase ";

-	protected final String TEXT_332 = " :" + NL + "\t\t\t\treturn ";

-	protected final String TEXT_333 = ";";

-	protected final String TEXT_334 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"

-			+ NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_335 = NL + "\t@Override";

-	protected final String TEXT_336 = NL + "\tprotected void eSetVirtualIndexBits(int offset, int newIndexBits)" + NL

-			+ "\t{" + NL + "\t\tswitch (offset)" + NL + "\t\t{";

-	protected final String TEXT_337 = NL + "\t\t\tcase ";

-	protected final String TEXT_338 = " :" + NL + "\t\t\t\t";

-	protected final String TEXT_339 = " = newIndexBits;" + NL + "\t\t\t\tbreak;";

-	protected final String TEXT_340 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"

-			+ NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_341 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_342 = NL + "\t@Override";

-	protected final String TEXT_343 = NL + "\t@SuppressWarnings(";

-	protected final String TEXT_344 = "\"unchecked\"";

-	protected final String TEXT_345 = "{\"rawtypes\", \"unchecked\" }";

-	protected final String TEXT_346 = ")";

-	protected final String TEXT_347 = NL + "\tpublic Object eInvoke(int operationID, ";

-	protected final String TEXT_348 = " arguments) throws ";

-	protected final String TEXT_349 = NL + "\t{" + NL + "\t\tswitch (operationID";

-	protected final String TEXT_350 = ")" + NL + "\t\t{";

-	protected final String TEXT_351 = NL + "\t\t\tcase ";

-	protected final String TEXT_352 = ":";

-	protected final String TEXT_353 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{";

-	protected final String TEXT_354 = NL + "\t\t\t\t";

-	protected final String TEXT_355 = "(";

-	protected final String TEXT_356 = "(";

-	protected final String TEXT_357 = "(";

-	protected final String TEXT_358 = ")";

-	protected final String TEXT_359 = "arguments.get(";

-	protected final String TEXT_360 = ")";

-	protected final String TEXT_361 = ").";

-	protected final String TEXT_362 = "()";

-	protected final String TEXT_363 = ", ";

-	protected final String TEXT_364 = ");" + NL + "\t\t\t\t";

-	protected final String TEXT_365 = "return null;";

-	protected final String TEXT_366 = NL + "\t\t\t\t";

-	protected final String TEXT_367 = "return ";

-	protected final String TEXT_368 = "new ";

-	protected final String TEXT_369 = "(";

-	protected final String TEXT_370 = "(";

-	protected final String TEXT_371 = "(";

-	protected final String TEXT_372 = "(";

-	protected final String TEXT_373 = ")";

-	protected final String TEXT_374 = "arguments.get(";

-	protected final String TEXT_375 = ")";

-	protected final String TEXT_376 = ").";

-	protected final String TEXT_377 = "()";

-	protected final String TEXT_378 = ", ";

-	protected final String TEXT_379 = ")";

-	protected final String TEXT_380 = ")";

-	protected final String TEXT_381 = ";";

-	protected final String TEXT_382 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";

-	protected final String TEXT_383 = " throwable)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tthrow new ";

-	protected final String TEXT_384 = "(throwable);" + NL + "\t\t\t\t}";

-	protected final String TEXT_385 = NL + "\t\t}";

-	protected final String TEXT_386 = NL + "\t\treturn super.eInvoke(operationID, arguments);";

-	protected final String TEXT_387 = NL + "\t\treturn eDynamicInvoke(operationID, arguments);";

-	protected final String TEXT_388 = NL + "\t}" + NL;

-	protected final String TEXT_389 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_390 = NL + "\t@Override";

-	protected final String TEXT_391 = NL + "\tpublic String toString()" + NL + "\t{" + NL

-			+ "\t\tif (eIsProxy()) return super.toString();" + NL + "" + NL

-			+ "\t\tStringBuffer result = new StringBuffer(super.toString());";

-	protected final String TEXT_392 = NL + "\t\tresult.append(\" (";

-	protected final String TEXT_393 = ": \");";

-	protected final String TEXT_394 = NL + "\t\tresult.append(\", ";

-	protected final String TEXT_395 = ": \");";

-	protected final String TEXT_396 = NL + "\t\tif (eVirtualIsSet(";

-	protected final String TEXT_397 = ")) result.append(eVirtualGet(";

-	protected final String TEXT_398 = ")); else result.append(\"<unset>\");";

-	protected final String TEXT_399 = NL + "\t\tif (";

-	protected final String TEXT_400 = "(";

-	protected final String TEXT_401 = " & ";

-	protected final String TEXT_402 = "_ESETFLAG) != 0";

-	protected final String TEXT_403 = "ESet";

-	protected final String TEXT_404 = ") result.append((";

-	protected final String TEXT_405 = " & ";

-	protected final String TEXT_406 = "_EFLAG) != 0); else result.append(\"<unset>\");";

-	protected final String TEXT_407 = NL + "\t\tif (";

-	protected final String TEXT_408 = "(";

-	protected final String TEXT_409 = " & ";

-	protected final String TEXT_410 = "_ESETFLAG) != 0";

-	protected final String TEXT_411 = "ESet";

-	protected final String TEXT_412 = ") result.append(";

-	protected final String TEXT_413 = "_EFLAG_VALUES[(";

-	protected final String TEXT_414 = " & ";

-	protected final String TEXT_415 = "_EFLAG) >>> ";

-	protected final String TEXT_416 = "_EFLAG_OFFSET]); else result.append(\"<unset>\");";

-	protected final String TEXT_417 = NL + "\t\tif (";

-	protected final String TEXT_418 = "(";

-	protected final String TEXT_419 = " & ";

-	protected final String TEXT_420 = "_ESETFLAG) != 0";

-	protected final String TEXT_421 = "ESet";

-	protected final String TEXT_422 = ") result.append(";

-	protected final String TEXT_423 = "); else result.append(\"<unset>\");";

-	protected final String TEXT_424 = NL + "\t\tresult.append(eVirtualGet(";

-	protected final String TEXT_425 = ", ";

-	protected final String TEXT_426 = "));";

-	protected final String TEXT_427 = NL + "\t\tresult.append((";

-	protected final String TEXT_428 = " & ";

-	protected final String TEXT_429 = "_EFLAG) != 0);";

-	protected final String TEXT_430 = NL + "\t\tresult.append(";

-	protected final String TEXT_431 = "_EFLAG_VALUES[(";

-	protected final String TEXT_432 = " & ";

-	protected final String TEXT_433 = "_EFLAG) >>> ";

-	protected final String TEXT_434 = "_EFLAG_OFFSET]);";

-	protected final String TEXT_435 = NL + "\t\tresult.append(";

-	protected final String TEXT_436 = ");";

-	protected final String TEXT_437 = NL + "\t\tresult.append(')');" + NL + "\t\treturn result.toString();" + NL

-			+ "\t}" + NL;

-	protected final String TEXT_438 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_439 = NL + "\t@";

-	protected final String TEXT_440 = NL + "\tprotected int hash = -1;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic int getHash()" + NL + "\t{" + NL + "\t\tif (hash == -1)" + NL + "\t\t{" + NL

-			+ "\t\t\t";

-	protected final String TEXT_441 = " theKey = getKey();" + NL

-			+ "\t\t\thash = (theKey == null ? 0 : theKey.hashCode());" + NL + "\t\t}" + NL + "\t\treturn hash;" + NL

-			+ "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic void setHash(int hash)" + NL + "\t{" + NL

-			+ "\t\tthis.hash = hash;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_442 = " getKey()" + NL + "\t{";

-	protected final String TEXT_443 = NL + "\t\treturn new ";

-	protected final String TEXT_444 = "(getTypedKey());";

-	protected final String TEXT_445 = NL + "\t\treturn getTypedKey();";

-	protected final String TEXT_446 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic void setKey(";

-	protected final String TEXT_447 = " key)" + NL + "\t{";

-	protected final String TEXT_448 = NL + "\t\tgetTypedKey().addAll(";

-	protected final String TEXT_449 = "(";

-	protected final String TEXT_450 = ")";

-	protected final String TEXT_451 = "key);";

-	protected final String TEXT_452 = NL + "\t\tsetTypedKey(key);";

-	protected final String TEXT_453 = NL + "\t\tsetTypedKey(((";

-	protected final String TEXT_454 = ")key).";

-	protected final String TEXT_455 = "());";

-	protected final String TEXT_456 = NL + "\t\tsetTypedKey((";

-	protected final String TEXT_457 = ")key);";

-	protected final String TEXT_458 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_459 = " getValue()" + NL + "\t{";

-	protected final String TEXT_460 = NL + "\t\treturn new ";

-	protected final String TEXT_461 = "(getTypedValue());";

-	protected final String TEXT_462 = NL + "\t\treturn getTypedValue();";

-	protected final String TEXT_463 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_464 = " setValue(";

-	protected final String TEXT_465 = " value)" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_466 = " oldValue = getValue();";

-	protected final String TEXT_467 = NL + "\t\tgetTypedValue().clear();" + NL + "\t\tgetTypedValue().addAll(";

-	protected final String TEXT_468 = "(";

-	protected final String TEXT_469 = ")";

-	protected final String TEXT_470 = "value);";

-	protected final String TEXT_471 = NL + "\t\tsetTypedValue(value);";

-	protected final String TEXT_472 = NL + "\t\tsetTypedValue(((";

-	protected final String TEXT_473 = ")value).";

-	protected final String TEXT_474 = "());";

-	protected final String TEXT_475 = NL + "\t\tsetTypedValue((";

-	protected final String TEXT_476 = ")value);";

-	protected final String TEXT_477 = NL + "\t\treturn oldValue;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_478 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_479 = NL + "\tpublic ";

-	protected final String TEXT_480 = " getEMap()" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_481 = " container = eContainer();" + NL + "\t\treturn container == null ? null : (";

-	protected final String TEXT_482 = ")container.eGet(eContainmentFeature());" + NL + "\t}" + NL;

-	protected final String TEXT_483 = NL;

-	protected final String TEXT_484 = NL + "} //";

-	protected final String TEXT_485 = NL;

-	protected final String TEXT_486 = NL;

-	protected final String TEXT_487 = NL;

-

-	public Class() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_486);

-		stringBuffer.append(TEXT_487);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenClass genClass = parameter;

-		targetPath = genClass.getGenModel().getModelDirectory();

-		packageName = genClass.getGenPackage().getClassPackageName();

-		className = genClass.getClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenClass genClass = parameter;

-		argument = ((Object[]) new Object[] { new Object[] { genClass,

-				genClass.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE, Boolean.TRUE } })[0];

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2011 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		final GenClass genClass = (GenClass) ((Object[]) argument)[0];

-		final GenPackage genPackage = genClass.getGenPackage();

-		final GenModel genModel = genPackage.getGenModel();

-		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

-		final boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);

-		final boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);

-		final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;

-		final String publicStaticFinalFlag = isImplementation ? "public static final " : "";

-		final String singleWildcard = isJDK50 ? "<?>" : "";

-		final String negativeOffsetCorrection = genClass.hasOffsetCorrection() ? " - "

-				+ genClass.getOffsetCorrectionField(null) : "";

-		final String positiveOffsetCorrection = genClass.hasOffsetCorrection() ? " + "

-				+ genClass.getOffsetCorrectionField(null) : "";

-		final String negativeOperationOffsetCorrection = genClass.hasOffsetCorrection() ? " - EOPERATION_OFFSET_CORRECTION"

-				: "";

-		final String positiveOperationOffsetCorrection = genClass.hasOffsetCorrection() ? " + EOPERATION_OFFSET_CORRECTION"

-				: "";

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		if (isInterface) {

-			stringBuffer.append(TEXT_2);

-			stringBuffer.append(genPackage.getInterfacePackageName());

-			stringBuffer.append(TEXT_3);

-		} else {

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(genPackage.getClassPackageName());

-			stringBuffer.append(TEXT_5);

-		}

-		stringBuffer.append(TEXT_6);

-		genModel.markImportLocation(stringBuffer, genPackage);

-		if (isImplementation) {

-			genClass.addClassPsuedoImports();

-		}

-		stringBuffer.append(TEXT_7);

-		if (isInterface) {

-			stringBuffer.append(TEXT_8);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.interface.javadoc.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_C2iO4eXDEeCxnsoQRwU99Q",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/interface.javadoc.override.javajetinc

-		} else {

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genClass.getFormattedName());

-			stringBuffer.append(TEXT_10);

-			if (!genClass.getImplementedGenFeatures().isEmpty()) {

-				stringBuffer.append(TEXT_11);

-				for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(genClass.getQualifiedClassName());

-					stringBuffer.append(TEXT_13);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_14);

-					stringBuffer.append(genFeature.getFormattedName());

-					stringBuffer.append(TEXT_15);

-				}

-				stringBuffer.append(TEXT_16);

-			}

-			stringBuffer.append(TEXT_17);

-		}

-		if (isImplementation) {

-			stringBuffer.append(TEXT_18);

-			if (genClass.isAbstract()) {

-				stringBuffer.append(TEXT_19);

-			}

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genClass.getClassName());

-			stringBuffer.append(genClass.getTypeParameters().trim());

-			stringBuffer.append(genClass.getClassExtends());

-			stringBuffer.append(genClass.getClassImplements());

-		} else {

-			stringBuffer.append(TEXT_21);

-			stringBuffer.append(genClass.getInterfaceName());

-			stringBuffer.append(genClass.getTypeParameters().trim());

-			stringBuffer.append(genClass.getInterfaceExtends());

-		}

-		stringBuffer.append(TEXT_22);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_23);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_26);

-		}

-		if (isImplementation && genModel.getDriverNumber() != null) {

-			stringBuffer.append(TEXT_27);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(genModel.getDriverNumber());

-			stringBuffer.append(TEXT_29);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_30);

-		}

-		if (isImplementation && genClass.isJavaIOSerializable()) {

-			stringBuffer.append(TEXT_31);

-		}

-		if (isImplementation && genModel.isVirtualDelegation()) {

-			String eVirtualValuesField = genClass.getEVirtualValuesField();

-			if (eVirtualValuesField != null) {

-				stringBuffer.append(TEXT_32);

-				if (isGWT) {

-					stringBuffer.append(TEXT_33);

-					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-				}

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(eVirtualValuesField);

-				stringBuffer.append(TEXT_35);

-			}

-			{

-				List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());

-				if (!eVirtualIndexBitFields.isEmpty()) {

-					for (String eVirtualIndexBitField : eVirtualIndexBitFields) {

-						stringBuffer.append(TEXT_36);

-						if (isGWT) {

-							stringBuffer.append(TEXT_37);

-							stringBuffer

-									.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-						}

-						stringBuffer.append(TEXT_38);

-						stringBuffer.append(eVirtualIndexBitField);

-						stringBuffer.append(TEXT_39);

-					}

-				}

-			}

-		}

-		if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled()

-				&& genModel.getBooleanFlagsReservedBits() == -1) {

-			stringBuffer.append(TEXT_40);

-			if (isGWT) {

-				stringBuffer.append(TEXT_41);

-				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-			}

-			stringBuffer.append(TEXT_42);

-			stringBuffer.append(genModel.getBooleanFlagsField());

-			stringBuffer.append(TEXT_43);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()) {

-			for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {

-				if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()

-						&& !genFeature.isMapType()) {

-					String rawListItemType = genFeature.getRawListItemType(genClass);

-					int index = rawListItemType.indexOf('[');

-					String head = rawListItemType;

-					String tail = "";

-					if (index != -1) {

-						head = rawListItemType.substring(0, index);

-						tail = rawListItemType.substring(index);

-					}

-					stringBuffer.append(TEXT_44);

-					stringBuffer.append(genFeature.getGetArrayAccessor());

-					stringBuffer.append(TEXT_45);

-					stringBuffer.append(genFeature.getFormattedName());

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(genFeature.getGetArrayAccessor());

-					stringBuffer.append(TEXT_47);

-					if (genFeature.getQualifiedListItemType(genClass).contains("<")

-							|| genFeature.getArrayItemType(genClass).contains("<")) {

-						stringBuffer.append(TEXT_48);

-					}

-					stringBuffer.append(TEXT_49);

-					stringBuffer.append(rawListItemType);

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(head);

-					stringBuffer.append(TEXT_52);

-					stringBuffer.append(tail);

-					stringBuffer.append(TEXT_53);

-				}

-			}

-			for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {

-				stringBuffer.append(TEXT_54);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0jpGTmJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//Class/declaredFieldGenFeature.override.javajetinc

-			}

-		}

-		if (isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenFeatures().isEmpty()) {

-			stringBuffer.append(TEXT_55);

-			stringBuffer.append(genClass.getOffsetCorrectionField(null));

-			stringBuffer.append(TEXT_56);

-			stringBuffer.append(genClass.getQualifiedClassifierAccessor());

-			stringBuffer.append(TEXT_57);

-			stringBuffer.append(genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor());

-			stringBuffer.append(TEXT_58);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0)));

-			stringBuffer.append(TEXT_59);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()) {

-			for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {

-				GenFeature reverseFeature = genFeature.getReverse();

-				if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {

-					stringBuffer.append(TEXT_60);

-					stringBuffer.append(genClass.getOffsetCorrectionField(genFeature));

-					stringBuffer.append(TEXT_61);

-					stringBuffer.append(reverseFeature.getGenClass().getQualifiedClassifierAccessor());

-					stringBuffer.append(TEXT_62);

-					stringBuffer.append(reverseFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_63);

-					stringBuffer.append(reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature));

-					stringBuffer.append(TEXT_64);

-				}

-			}

-		}

-		if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection()

-				&& !genClass.getImplementedGenOperations().isEmpty()) {

-			stringBuffer.append(TEXT_65);

-			stringBuffer.append(genClass.getQualifiedClassifierAccessor());

-			stringBuffer.append(TEXT_66);

-			stringBuffer.append(genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor());

-			stringBuffer.append(TEXT_67);

-			stringBuffer.append(genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0)));

-			stringBuffer.append(TEXT_68);

-		}

-		if (isImplementation) {

-			stringBuffer.append(TEXT_69);

-			if (genModel.isPublicConstructors()) {

-				stringBuffer.append(TEXT_70);

-			} else {

-				stringBuffer.append(TEXT_71);

-			}

-			stringBuffer.append(TEXT_72);

-			stringBuffer.append(genClass.getClassName());

-			stringBuffer.append(TEXT_73);

-			stringBuffer.append(TEXT_74);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.egfCustom.constructor.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_JLBM0HroEeC0XN9kbwkPYQ",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {

-				stringBuffer.append(TEXT_75);

-				stringBuffer.append(genClass.getFlagsField(genFeature));

-				stringBuffer.append(TEXT_76);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_77);

-				if (!genFeature.isBooleanType()) {

-					stringBuffer.append(TEXT_78);

-				}

-				stringBuffer.append(TEXT_79);

-			}

-			stringBuffer.append(TEXT_80);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_81);

-			}

-			stringBuffer.append(TEXT_82);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));

-			stringBuffer.append(TEXT_83);

-			stringBuffer.append(genClass.getQualifiedClassifierAccessor());

-			stringBuffer.append(TEXT_84);

-		}

-		stringBuffer.append(TEXT_85);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.reflectiveDelegation.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0kFyMGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		//Class/reflectiveDelegation.override.javajetinc

-		if (isImplementation) {

-			new Runnable() {

-				public void run() {

-					GenClass classExtendsGenClass = genClass.getClassExtendsGenClass();

-					List<GenFeature> classExtendsAllGenFeatures = classExtendsGenClass == null ? Collections

-							.<GenFeature> emptyList() : classExtendsGenClass.getAllGenFeatures();

-					for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {

-						stringBuffer.append(TEXT_86);

-						{

-							//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeatureReified.override" args="genFeature:genFeature,classExtendsGenClass:classExtendsGenClass,classExtendsAllGenFeatures:classExtendsAllGenFeatures,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-							InternalPatternContext ictx = (InternalPatternContext) ctx;

-							new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-							stringBuffer.setLength(0);

-

-							final Map<String, Object> callParameters = new HashMap<String, Object>();

-							callParameters.put("genFeature", genFeature);

-							callParameters.put("classExtendsGenClass", classExtendsGenClass);

-							callParameters.put("classExtendsAllGenFeatures", classExtendsAllGenFeatures);

-							callParameters.put("genClass", genClass);

-							callParameters.put("genPackage", genPackage);

-							callParameters.put("genModel", genModel);

-							callParameters.put("isJDK50", isJDK50);

-							callParameters.put("isInterface", isInterface);

-							callParameters.put("isImplementation", isImplementation);

-							callParameters.put("isGWT", isGWT);

-							callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-							callParameters.put("singleWildcard", singleWildcard);

-							callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-							callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-							callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-							callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-							CallHelper

-									.executeWithParameterInjection(

-											"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_odzp0LM-EeKd56X4hcZPSw",

-											new ExecutionContext((InternalPatternContext) ctx), callParameters);

-							stringBuffer.setLength(0);

-						}

-

-						//Class/genFeatureReified.override.javajetinc

-					}

-				}

-			}.run();

-		}

-		new Runnable() {

-			public void run() {

-				for (GenFeature genFeature : (isImplementation ? genClass.getImplementedGenFeatures() : genClass

-						.getDeclaredGenFeatures())) {

-					stringBuffer.append(TEXT_87);

-					{

-						//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-						InternalPatternContext ictx = (InternalPatternContext) ctx;

-						new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-						stringBuffer.setLength(0);

-

-						final Map<String, Object> callParameters = new HashMap<String, Object>();

-						callParameters.put("genFeature", genFeature);

-						callParameters.put("genClass", genClass);

-						callParameters.put("genPackage", genPackage);

-						callParameters.put("genModel", genModel);

-						callParameters.put("isJDK50", isJDK50);

-						callParameters.put("isInterface", isInterface);

-						callParameters.put("isImplementation", isImplementation);

-						callParameters.put("isGWT", isGWT);

-						callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-						callParameters.put("singleWildcard", singleWildcard);

-						callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-						callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-						callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-						callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-						CallHelper

-								.executeWithParameterInjection(

-										"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0kO8IGJ-Ed-FqczH3ESmRw",

-										new ExecutionContext((InternalPatternContext) ctx), callParameters);

-						stringBuffer.setLength(0);

-					}

-

-					//Class/genFeature.override.javajetinc

-				}//for

-			}

-		}.run();

-		for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations() : genClass

-				.getDeclaredGenOperations())) {

-			stringBuffer.append(TEXT_88);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genOperation", genOperation);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0tBrwGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/implementedGenOperation.override.javajetinc

-		}//for

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getEInverseAddGenFeatures())) {

-			stringBuffer.append(TEXT_89);

-			if (genModel.useGenerics()) {

-				for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {

-					if (genFeature.isUncheckedCast(genClass)) {

-						stringBuffer.append(TEXT_90);

-						break;

-					}

-				}

-			}

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_91);

-			}

-			stringBuffer.append(TEXT_92);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_93);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-			stringBuffer.append(TEXT_94);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_95);

-			stringBuffer.append(negativeOffsetCorrection);

-			stringBuffer.append(TEXT_96);

-			for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {

-				stringBuffer.append(TEXT_97);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(TEXT_98);

-				if (genFeature.isListType()) {

-					String cast = "("

-							+ genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")

-							+ (!genModel.useGenerics() ? ")" : "<"

-									+ genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject") + ">)("

-									+ genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList") + "<?>)");

-					if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {

-						stringBuffer.append(TEXT_99);

-						stringBuffer.append(cast);

-						stringBuffer.append(TEXT_100);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

-						stringBuffer.append(TEXT_101);

-						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

-						stringBuffer.append(TEXT_102);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_103);

-					} else {

-						stringBuffer.append(TEXT_104);

-						stringBuffer.append(cast);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_105);

-					}

-				} else if (genFeature.isContainer()) {

-					stringBuffer.append(TEXT_106);

-					if (genFeature.isBasicSet()) {

-						stringBuffer.append(TEXT_107);

-						stringBuffer.append(genFeature.getAccessorName());

-						stringBuffer.append(TEXT_108);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_109);

-					} else {

-						stringBuffer.append(TEXT_110);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_111);

-					}

-				} else {

-					if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-						stringBuffer.append(TEXT_112);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_113);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_114);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_115);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_116);

-					} else if (genFeature.isVolatile()

-							|| genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {

-						stringBuffer.append(TEXT_117);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_118);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_119);

-						if (genFeature.isResolveProxies()) {

-							stringBuffer.append(TEXT_120);

-							stringBuffer.append(genFeature.getAccessorName());

-						} else {

-							stringBuffer.append(genFeature.getGetAccessor());

-						}

-						stringBuffer.append(TEXT_121);

-					}

-					stringBuffer.append(TEXT_122);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_123);

-					if (genFeature.isEffectiveContains()) {

-						stringBuffer.append(TEXT_124);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_125);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_126);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(negativeOffsetCorrection);

-						stringBuffer.append(TEXT_127);

-					} else {

-						GenFeature reverseFeature = genFeature.getReverse();

-						GenClass targetClass = reverseFeature.getGenClass();

-						String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-								+ genClass.getOffsetCorrectionField(genFeature) : "";

-						stringBuffer.append(TEXT_128);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_129);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_130);

-						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-						stringBuffer.append(reverseOffsetCorrection);

-						stringBuffer.append(TEXT_131);

-						stringBuffer.append(targetClass.getRawImportedInterfaceName());

-						stringBuffer.append(TEXT_132);

-					}

-					stringBuffer.append(TEXT_133);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_134);

-					stringBuffer.append(genFeature.getImportedType(genClass));

-					stringBuffer.append(TEXT_135);

-				}

-			}

-			stringBuffer.append(TEXT_136);

-			if (genModel.isMinimalReflectiveMethods()) {

-				stringBuffer.append(TEXT_137);

-			} else {

-				stringBuffer.append(TEXT_138);

-			}

-			stringBuffer.append(TEXT_139);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {

-			stringBuffer.append(TEXT_140);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_141);

-			}

-			stringBuffer.append(TEXT_142);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_143);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-			stringBuffer.append(TEXT_144);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_145);

-			stringBuffer.append(negativeOffsetCorrection);

-			stringBuffer.append(TEXT_146);

-			for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {

-				stringBuffer.append(TEXT_147);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(TEXT_148);

-				if (genFeature.isListType()) {

-					if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {

-						stringBuffer.append(TEXT_149);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

-						stringBuffer.append(singleWildcard);

-						stringBuffer.append(TEXT_150);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

-						stringBuffer.append(TEXT_151);

-						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

-						stringBuffer.append(TEXT_152);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_153);

-					} else if (genFeature.isWrappedFeatureMapType()) {

-						stringBuffer.append(TEXT_154);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

-						stringBuffer.append(singleWildcard);

-						stringBuffer.append(TEXT_155);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-						stringBuffer.append(TEXT_156);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_157);

-					} else {

-						stringBuffer.append(TEXT_158);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

-						stringBuffer.append(singleWildcard);

-						stringBuffer.append(TEXT_159);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_160);

-					}

-				} else if (genFeature.isContainer() && !genFeature.isBasicSet()) {

-					stringBuffer.append(TEXT_161);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_162);

-				} else if (genFeature.isUnsettable()) {

-					stringBuffer.append(TEXT_163);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_164);

-				} else {

-					stringBuffer.append(TEXT_165);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_166);

-				}

-			}

-			stringBuffer.append(TEXT_167);

-			if (genModel.isMinimalReflectiveMethods()) {

-				stringBuffer.append(TEXT_168);

-			} else {

-				stringBuffer.append(TEXT_169);

-			}

-			stringBuffer.append(TEXT_170);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {

-			stringBuffer.append(TEXT_171);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_172);

-			}

-			stringBuffer.append(TEXT_173);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_174);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_175);

-			stringBuffer.append(negativeOffsetCorrection);

-			stringBuffer.append(TEXT_176);

-			for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {

-				GenFeature reverseFeature = genFeature.getReverse();

-				GenClass targetClass = reverseFeature.getGenClass();

-				String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-						+ genClass.getOffsetCorrectionField(genFeature) : "";

-				stringBuffer.append(TEXT_177);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(TEXT_178);

-				stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-				stringBuffer.append(reverseOffsetCorrection);

-				stringBuffer.append(TEXT_179);

-				stringBuffer.append(targetClass.getRawImportedInterfaceName());

-				stringBuffer.append(TEXT_180);

-			}

-			stringBuffer.append(TEXT_181);

-			if (genModel.isMinimalReflectiveMethods()) {

-				stringBuffer.append(TEXT_182);

-			} else {

-				stringBuffer.append(TEXT_183);

-			}

-			stringBuffer.append(TEXT_184);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getEGetGenFeatures())) {

-			stringBuffer.append(TEXT_185);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_186);

-			}

-			stringBuffer.append(TEXT_187);

-			stringBuffer.append(negativeOffsetCorrection);

-			stringBuffer.append(TEXT_188);

-			for (GenFeature genFeature : genClass.getEGetGenFeatures()) {

-				stringBuffer.append(TEXT_189);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(TEXT_190);

-				if (genFeature.isPrimitiveType()) {

-					if (isJDK50) {

-						stringBuffer.append(TEXT_191);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_192);

-					} else if (genFeature.isBooleanType()) {

-						stringBuffer.append(TEXT_193);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_194);

-					} else {

-						stringBuffer.append(TEXT_195);

-						stringBuffer.append(genFeature.getObjectType(genClass));

-						stringBuffer.append(TEXT_196);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_197);

-					}

-				} else if (genFeature.isResolveProxies() && !genFeature.isListType()) {

-					stringBuffer.append(TEXT_198);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_199);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_200);

-				} else if (genFeature.isMapType()) {

-					if (genFeature.isEffectiveSuppressEMFTypes()) {

-						stringBuffer.append(TEXT_201);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

-						stringBuffer.append(TEXT_202);

-						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

-						stringBuffer.append(TEXT_203);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_204);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_205);

-					} else {

-						stringBuffer.append(TEXT_206);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_207);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_208);

-					}

-				} else if (genFeature.isWrappedFeatureMapType()) {

-					stringBuffer.append(TEXT_209);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_210);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_211);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_212);

-				} else if (genFeature.isFeatureMapType()) {

-					stringBuffer.append(TEXT_213);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_214);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_215);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_216);

-				} else {

-					stringBuffer.append(TEXT_217);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_218);

-				}

-			}

-			stringBuffer.append(TEXT_219);

-			if (genModel.isMinimalReflectiveMethods()) {

-				stringBuffer.append(TEXT_220);

-			} else {

-				stringBuffer.append(TEXT_221);

-			}

-			stringBuffer.append(TEXT_222);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getESetGenFeatures())) {

-			stringBuffer.append(TEXT_223);

-			if (genModel.useGenerics()) {

-				for (GenFeature genFeature : genClass.getESetGenFeatures()) {

-					if (genFeature.isUncheckedCast(genClass) && !genFeature.isFeatureMapType()

-							&& !genFeature.isMapType()) {

-						stringBuffer.append(TEXT_224);

-						break;

-					}

-				}

-			}

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_225);

-			}

-			stringBuffer.append(TEXT_226);

-			stringBuffer.append(negativeOffsetCorrection);

-			stringBuffer.append(TEXT_227);

-			for (GenFeature genFeature : genClass.getESetGenFeatures()) {

-				stringBuffer.append(TEXT_228);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(TEXT_229);

-				if (genFeature.isListType()) {

-					if (genFeature.isWrappedFeatureMapType()) {

-						stringBuffer.append(TEXT_230);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-						stringBuffer.append(TEXT_231);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-						stringBuffer.append(TEXT_232);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_233);

-					} else if (genFeature.isFeatureMapType()) {

-						stringBuffer.append(TEXT_234);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-						stringBuffer.append(TEXT_235);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_236);

-					} else if (genFeature.isMapType()) {

-						if (genFeature.isEffectiveSuppressEMFTypes()) {

-							stringBuffer.append(TEXT_237);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-							stringBuffer.append(TEXT_238);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

-							stringBuffer.append(TEXT_239);

-							stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

-							stringBuffer.append(TEXT_240);

-							stringBuffer.append(genFeature.getGetAccessor());

-							stringBuffer.append(TEXT_241);

-						} else {

-							stringBuffer.append(TEXT_242);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-							stringBuffer.append(TEXT_243);

-							stringBuffer.append(genFeature.getGetAccessor());

-							stringBuffer.append(TEXT_244);

-						}

-					} else {

-						stringBuffer.append(TEXT_245);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_246);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_247);

-						stringBuffer.append(genModel.getImportedName("java.util.Collection"));

-						if (isJDK50) {

-							stringBuffer.append(TEXT_248);

-							stringBuffer.append(genFeature.getListItemType(genClass));

-							stringBuffer.append(TEXT_249);

-						}

-						stringBuffer.append(TEXT_250);

-					}

-				} else if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_251);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_252);

-					stringBuffer.append(genFeature.getObjectType(genClass));

-					stringBuffer.append(TEXT_253);

-					stringBuffer.append(genFeature.getPrimitiveValueFunction());

-					stringBuffer.append(TEXT_254);

-				} else {

-					stringBuffer.append(TEXT_255);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_256);

-					if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()

-							|| !genFeature.getRawType().equals(genFeature.getType(genClass))) {

-						stringBuffer.append(TEXT_257);

-						stringBuffer.append(genFeature.getObjectType(genClass));

-						stringBuffer.append(TEXT_258);

-					}

-					stringBuffer.append(TEXT_259);

-				}

-				stringBuffer.append(TEXT_260);

-			}

-			stringBuffer.append(TEXT_261);

-			if (genModel.isMinimalReflectiveMethods()) {

-				stringBuffer.append(TEXT_262);

-			} else {

-				stringBuffer.append(TEXT_263);

-			}

-			stringBuffer.append(TEXT_264);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getEUnsetGenFeatures())) {

-			stringBuffer.append(TEXT_265);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.eUnset.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0uN-kGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/eUnset.override.javajetinc

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getEIsSetGenFeatures())) {

-			stringBuffer.append(TEXT_266);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.eIsSet.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0uXvkGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/eIsSet.override.javajetinc

-		}

-		if (isImplementation

-				&& (!genClass.getMixinGenFeatures().isEmpty() || genClass.hasOffsetCorrection()

-						&& !genClass.getGenFeatures().isEmpty())) {

-			if (!genClass.getMixinGenFeatures().isEmpty()) {

-				stringBuffer.append(TEXT_267);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_268);

-				}

-				stringBuffer.append(TEXT_269);

-				stringBuffer.append(singleWildcard);

-				stringBuffer.append(TEXT_270);

-				for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {

-					stringBuffer.append(TEXT_271);

-					stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());

-					stringBuffer.append(TEXT_272);

-					stringBuffer.append(negativeOffsetCorrection);

-					stringBuffer.append(TEXT_273);

-					for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {

-						stringBuffer.append(TEXT_274);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(TEXT_275);

-						stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(TEXT_276);

-					}

-					stringBuffer.append(TEXT_277);

-				}

-				stringBuffer.append(TEXT_278);

-			}

-			stringBuffer.append(TEXT_279);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_280);

-			}

-			stringBuffer.append(TEXT_281);

-			stringBuffer.append(singleWildcard);

-			stringBuffer.append(TEXT_282);

-			for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {

-				stringBuffer.append(TEXT_283);

-				stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());

-				stringBuffer.append(TEXT_284);

-				for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {

-					stringBuffer.append(TEXT_285);

-					stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(TEXT_286);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_287);

-				}

-				stringBuffer.append(TEXT_288);

-			}

-			if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {

-				stringBuffer.append(TEXT_289);

-				stringBuffer.append(genClass.getRawImportedInterfaceName());

-				stringBuffer.append(TEXT_290);

-				stringBuffer.append(negativeOffsetCorrection);

-				stringBuffer.append(TEXT_291);

-				for (GenFeature genFeature : genClass.getGenFeatures()) {

-					stringBuffer.append(TEXT_292);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(TEXT_293);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_294);

-				}

-				stringBuffer.append(TEXT_295);

-			}

-			stringBuffer.append(TEXT_296);

-		}

-		if (genModel.isOperationReflection()

-				&& isImplementation

-				&& (!genClass.getMixinGenOperations().isEmpty()

-						|| !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(),

-								genClass.getImplementedGenOperations()).isEmpty() || genClass.hasOffsetCorrection()

-						&& !genClass.getGenOperations().isEmpty())) {

-			stringBuffer.append(TEXT_297);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_298);

-			}

-			stringBuffer.append(TEXT_299);

-			stringBuffer.append(singleWildcard);

-			stringBuffer.append(TEXT_300);

-			for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) {

-				List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations();

-				List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();

-				if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations)

-						.isEmpty()) {

-					stringBuffer.append(TEXT_301);

-					stringBuffer.append(extendedGenClass.getRawImportedInterfaceName());

-					stringBuffer.append(TEXT_302);

-					for (GenOperation genOperation : extendedImplementedGenOperations) {

-						GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);

-						if (implementedGenOperations.contains(overrideGenOperation)) {

-							stringBuffer.append(TEXT_303);

-							stringBuffer.append(extendedGenClass.getQualifiedOperationID(genOperation));

-							stringBuffer.append(TEXT_304);

-							stringBuffer.append(genClass.getQualifiedOperationID(overrideGenOperation));

-							stringBuffer.append(positiveOperationOffsetCorrection);

-							stringBuffer.append(TEXT_305);

-						}

-					}

-					stringBuffer.append(TEXT_306);

-				}

-			}

-			for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {

-				stringBuffer.append(TEXT_307);

-				stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());

-				stringBuffer.append(TEXT_308);

-				for (GenOperation genOperation : mixinGenClass.getGenOperations()) {

-					GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);

-					stringBuffer.append(TEXT_309);

-					stringBuffer.append(mixinGenClass.getQualifiedOperationID(genOperation));

-					stringBuffer.append(TEXT_310);

-					stringBuffer

-							.append(genClass

-									.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation

-											: genOperation));

-					stringBuffer.append(positiveOperationOffsetCorrection);

-					stringBuffer.append(TEXT_311);

-				}

-				stringBuffer.append(TEXT_312);

-			}

-			if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {

-				stringBuffer.append(TEXT_313);

-				stringBuffer.append(genClass.getRawImportedInterfaceName());

-				stringBuffer.append(TEXT_314);

-				stringBuffer.append(negativeOperationOffsetCorrection);

-				stringBuffer.append(TEXT_315);

-				for (GenOperation genOperation : genClass.getGenOperations()) {

-					stringBuffer.append(TEXT_316);

-					stringBuffer.append(genClass.getQualifiedOperationID(genOperation));

-					stringBuffer.append(TEXT_317);

-					stringBuffer.append(genClass.getQualifiedOperationID(genOperation));

-					stringBuffer.append(positiveOperationOffsetCorrection);

-					stringBuffer.append(TEXT_318);

-				}

-				stringBuffer.append(TEXT_319);

-			}

-			stringBuffer.append(TEXT_320);

-		}

-		if (isImplementation && genModel.isVirtualDelegation()) {

-			String eVirtualValuesField = genClass.getEVirtualValuesField();

-			if (eVirtualValuesField != null) {

-				stringBuffer.append(TEXT_321);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_322);

-				}

-				stringBuffer.append(TEXT_323);

-				stringBuffer.append(eVirtualValuesField);

-				stringBuffer.append(TEXT_324);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_325);

-				}

-				stringBuffer.append(TEXT_326);

-				stringBuffer.append(eVirtualValuesField);

-				stringBuffer.append(TEXT_327);

-			}

-			{

-				List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());

-				if (!eVirtualIndexBitFields.isEmpty()) {

-					List<String> allEVirtualIndexBitFields = genClass

-							.getAllEVirtualIndexBitFields(new ArrayList<String>());

-					stringBuffer.append(TEXT_328);

-					if (genModel.useClassOverrideAnnotation()) {

-						stringBuffer.append(TEXT_329);

-					}

-					stringBuffer.append(TEXT_330);

-					for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {

-						stringBuffer.append(TEXT_331);

-						stringBuffer.append(i);

-						stringBuffer.append(TEXT_332);

-						stringBuffer.append(allEVirtualIndexBitFields.get(i));

-						stringBuffer.append(TEXT_333);

-					}

-					stringBuffer.append(TEXT_334);

-					if (genModel.useClassOverrideAnnotation()) {

-						stringBuffer.append(TEXT_335);

-					}

-					stringBuffer.append(TEXT_336);

-					for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {

-						stringBuffer.append(TEXT_337);

-						stringBuffer.append(i);

-						stringBuffer.append(TEXT_338);

-						stringBuffer.append(allEVirtualIndexBitFields.get(i));

-						stringBuffer.append(TEXT_339);

-					}

-					stringBuffer.append(TEXT_340);

-				}

-			}

-		}

-		if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {

-			stringBuffer.append(TEXT_341);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_342);

-			}

-			if (genModel.useGenerics()) {

-				boolean isUnchecked = false;

-				boolean isRaw = false;

-				LOOP: for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass

-						.getImplementedGenOperations() : genClass.getAllGenOperations())) {

-					for (GenParameter genParameter : genOperation.getGenParameters()) {

-						if (genParameter.isUncheckedCast()) {

-							if (genParameter.getTypeGenDataType() == null

-									|| !genParameter.getTypeGenDataType().isObjectType()) {

-								isUnchecked = true;

-							}

-							if (genParameter.usesOperationTypeParameters()

-									&& !genParameter.getEcoreParameter().getEGenericType().getETypeArguments()

-											.isEmpty()) {

-								isRaw = true;

-								break LOOP;

-							}

-						}

-					}

-				}

-				if (isUnchecked) {

-					stringBuffer.append(TEXT_343);

-					if (!isRaw) {

-						stringBuffer.append(TEXT_344);

-					} else {

-						stringBuffer.append(TEXT_345);

-					}

-					stringBuffer.append(TEXT_346);

-				}

-			}

-			stringBuffer.append(TEXT_347);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EList"));

-			stringBuffer.append(singleWildcard);

-			stringBuffer.append(TEXT_348);

-			stringBuffer.append(genModel

-					.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"

-							: "java.lang.reflect.InvocationTargetException"));

-			stringBuffer.append(TEXT_349);

-			stringBuffer.append(negativeOperationOffsetCorrection);

-			stringBuffer.append(TEXT_350);

-			for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass

-					.getImplementedGenOperations() : genClass.getAllGenOperations())) {

-				List<GenParameter> genParameters = genOperation.getGenParameters();

-				int size = genParameters.size();

-				boolean hasCheckedException = genOperation.hasCheckedException();

-				String indent = hasCheckedException ? "\t" : "";

-				stringBuffer.append(TEXT_351);

-				stringBuffer.append(genClass.getQualifiedOperationID(genOperation));

-				stringBuffer.append(TEXT_352);

-				if (hasCheckedException) {

-					stringBuffer.append(TEXT_353);

-					/*}*/}

-				if (genOperation.isVoid()) {

-					stringBuffer.append(TEXT_354);

-					stringBuffer.append(indent);

-					stringBuffer.append(genOperation.getName());

-					stringBuffer.append(TEXT_355);

-					for (int i = 0; i < size; i++) {

-						GenParameter genParameter = genParameters.get(i);

-						if (!isJDK50 && genParameter.isPrimitiveType()) {

-							stringBuffer.append(TEXT_356);

-						}

-						if (genParameter.getTypeGenDataType() == null

-								|| !genParameter.getTypeGenDataType().isObjectType()

-								|| !genParameter.usesOperationTypeParameters()

-								&& !genParameter.getRawType().equals(genParameter.getType(genClass))) {

-							stringBuffer.append(TEXT_357);

-							stringBuffer.append(genParameter.usesOperationTypeParameters() ? genParameter

-									.getRawImportedType() : genParameter.getObjectType(genClass));

-							stringBuffer.append(TEXT_358);

-						}

-						stringBuffer.append(TEXT_359);

-						stringBuffer.append(i);

-						stringBuffer.append(TEXT_360);

-						if (!isJDK50 && genParameter.isPrimitiveType()) {

-							stringBuffer.append(TEXT_361);

-							stringBuffer.append(genParameter.getPrimitiveValueFunction());

-							stringBuffer.append(TEXT_362);

-						}

-						if (i < (size - 1)) {

-							stringBuffer.append(TEXT_363);

-						}

-					}

-					stringBuffer.append(TEXT_364);

-					stringBuffer.append(indent);

-					stringBuffer.append(TEXT_365);

-				} else {

-					stringBuffer.append(TEXT_366);

-					stringBuffer.append(indent);

-					stringBuffer.append(TEXT_367);

-					if (!isJDK50 && genOperation.isPrimitiveType()) {

-						stringBuffer.append(TEXT_368);

-						stringBuffer.append(genOperation.getObjectType(genClass));

-						stringBuffer.append(TEXT_369);

-					}

-					stringBuffer.append(genOperation.getName());

-					stringBuffer.append(TEXT_370);

-					for (int i = 0; i < size; i++) {

-						GenParameter genParameter = genParameters.get(i);

-						if (!isJDK50 && genParameter.isPrimitiveType()) {

-							stringBuffer.append(TEXT_371);

-						}

-						if (genParameter.getTypeGenDataType() == null

-								|| !genParameter.getTypeGenDataType().isObjectType()

-								|| !genParameter.usesOperationTypeParameters()

-								&& !genParameter.getRawType().equals(genParameter.getType(genClass))) {

-							stringBuffer.append(TEXT_372);

-							stringBuffer.append(genParameter.usesOperationTypeParameters() ? genParameter

-									.getRawImportedType() : genParameter.getObjectType(genClass));

-							stringBuffer.append(TEXT_373);

-						}

-						stringBuffer.append(TEXT_374);

-						stringBuffer.append(i);

-						stringBuffer.append(TEXT_375);

-						if (!isJDK50 && genParameter.isPrimitiveType()) {

-							stringBuffer.append(TEXT_376);

-							stringBuffer.append(genParameter.getPrimitiveValueFunction());

-							stringBuffer.append(TEXT_377);

-						}

-						if (i < (size - 1)) {

-							stringBuffer.append(TEXT_378);

-						}

-					}

-					stringBuffer.append(TEXT_379);

-					if (!isJDK50 && genOperation.isPrimitiveType()) {

-						stringBuffer.append(TEXT_380);

-					}

-					stringBuffer.append(TEXT_381);

-				}

-				if (hasCheckedException) {/*{*/

-					stringBuffer.append(TEXT_382);

-					stringBuffer.append(genModel.getImportedName("java.lang.Throwable"));

-					stringBuffer.append(TEXT_383);

-					stringBuffer.append(genModel

-							.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"

-									: "java.lang.reflect.InvocationTargetException"));

-					stringBuffer.append(TEXT_384);

-				}

-			}

-			stringBuffer.append(TEXT_385);

-			if (genModel.isMinimalReflectiveMethods()) {

-				stringBuffer.append(TEXT_386);

-			} else {

-				stringBuffer.append(TEXT_387);

-			}

-			stringBuffer.append(TEXT_388);

-		}

-		if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation()

-				&& !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {

-			stringBuffer.append(TEXT_389);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_390);

-			}

-			stringBuffer.append(TEXT_391);

-			{

-				boolean first = true;

-				for (GenFeature genFeature : genClass.getToStringGenFeatures()) {

-					if (first) {

-						first = false;

-						stringBuffer.append(TEXT_392);

-						stringBuffer.append(genFeature.getName());

-						stringBuffer.append(TEXT_393);

-						stringBuffer.append(genModel.getNonNLS());

-					} else {

-						stringBuffer.append(TEXT_394);

-						stringBuffer.append(genFeature.getName());

-						stringBuffer.append(TEXT_395);

-						stringBuffer.append(genModel.getNonNLS());

-					}

-					if (genFeature.isUnsettable() && !genFeature.isListType()) {

-						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-							stringBuffer.append(TEXT_396);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_397);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_398);

-							stringBuffer.append(genModel.getNonNLS());

-						} else {

-							if (genClass.isFlag(genFeature)) {

-								if (genFeature.isBooleanType()) {

-									stringBuffer.append(TEXT_399);

-									if (genClass.isESetFlag(genFeature)) {

-										stringBuffer.append(TEXT_400);

-										stringBuffer.append(genClass.getESetFlagsField(genFeature));

-										stringBuffer.append(TEXT_401);

-										stringBuffer.append(genFeature.getUpperName());

-										stringBuffer.append(TEXT_402);

-									} else {

-										stringBuffer.append(genFeature.getUncapName());

-										stringBuffer.append(TEXT_403);

-									}

-									stringBuffer.append(TEXT_404);

-									stringBuffer.append(genClass.getFlagsField(genFeature));

-									stringBuffer.append(TEXT_405);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_406);

-									stringBuffer.append(genModel.getNonNLS());

-								} else {

-									stringBuffer.append(TEXT_407);

-									if (genClass.isESetFlag(genFeature)) {

-										stringBuffer.append(TEXT_408);

-										stringBuffer.append(genClass.getESetFlagsField(genFeature));

-										stringBuffer.append(TEXT_409);

-										stringBuffer.append(genFeature.getUpperName());

-										stringBuffer.append(TEXT_410);

-									} else {

-										stringBuffer.append(genFeature.getUncapName());

-										stringBuffer.append(TEXT_411);

-									}

-									stringBuffer.append(TEXT_412);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_413);

-									stringBuffer.append(genClass.getFlagsField(genFeature));

-									stringBuffer.append(TEXT_414);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_415);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_416);

-									stringBuffer.append(genModel.getNonNLS());

-								}

-							} else {

-								stringBuffer.append(TEXT_417);

-								if (genClass.isESetFlag(genFeature)) {

-									stringBuffer.append(TEXT_418);

-									stringBuffer.append(genClass.getESetFlagsField(genFeature));

-									stringBuffer.append(TEXT_419);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_420);

-								} else {

-									stringBuffer.append(genFeature.getUncapName());

-									stringBuffer.append(TEXT_421);

-								}

-								stringBuffer.append(TEXT_422);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_423);

-								stringBuffer.append(genModel.getNonNLS());

-							}

-						}

-					} else {

-						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-							stringBuffer.append(TEXT_424);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							if (!genFeature.isListType() && !genFeature.isReferenceType()) {

-								stringBuffer.append(TEXT_425);

-								stringBuffer.append(genFeature.getEDefault());

-							}

-							stringBuffer.append(TEXT_426);

-						} else {

-							if (genClass.isFlag(genFeature)) {

-								if (genFeature.isBooleanType()) {

-									stringBuffer.append(TEXT_427);

-									stringBuffer.append(genClass.getFlagsField(genFeature));

-									stringBuffer.append(TEXT_428);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_429);

-								} else {

-									stringBuffer.append(TEXT_430);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_431);

-									stringBuffer.append(genClass.getFlagsField(genFeature));

-									stringBuffer.append(TEXT_432);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_433);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_434);

-								}

-							} else {

-								stringBuffer.append(TEXT_435);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_436);

-							}

-						}

-					}

-				}

-			}

-			stringBuffer.append(TEXT_437);

-		}

-		if (isImplementation && genClass.isMapEntry()) {

-			GenFeature keyFeature = genClass.getMapEntryKeyFeature();

-			GenFeature valueFeature = genClass.getMapEntryValueFeature();

-			String objectType = genModel.getImportedName("java.lang.Object");

-			String keyType = isJDK50 ? keyFeature.getObjectType(genClass) : objectType;

-			String valueType = isJDK50 ? valueFeature.getObjectType(genClass) : objectType;

-			String eMapType = genModel.getImportedName("org.eclipse.emf.common.util.EMap")

-					+ (isJDK50 ? "<" + keyType + ", " + valueType + ">" : "");

-			stringBuffer.append(TEXT_438);

-			if (isGWT) {

-				stringBuffer.append(TEXT_439);

-				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-			}

-			stringBuffer.append(TEXT_440);

-			stringBuffer.append(objectType);

-			stringBuffer.append(TEXT_441);

-			stringBuffer.append(keyType);

-			stringBuffer.append(TEXT_442);

-			if (!isJDK50 && keyFeature.isPrimitiveType()) {

-				stringBuffer.append(TEXT_443);

-				stringBuffer.append(keyFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_444);

-			} else {

-				stringBuffer.append(TEXT_445);

-			}

-			stringBuffer.append(TEXT_446);

-			stringBuffer.append(keyType);

-			stringBuffer.append(TEXT_447);

-			if (keyFeature.isListType()) {

-				stringBuffer.append(TEXT_448);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_449);

-					stringBuffer.append(genModel.getImportedName("java.util.Collection"));

-					stringBuffer.append(TEXT_450);

-				}

-				stringBuffer.append(TEXT_451);

-			} else if (isJDK50) {

-				stringBuffer.append(TEXT_452);

-			} else if (keyFeature.isPrimitiveType()) {

-				stringBuffer.append(TEXT_453);

-				stringBuffer.append(keyFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_454);

-				stringBuffer.append(keyFeature.getPrimitiveValueFunction());

-				stringBuffer.append(TEXT_455);

-			} else {

-				stringBuffer.append(TEXT_456);

-				stringBuffer.append(keyFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_457);

-			}

-			stringBuffer.append(TEXT_458);

-			stringBuffer.append(valueType);

-			stringBuffer.append(TEXT_459);

-			if (!isJDK50 && valueFeature.isPrimitiveType()) {

-				stringBuffer.append(TEXT_460);

-				stringBuffer.append(valueFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_461);

-			} else {

-				stringBuffer.append(TEXT_462);

-			}

-			stringBuffer.append(TEXT_463);

-			stringBuffer.append(valueType);

-			stringBuffer.append(TEXT_464);

-			stringBuffer.append(valueType);

-			stringBuffer.append(TEXT_465);

-			stringBuffer.append(valueType);

-			stringBuffer.append(TEXT_466);

-			if (valueFeature.isListType()) {

-				stringBuffer.append(TEXT_467);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_468);

-					stringBuffer.append(genModel.getImportedName("java.util.Collection"));

-					stringBuffer.append(TEXT_469);

-				}

-				stringBuffer.append(TEXT_470);

-			} else if (isJDK50) {

-				stringBuffer.append(TEXT_471);

-			} else if (valueFeature.isPrimitiveType()) {

-				stringBuffer.append(TEXT_472);

-				stringBuffer.append(valueFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_473);

-				stringBuffer.append(valueFeature.getPrimitiveValueFunction());

-				stringBuffer.append(TEXT_474);

-			} else {

-				stringBuffer.append(TEXT_475);

-				stringBuffer.append(valueFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_476);

-			}

-			stringBuffer.append(TEXT_477);

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_478);

-			}

-			stringBuffer.append(TEXT_479);

-			stringBuffer.append(eMapType);

-			stringBuffer.append(TEXT_480);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

-			stringBuffer.append(TEXT_481);

-			stringBuffer.append(eMapType);

-			stringBuffer.append(TEXT_482);

-		}

-		stringBuffer.append(TEXT_483);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0ug5gGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_484);

-		stringBuffer.append(isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName());

-		// TODO fix the space above

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_485);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenClass genClass = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate && (!genClass.isInterface());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Class extends org.eclipse.egf.emf.pattern.base.GenClassJava {
+	protected static String nl;
+
+	public static synchronized Class create(String lineSeparator) {
+		nl = lineSeparator;
+		Class result = new Class();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";";
+	protected final String TEXT_4 = NL + "package ";
+	protected final String TEXT_5 = ";";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL;
+	protected final String TEXT_8 = NL;
+	protected final String TEXT_9 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * An implementation of the model object '<em><b>";
+	protected final String TEXT_10 = "</b></em>'." + NL + " * <!-- end-user-doc -->";
+	protected final String TEXT_11 = NL + " * <p>" + NL + " * The following features are implemented:" + NL + " * </p>"
+			+ NL + " * <ul>";
+	protected final String TEXT_12 = NL + " *   <li>{@link ";
+	protected final String TEXT_13 = "#";
+	protected final String TEXT_14 = " <em>";
+	protected final String TEXT_15 = "</em>}</li>";
+	protected final String TEXT_16 = NL + " * </ul>";
+	protected final String TEXT_17 = NL + " *" + NL + " * @generated" + NL + " */";
+	protected final String TEXT_18 = NL + "public";
+	protected final String TEXT_19 = " abstract";
+	protected final String TEXT_20 = " class ";
+	protected final String TEXT_21 = NL + "public interface ";
+	protected final String TEXT_22 = NL + "{";
+	protected final String TEXT_23 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_24 = " copyright = ";
+	protected final String TEXT_25 = ";";
+	protected final String TEXT_26 = NL;
+	protected final String TEXT_27 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_28 = " mofDriverNumber = \"";
+	protected final String TEXT_29 = "\";";
+	protected final String TEXT_30 = NL;
+	protected final String TEXT_31 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate static final long serialVersionUID = 1L;" + NL;
+	protected final String TEXT_32 = NL + "\t/**" + NL
+			+ "\t * An array of objects representing the values of non-primitive features." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_33 = NL + "\t@";
+	protected final String TEXT_34 = NL + "\tprotected Object[] ";
+	protected final String TEXT_35 = ";" + NL;
+	protected final String TEXT_36 = NL + "\t/**" + NL
+			+ "\t * A bit field representing the indices of non-primitive feature values." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_37 = NL + "\t@";
+	protected final String TEXT_38 = NL + "\tprotected int ";
+	protected final String TEXT_39 = ";" + NL;
+	protected final String TEXT_40 = NL + "\t/**" + NL
+			+ "\t * A set of bit flags representing the values of boolean attributes and whether unsettable features have been set."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_41 = NL + "\t@";
+	protected final String TEXT_42 = NL + "\tprotected int ";
+	protected final String TEXT_43 = " = 0;" + NL;
+	protected final String TEXT_44 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";
+	protected final String TEXT_45 = "() <em>";
+	protected final String TEXT_46 = "</em>}' array accessor." + NL
+			+ "\t * This is specialized for the more specific element type known in this context." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+	protected final String TEXT_47 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_48 = NL + "\t@SuppressWarnings(\"rawtypes\")";
+	protected final String TEXT_49 = NL + "\tprotected static final ";
+	protected final String TEXT_50 = "[] ";
+	protected final String TEXT_51 = "_EEMPTY_ARRAY = new ";
+	protected final String TEXT_52 = " [0]";
+	protected final String TEXT_53 = ";" + NL;
+	protected final String TEXT_54 = NL;
+	protected final String TEXT_55 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final int ";
+	protected final String TEXT_56 = " = ";
+	protected final String TEXT_57 = ".getFeatureID(";
+	protected final String TEXT_58 = ") - ";
+	protected final String TEXT_59 = ";" + NL;
+	protected final String TEXT_60 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final int ";
+	protected final String TEXT_61 = " = ";
+	protected final String TEXT_62 = ".getFeatureID(";
+	protected final String TEXT_63 = ") - ";
+	protected final String TEXT_64 = ";" + NL;
+	protected final String TEXT_65 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate static final int \"EOPERATION_OFFSET_CORRECTION\" = ";
+	protected final String TEXT_66 = ".getOperationID(";
+	protected final String TEXT_67 = ") - ";
+	protected final String TEXT_68 = ";" + NL;
+	protected final String TEXT_69 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_70 = "public";
+	protected final String TEXT_71 = "protected";
+	protected final String TEXT_72 = " ";
+	protected final String TEXT_73 = "()" + NL + "\t{" + NL + "\t\tsuper();";
+	protected final String TEXT_74 = NL + "\t\t";
+	protected final String TEXT_75 = " |= ";
+	protected final String TEXT_76 = "_EFLAG";
+	protected final String TEXT_77 = "_DEFAULT";
+	protected final String TEXT_78 = ";";
+	protected final String TEXT_79 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_80 = NL + "\t@Override";
+	protected final String TEXT_81 = NL + "\tprotected ";
+	protected final String TEXT_82 = " eStaticClass()" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_83 = ";" + NL + "\t}" + NL;
+	protected final String TEXT_84 = NL;
+	protected final String TEXT_85 = NL;
+	protected final String TEXT_86 = NL;
+	protected final String TEXT_87 = NL;
+	protected final String TEXT_88 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_89 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_90 = NL + "\t@Override";
+	protected final String TEXT_91 = NL + "\tpublic ";
+	protected final String TEXT_92 = " eInverseAdd(";
+	protected final String TEXT_93 = " otherEnd, int featureID, ";
+	protected final String TEXT_94 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";
+	protected final String TEXT_95 = ")" + NL + "\t\t{";
+	protected final String TEXT_96 = NL + "\t\t\tcase ";
+	protected final String TEXT_97 = ":";
+	protected final String TEXT_98 = NL + "\t\t\t\treturn ((";
+	protected final String TEXT_99 = "(";
+	protected final String TEXT_100 = ".InternalMapView";
+	protected final String TEXT_101 = ")";
+	protected final String TEXT_102 = "()).eMap()).basicAdd(otherEnd, msgs);";
+	protected final String TEXT_103 = NL + "\t\t\t\treturn (";
+	protected final String TEXT_104 = "()).basicAdd(otherEnd, msgs);";
+	protected final String TEXT_105 = NL + "\t\t\t\tif (eInternalContainer() != null)" + NL
+			+ "\t\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);";
+	protected final String TEXT_106 = NL + "\t\t\t\treturn basicSet";
+	protected final String TEXT_107 = "((";
+	protected final String TEXT_108 = ")otherEnd, msgs);";
+	protected final String TEXT_109 = NL + "\t\t\t\treturn eBasicSetContainer(otherEnd, ";
+	protected final String TEXT_110 = ", msgs);";
+	protected final String TEXT_111 = NL + "\t\t\t\t";
+	protected final String TEXT_112 = " ";
+	protected final String TEXT_113 = " = (";
+	protected final String TEXT_114 = ")eVirtualGet(";
+	protected final String TEXT_115 = ");";
+	protected final String TEXT_116 = NL + "\t\t\t\t";
+	protected final String TEXT_117 = " ";
+	protected final String TEXT_118 = " = ";
+	protected final String TEXT_119 = "basicGet";
+	protected final String TEXT_120 = "();";
+	protected final String TEXT_121 = NL + "\t\t\t\tif (";
+	protected final String TEXT_122 = " != null)";
+	protected final String TEXT_123 = NL + "\t\t\t\t\tmsgs = ((";
+	protected final String TEXT_124 = ")";
+	protected final String TEXT_125 = ").eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+	protected final String TEXT_126 = ", null, msgs);";
+	protected final String TEXT_127 = NL + "\t\t\t\t\tmsgs = ((";
+	protected final String TEXT_128 = ")";
+	protected final String TEXT_129 = ").eInverseRemove(this, ";
+	protected final String TEXT_130 = ", ";
+	protected final String TEXT_131 = ".class, msgs);";
+	protected final String TEXT_132 = NL + "\t\t\t\treturn basicSet";
+	protected final String TEXT_133 = "((";
+	protected final String TEXT_134 = ")otherEnd, msgs);";
+	protected final String TEXT_135 = NL + "\t\t}";
+	protected final String TEXT_136 = NL + "\t\treturn super.eInverseAdd(otherEnd, featureID, msgs);";
+	protected final String TEXT_137 = NL + "\t\treturn eDynamicInverseAdd(otherEnd, featureID, msgs);";
+	protected final String TEXT_138 = NL + "\t}" + NL;
+	protected final String TEXT_139 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_140 = NL + "\t@Override";
+	protected final String TEXT_141 = NL + "\tpublic ";
+	protected final String TEXT_142 = " eInverseRemove(";
+	protected final String TEXT_143 = " otherEnd, int featureID, ";
+	protected final String TEXT_144 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";
+	protected final String TEXT_145 = ")" + NL + "\t\t{";
+	protected final String TEXT_146 = NL + "\t\t\tcase ";
+	protected final String TEXT_147 = ":";
+	protected final String TEXT_148 = NL + "\t\t\t\treturn ((";
+	protected final String TEXT_149 = ")((";
+	protected final String TEXT_150 = ".InternalMapView";
+	protected final String TEXT_151 = ")";
+	protected final String TEXT_152 = "()).eMap()).basicRemove(otherEnd, msgs);";
+	protected final String TEXT_153 = NL + "\t\t\t\treturn ((";
+	protected final String TEXT_154 = ")((";
+	protected final String TEXT_155 = ".Internal.Wrapper)";
+	protected final String TEXT_156 = "()).featureMap()).basicRemove(otherEnd, msgs);";
+	protected final String TEXT_157 = NL + "\t\t\t\treturn ((";
+	protected final String TEXT_158 = ")";
+	protected final String TEXT_159 = "()).basicRemove(otherEnd, msgs);";
+	protected final String TEXT_160 = NL + "\t\t\t\treturn eBasicSetContainer(null, ";
+	protected final String TEXT_161 = ", msgs);";
+	protected final String TEXT_162 = NL + "\t\t\t\treturn basicUnset";
+	protected final String TEXT_163 = "(msgs);";
+	protected final String TEXT_164 = NL + "\t\t\t\treturn basicSet";
+	protected final String TEXT_165 = "(null, msgs);";
+	protected final String TEXT_166 = NL + "\t\t}";
+	protected final String TEXT_167 = NL + "\t\treturn super.eInverseRemove(otherEnd, featureID, msgs);";
+	protected final String TEXT_168 = NL + "\t\treturn eDynamicInverseRemove(otherEnd, featureID, msgs);";
+	protected final String TEXT_169 = NL + "\t}" + NL;
+	protected final String TEXT_170 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_171 = NL + "\t@Override";
+	protected final String TEXT_172 = NL + "\tpublic ";
+	protected final String TEXT_173 = " eBasicRemoveFromContainerFeature(";
+	protected final String TEXT_174 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (eContainerFeatureID()";
+	protected final String TEXT_175 = ")" + NL + "\t\t{";
+	protected final String TEXT_176 = NL + "\t\t\tcase ";
+	protected final String TEXT_177 = ":" + NL + "\t\t\t\treturn eInternalContainer().eInverseRemove(this, ";
+	protected final String TEXT_178 = ", ";
+	protected final String TEXT_179 = ".class, msgs);";
+	protected final String TEXT_180 = NL + "\t\t}";
+	protected final String TEXT_181 = NL + "\t\treturn super.eBasicRemoveFromContainerFeature(msgs);";
+	protected final String TEXT_182 = NL + "\t\treturn eDynamicBasicRemoveFromContainer(msgs);";
+	protected final String TEXT_183 = NL + "\t}" + NL;
+	protected final String TEXT_184 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_185 = NL + "\t@Override";
+	protected final String TEXT_186 = NL + "\tpublic Object eGet(int featureID, boolean resolve, boolean coreType)" + NL
+			+ "\t{" + NL + "\t\tswitch (featureID";
+	protected final String TEXT_187 = ")" + NL + "\t\t{";
+	protected final String TEXT_188 = NL + "\t\t\tcase ";
+	protected final String TEXT_189 = ":";
+	protected final String TEXT_190 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_191 = "();";
+	protected final String TEXT_192 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_193 = "() ? Boolean.TRUE : Boolean.FALSE;";
+	protected final String TEXT_194 = NL + "\t\t\t\treturn new ";
+	protected final String TEXT_195 = "(";
+	protected final String TEXT_196 = "());";
+	protected final String TEXT_197 = NL + "\t\t\t\tif (resolve) return ";
+	protected final String TEXT_198 = "();" + NL + "\t\t\t\treturn basicGet";
+	protected final String TEXT_199 = "();";
+	protected final String TEXT_200 = NL + "\t\t\t\tif (coreType) return ((";
+	protected final String TEXT_201 = ".InternalMapView";
+	protected final String TEXT_202 = ")";
+	protected final String TEXT_203 = "()).eMap();" + NL + "\t\t\t\telse return ";
+	protected final String TEXT_204 = "();";
+	protected final String TEXT_205 = NL + "\t\t\t\tif (coreType) return ";
+	protected final String TEXT_206 = "();" + NL + "\t\t\t\telse return ";
+	protected final String TEXT_207 = "().map();";
+	protected final String TEXT_208 = NL + "\t\t\t\tif (coreType) return ((";
+	protected final String TEXT_209 = ".Internal.Wrapper)";
+	protected final String TEXT_210 = "()).featureMap();" + NL + "\t\t\t\treturn ";
+	protected final String TEXT_211 = "();";
+	protected final String TEXT_212 = NL + "\t\t\t\tif (coreType) return ";
+	protected final String TEXT_213 = "();" + NL + "\t\t\t\treturn ((";
+	protected final String TEXT_214 = ".Internal)";
+	protected final String TEXT_215 = "()).getWrapper();";
+	protected final String TEXT_216 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_217 = "();";
+	protected final String TEXT_218 = NL + "\t\t}";
+	protected final String TEXT_219 = NL + "\t\treturn super.eGet(featureID, resolve, coreType);";
+	protected final String TEXT_220 = NL + "\t\treturn eDynamicGet(featureID, resolve, coreType);";
+	protected final String TEXT_221 = NL + "\t}" + NL;
+	protected final String TEXT_222 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_223 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_224 = NL + "\t@Override";
+	protected final String TEXT_225 = NL + "\tpublic void eSet(int featureID, Object newValue)" + NL + "\t{" + NL
+			+ "\t\tswitch (featureID";
+	protected final String TEXT_226 = ")" + NL + "\t\t{";
+	protected final String TEXT_227 = NL + "\t\t\tcase ";
+	protected final String TEXT_228 = ":";
+	protected final String TEXT_229 = NL + "\t\t\t\t((";
+	protected final String TEXT_230 = ".Internal)((";
+	protected final String TEXT_231 = ".Internal.Wrapper)";
+	protected final String TEXT_232 = "()).featureMap()).set(newValue);";
+	protected final String TEXT_233 = NL + "\t\t\t\t((";
+	protected final String TEXT_234 = ".Internal)";
+	protected final String TEXT_235 = "()).set(newValue);";
+	protected final String TEXT_236 = NL + "\t\t\t\t((";
+	protected final String TEXT_237 = ".Setting)((";
+	protected final String TEXT_238 = ".InternalMapView";
+	protected final String TEXT_239 = ")";
+	protected final String TEXT_240 = "()).eMap()).set(newValue);";
+	protected final String TEXT_241 = NL + "\t\t\t\t((";
+	protected final String TEXT_242 = ".Setting)";
+	protected final String TEXT_243 = "()).set(newValue);";
+	protected final String TEXT_244 = NL + "\t\t\t\t";
+	protected final String TEXT_245 = "().clear();" + NL + "\t\t\t\t";
+	protected final String TEXT_246 = "().addAll((";
+	protected final String TEXT_247 = "<? extends ";
+	protected final String TEXT_248 = ">";
+	protected final String TEXT_249 = ")newValue);";
+	protected final String TEXT_250 = NL + "\t\t\t\tset";
+	protected final String TEXT_251 = "(((";
+	protected final String TEXT_252 = ")newValue).";
+	protected final String TEXT_253 = "());";
+	protected final String TEXT_254 = NL + "\t\t\t\tset";
+	protected final String TEXT_255 = "(";
+	protected final String TEXT_256 = "(";
+	protected final String TEXT_257 = ")";
+	protected final String TEXT_258 = "newValue);";
+	protected final String TEXT_259 = NL + "\t\t\t\treturn;";
+	protected final String TEXT_260 = NL + "\t\t}";
+	protected final String TEXT_261 = NL + "\t\tsuper.eSet(featureID, newValue);";
+	protected final String TEXT_262 = NL + "\t\teDynamicSet(featureID, newValue);";
+	protected final String TEXT_263 = NL + "\t}" + NL;
+	protected final String TEXT_264 = NL;
+	protected final String TEXT_265 = NL;
+	protected final String TEXT_266 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_267 = NL + "\t@Override";
+	protected final String TEXT_268 = NL + "\tpublic int eBaseStructuralFeatureID(int derivedFeatureID, Class";
+	protected final String TEXT_269 = " baseClass)" + NL + "\t{";
+	protected final String TEXT_270 = NL + "\t\tif (baseClass == ";
+	protected final String TEXT_271 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (derivedFeatureID";
+	protected final String TEXT_272 = ")" + NL + "\t\t\t{";
+	protected final String TEXT_273 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_274 = ": return ";
+	protected final String TEXT_275 = ";";
+	protected final String TEXT_276 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_277 = NL + "\t\treturn super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);"
+			+ NL + "\t}";
+	protected final String TEXT_278 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_279 = NL + "\t@Override";
+	protected final String TEXT_280 = NL + "\tpublic int eDerivedStructuralFeatureID(int baseFeatureID, Class";
+	protected final String TEXT_281 = " baseClass)" + NL + "\t{";
+	protected final String TEXT_282 = NL + "\t\tif (baseClass == ";
+	protected final String TEXT_283 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID)" + NL + "\t\t\t{";
+	protected final String TEXT_284 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_285 = ": return ";
+	protected final String TEXT_286 = ";";
+	protected final String TEXT_287 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_288 = NL + "\t\tif (baseClass == ";
+	protected final String TEXT_289 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID";
+	protected final String TEXT_290 = ")" + NL + "\t\t\t{";
+	protected final String TEXT_291 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_292 = ": return ";
+	protected final String TEXT_293 = ";";
+	protected final String TEXT_294 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_295 = NL + "\t\treturn super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);"
+			+ NL + "\t}" + NL;
+	protected final String TEXT_296 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_297 = NL + "\t@Override";
+	protected final String TEXT_298 = NL + "\tpublic int eDerivedOperationID(int baseOperationID, Class";
+	protected final String TEXT_299 = " baseClass)" + NL + "\t{";
+	protected final String TEXT_300 = NL + "\t\tif (baseClass == ";
+	protected final String TEXT_301 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";
+	protected final String TEXT_302 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_303 = ": return ";
+	protected final String TEXT_304 = ";";
+	protected final String TEXT_305 = NL
+			+ "\t\t\t\tdefault: return super.eDerivedOperationID(baseOperationID, baseClass);" + NL + "\t\t\t}" + NL
+			+ "\t\t}";
+	protected final String TEXT_306 = NL + "\t\tif (baseClass == ";
+	protected final String TEXT_307 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";
+	protected final String TEXT_308 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_309 = ": return ";
+	protected final String TEXT_310 = ";";
+	protected final String TEXT_311 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_312 = NL + "\t\tif (baseClass == ";
+	protected final String TEXT_313 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID";
+	protected final String TEXT_314 = ")" + NL + "\t\t\t{";
+	protected final String TEXT_315 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_316 = ": return ";
+	protected final String TEXT_317 = ";";
+	protected final String TEXT_318 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_319 = NL + "\t\treturn super.eDerivedOperationID(baseOperationID, baseClass);" + NL
+			+ "\t}" + NL;
+	protected final String TEXT_320 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_321 = NL + "\t@Override";
+	protected final String TEXT_322 = NL + "\tprotected Object[] eVirtualValues()" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_323 = ";" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_324 = NL + "\t@Override";
+	protected final String TEXT_325 = NL + "\tprotected void eSetVirtualValues(Object[] newValues)" + NL + "\t{" + NL
+			+ "\t\t";
+	protected final String TEXT_326 = " = newValues;" + NL + "\t}" + NL;
+	protected final String TEXT_327 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_328 = NL + "\t@Override";
+	protected final String TEXT_329 = NL + "\tprotected int eVirtualIndexBits(int offset)" + NL + "\t{" + NL
+			+ "\t\tswitch (offset)" + NL + "\t\t{";
+	protected final String TEXT_330 = NL + "\t\t\tcase ";
+	protected final String TEXT_331 = " :" + NL + "\t\t\t\treturn ";
+	protected final String TEXT_332 = ";";
+	protected final String TEXT_333 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"
+			+ NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_334 = NL + "\t@Override";
+	protected final String TEXT_335 = NL + "\tprotected void eSetVirtualIndexBits(int offset, int newIndexBits)" + NL
+			+ "\t{" + NL + "\t\tswitch (offset)" + NL + "\t\t{";
+	protected final String TEXT_336 = NL + "\t\t\tcase ";
+	protected final String TEXT_337 = " :" + NL + "\t\t\t\t";
+	protected final String TEXT_338 = " = newIndexBits;" + NL + "\t\t\t\tbreak;";
+	protected final String TEXT_339 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"
+			+ NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_340 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_341 = NL + "\t@Override";
+	protected final String TEXT_342 = NL + "\t@SuppressWarnings(";
+	protected final String TEXT_343 = "\"unchecked\"";
+	protected final String TEXT_344 = "{\"rawtypes\", \"unchecked\" }";
+	protected final String TEXT_345 = ")";
+	protected final String TEXT_346 = NL + "\tpublic Object eInvoke(int operationID, ";
+	protected final String TEXT_347 = " arguments) throws ";
+	protected final String TEXT_348 = NL + "\t{" + NL + "\t\tswitch (operationID";
+	protected final String TEXT_349 = ")" + NL + "\t\t{";
+	protected final String TEXT_350 = NL + "\t\t\tcase ";
+	protected final String TEXT_351 = ":";
+	protected final String TEXT_352 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{";
+	protected final String TEXT_353 = NL + "\t\t\t\t";
+	protected final String TEXT_354 = "(";
+	protected final String TEXT_355 = "(";
+	protected final String TEXT_356 = "(";
+	protected final String TEXT_357 = ")";
+	protected final String TEXT_358 = "arguments.get(";
+	protected final String TEXT_359 = ")";
+	protected final String TEXT_360 = ").";
+	protected final String TEXT_361 = "()";
+	protected final String TEXT_362 = ", ";
+	protected final String TEXT_363 = ");" + NL + "\t\t\t\t";
+	protected final String TEXT_364 = "return null;";
+	protected final String TEXT_365 = NL + "\t\t\t\t";
+	protected final String TEXT_366 = "return ";
+	protected final String TEXT_367 = "new ";
+	protected final String TEXT_368 = "(";
+	protected final String TEXT_369 = "(";
+	protected final String TEXT_370 = "(";
+	protected final String TEXT_371 = "(";
+	protected final String TEXT_372 = ")";
+	protected final String TEXT_373 = "arguments.get(";
+	protected final String TEXT_374 = ")";
+	protected final String TEXT_375 = ").";
+	protected final String TEXT_376 = "()";
+	protected final String TEXT_377 = ", ";
+	protected final String TEXT_378 = ")";
+	protected final String TEXT_379 = ")";
+	protected final String TEXT_380 = ";";
+	protected final String TEXT_381 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";
+	protected final String TEXT_382 = " throwable)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tthrow new ";
+	protected final String TEXT_383 = "(throwable);" + NL + "\t\t\t\t}";
+	protected final String TEXT_384 = NL + "\t\t}";
+	protected final String TEXT_385 = NL + "\t\treturn super.eInvoke(operationID, arguments);";
+	protected final String TEXT_386 = NL + "\t\treturn eDynamicInvoke(operationID, arguments);";
+	protected final String TEXT_387 = NL + "\t}" + NL;
+	protected final String TEXT_388 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_389 = NL + "\t@Override";
+	protected final String TEXT_390 = NL + "\tpublic String toString()" + NL + "\t{" + NL
+			+ "\t\tif (eIsProxy()) return super.toString();" + NL + "" + NL
+			+ "\t\tStringBuffer result = new StringBuffer(super.toString());";
+	protected final String TEXT_391 = NL + "\t\tresult.append(\" (";
+	protected final String TEXT_392 = ": \");";
+	protected final String TEXT_393 = NL + "\t\tresult.append(\", ";
+	protected final String TEXT_394 = ": \");";
+	protected final String TEXT_395 = NL + "\t\tif (eVirtualIsSet(";
+	protected final String TEXT_396 = ")) result.append(eVirtualGet(";
+	protected final String TEXT_397 = ")); else result.append(\"<unset>\");";
+	protected final String TEXT_398 = NL + "\t\tif (";
+	protected final String TEXT_399 = "(";
+	protected final String TEXT_400 = " & ";
+	protected final String TEXT_401 = "_ESETFLAG) != 0";
+	protected final String TEXT_402 = "ESet";
+	protected final String TEXT_403 = ") result.append((";
+	protected final String TEXT_404 = " & ";
+	protected final String TEXT_405 = "_EFLAG) != 0); else result.append(\"<unset>\");";
+	protected final String TEXT_406 = NL + "\t\tif (";
+	protected final String TEXT_407 = "(";
+	protected final String TEXT_408 = " & ";
+	protected final String TEXT_409 = "_ESETFLAG) != 0";
+	protected final String TEXT_410 = "ESet";
+	protected final String TEXT_411 = ") result.append(";
+	protected final String TEXT_412 = "_EFLAG_VALUES[(";
+	protected final String TEXT_413 = " & ";
+	protected final String TEXT_414 = "_EFLAG) >>> ";
+	protected final String TEXT_415 = "_EFLAG_OFFSET]); else result.append(\"<unset>\");";
+	protected final String TEXT_416 = NL + "\t\tif (";
+	protected final String TEXT_417 = "(";
+	protected final String TEXT_418 = " & ";
+	protected final String TEXT_419 = "_ESETFLAG) != 0";
+	protected final String TEXT_420 = "ESet";
+	protected final String TEXT_421 = ") result.append(";
+	protected final String TEXT_422 = "); else result.append(\"<unset>\");";
+	protected final String TEXT_423 = NL + "\t\tresult.append(eVirtualGet(";
+	protected final String TEXT_424 = ", ";
+	protected final String TEXT_425 = "));";
+	protected final String TEXT_426 = NL + "\t\tresult.append((";
+	protected final String TEXT_427 = " & ";
+	protected final String TEXT_428 = "_EFLAG) != 0);";
+	protected final String TEXT_429 = NL + "\t\tresult.append(";
+	protected final String TEXT_430 = "_EFLAG_VALUES[(";
+	protected final String TEXT_431 = " & ";
+	protected final String TEXT_432 = "_EFLAG) >>> ";
+	protected final String TEXT_433 = "_EFLAG_OFFSET]);";
+	protected final String TEXT_434 = NL + "\t\tresult.append(";
+	protected final String TEXT_435 = ");";
+	protected final String TEXT_436 = NL + "\t\tresult.append(')');" + NL + "\t\treturn result.toString();" + NL + "\t}"
+			+ NL;
+	protected final String TEXT_437 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_438 = NL + "\t@";
+	protected final String TEXT_439 = NL + "\tprotected int hash = -1;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic int getHash()" + NL + "\t{" + NL + "\t\tif (hash == -1)" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_440 = " theKey = getKey();" + NL
+			+ "\t\t\thash = (theKey == null ? 0 : theKey.hashCode());" + NL + "\t\t}" + NL + "\t\treturn hash;" + NL
+			+ "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic void setHash(int hash)" + NL + "\t{" + NL
+			+ "\t\tthis.hash = hash;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_441 = " getKey()" + NL + "\t{";
+	protected final String TEXT_442 = NL + "\t\treturn new ";
+	protected final String TEXT_443 = "(getTypedKey());";
+	protected final String TEXT_444 = NL + "\t\treturn getTypedKey();";
+	protected final String TEXT_445 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic void setKey(";
+	protected final String TEXT_446 = " key)" + NL + "\t{";
+	protected final String TEXT_447 = NL + "\t\tgetTypedKey().addAll(";
+	protected final String TEXT_448 = "(";
+	protected final String TEXT_449 = ")";
+	protected final String TEXT_450 = "key);";
+	protected final String TEXT_451 = NL + "\t\tsetTypedKey(key);";
+	protected final String TEXT_452 = NL + "\t\tsetTypedKey(((";
+	protected final String TEXT_453 = ")key).";
+	protected final String TEXT_454 = "());";
+	protected final String TEXT_455 = NL + "\t\tsetTypedKey((";
+	protected final String TEXT_456 = ")key);";
+	protected final String TEXT_457 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_458 = " getValue()" + NL + "\t{";
+	protected final String TEXT_459 = NL + "\t\treturn new ";
+	protected final String TEXT_460 = "(getTypedValue());";
+	protected final String TEXT_461 = NL + "\t\treturn getTypedValue();";
+	protected final String TEXT_462 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_463 = " setValue(";
+	protected final String TEXT_464 = " value)" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_465 = " oldValue = getValue();";
+	protected final String TEXT_466 = NL + "\t\tgetTypedValue().clear();" + NL + "\t\tgetTypedValue().addAll(";
+	protected final String TEXT_467 = "(";
+	protected final String TEXT_468 = ")";
+	protected final String TEXT_469 = "value);";
+	protected final String TEXT_470 = NL + "\t\tsetTypedValue(value);";
+	protected final String TEXT_471 = NL + "\t\tsetTypedValue(((";
+	protected final String TEXT_472 = ")value).";
+	protected final String TEXT_473 = "());";
+	protected final String TEXT_474 = NL + "\t\tsetTypedValue((";
+	protected final String TEXT_475 = ")value);";
+	protected final String TEXT_476 = NL + "\t\treturn oldValue;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_477 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_478 = NL + "\tpublic ";
+	protected final String TEXT_479 = " getEMap()" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_480 = " container = eContainer();" + NL + "\t\treturn container == null ? null : (";
+	protected final String TEXT_481 = ")container.eGet(eContainmentFeature());" + NL + "\t}" + NL;
+	protected final String TEXT_482 = NL;
+	protected final String TEXT_483 = NL + "} //";
+	protected final String TEXT_484 = NL;
+	protected final String TEXT_485 = NL;
+	protected final String TEXT_486 = NL;
+
+	public Class() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_485);
+		stringBuffer.append(TEXT_486);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenClass genClass = parameter;
+		targetPath = genClass.getGenModel().getModelDirectory();
+		packageName = genClass.getGenPackage().getClassPackageName();
+		className = genClass.getClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenClass genClass = parameter;
+		argument = ((Object[]) new Object[] { new Object[] { genClass,
+				genClass.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE, Boolean.TRUE } })[0];
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2011 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		final GenClass genClass = (GenClass) ((Object[]) argument)[0];
+		final GenPackage genPackage = genClass.getGenPackage();
+		final GenModel genModel = genPackage.getGenModel();
+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+		final boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
+		final boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
+		final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;
+		final String publicStaticFinalFlag = isImplementation ? "public static final " : "";
+		final String singleWildcard = isJDK50 ? "<?>" : "";
+		final String negativeOffsetCorrection = genClass.hasOffsetCorrection()
+				? " - " + genClass.getOffsetCorrectionField(null) : "";
+		final String positiveOffsetCorrection = genClass.hasOffsetCorrection()
+				? " + " + genClass.getOffsetCorrectionField(null) : "";
+		final String negativeOperationOffsetCorrection = genClass.hasOffsetCorrection()
+				? " - EOPERATION_OFFSET_CORRECTION" : "";
+		final String positiveOperationOffsetCorrection = genClass.hasOffsetCorrection()
+				? " + EOPERATION_OFFSET_CORRECTION" : "";
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		if (isInterface) {
+			stringBuffer.append(TEXT_2);
+			stringBuffer.append(genPackage.getInterfacePackageName());
+			stringBuffer.append(TEXT_3);
+		} else {
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(genPackage.getClassPackageName());
+			stringBuffer.append(TEXT_5);
+		}
+		stringBuffer.append(TEXT_6);
+		genModel.markImportLocation(stringBuffer, genPackage);
+		if (isImplementation) {
+			genClass.addClassPsuedoImports();
+		}
+		stringBuffer.append(TEXT_7);
+		if (isInterface) {
+			stringBuffer.append(TEXT_8);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.interface.javadoc.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_C2iO4eXDEeCxnsoQRwU99Q",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/interface.javadoc.override.javajetinc
+		} else {
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genClass.getFormattedName());
+			stringBuffer.append(TEXT_10);
+			if (!genClass.getImplementedGenFeatures().isEmpty()) {
+				stringBuffer.append(TEXT_11);
+				for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(genClass.getQualifiedClassName());
+					stringBuffer.append(TEXT_13);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_14);
+					stringBuffer.append(genFeature.getFormattedName());
+					stringBuffer.append(TEXT_15);
+				}
+				stringBuffer.append(TEXT_16);
+			}
+			stringBuffer.append(TEXT_17);
+		}
+		if (isImplementation) {
+			stringBuffer.append(TEXT_18);
+			if (genClass.isAbstract()) {
+				stringBuffer.append(TEXT_19);
+			}
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genClass.getClassName());
+			stringBuffer.append(genClass.getTypeParameters().trim());
+			stringBuffer.append(genClass.getClassExtends());
+			stringBuffer.append(genClass.getClassImplements());
+		} else {
+			stringBuffer.append(TEXT_21);
+			stringBuffer.append(genClass.getInterfaceName());
+			stringBuffer.append(genClass.getTypeParameters().trim());
+			stringBuffer.append(genClass.getInterfaceExtends());
+		}
+		stringBuffer.append(TEXT_22);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_23);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_26);
+		}
+		if (isImplementation && genModel.getDriverNumber() != null) {
+			stringBuffer.append(TEXT_27);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(genModel.getDriverNumber());
+			stringBuffer.append(TEXT_29);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_30);
+		}
+		if (isImplementation && genClass.isJavaIOSerializable()) {
+			stringBuffer.append(TEXT_31);
+		}
+		if (isImplementation && genModel.isVirtualDelegation()) {
+			String eVirtualValuesField = genClass.getEVirtualValuesField();
+			if (eVirtualValuesField != null) {
+				stringBuffer.append(TEXT_32);
+				if (isGWT) {
+					stringBuffer.append(TEXT_33);
+					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+				}
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(eVirtualValuesField);
+				stringBuffer.append(TEXT_35);
+			}
+			{
+				List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());
+				if (!eVirtualIndexBitFields.isEmpty()) {
+					for (String eVirtualIndexBitField : eVirtualIndexBitFields) {
+						stringBuffer.append(TEXT_36);
+						if (isGWT) {
+							stringBuffer.append(TEXT_37);
+							stringBuffer
+									.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+						}
+						stringBuffer.append(TEXT_38);
+						stringBuffer.append(eVirtualIndexBitField);
+						stringBuffer.append(TEXT_39);
+					}
+				}
+			}
+		}
+		if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled()
+				&& genModel.getBooleanFlagsReservedBits() == -1) {
+			stringBuffer.append(TEXT_40);
+			if (isGWT) {
+				stringBuffer.append(TEXT_41);
+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+			}
+			stringBuffer.append(TEXT_42);
+			stringBuffer.append(genModel.getBooleanFlagsField());
+			stringBuffer.append(TEXT_43);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()) {
+			for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {
+				if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+						&& !genFeature.isMapType()) {
+					String rawListItemType = genFeature.getRawListItemType(genClass);
+					int index = rawListItemType.indexOf('[');
+					String head = rawListItemType;
+					String tail = "";
+					if (index != -1) {
+						head = rawListItemType.substring(0, index);
+						tail = rawListItemType.substring(index);
+					}
+					stringBuffer.append(TEXT_44);
+					stringBuffer.append(genFeature.getGetArrayAccessor());
+					stringBuffer.append(TEXT_45);
+					stringBuffer.append(genFeature.getFormattedName());
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(genFeature.getGetArrayAccessor());
+					stringBuffer.append(TEXT_47);
+					if (genFeature.getQualifiedListItemType(genClass).contains("<")
+							|| genFeature.getArrayItemType(genClass).contains("<")) {
+						stringBuffer.append(TEXT_48);
+					}
+					stringBuffer.append(TEXT_49);
+					stringBuffer.append(rawListItemType);
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(head);
+					stringBuffer.append(TEXT_52);
+					stringBuffer.append(tail);
+					stringBuffer.append(TEXT_53);
+				}
+			}
+			for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {
+				stringBuffer.append(TEXT_54);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0jpGTmJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//Class/declaredFieldGenFeature.override.javajetinc
+			}
+		}
+		if (isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenFeatures().isEmpty()) {
+			stringBuffer.append(TEXT_55);
+			stringBuffer.append(genClass.getOffsetCorrectionField(null));
+			stringBuffer.append(TEXT_56);
+			stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+			stringBuffer.append(TEXT_57);
+			stringBuffer.append(genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor());
+			stringBuffer.append(TEXT_58);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0)));
+			stringBuffer.append(TEXT_59);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()) {
+			for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {
+				GenFeature reverseFeature = genFeature.getReverse();
+				if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {
+					stringBuffer.append(TEXT_60);
+					stringBuffer.append(genClass.getOffsetCorrectionField(genFeature));
+					stringBuffer.append(TEXT_61);
+					stringBuffer.append(reverseFeature.getGenClass().getQualifiedClassifierAccessor());
+					stringBuffer.append(TEXT_62);
+					stringBuffer.append(reverseFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_63);
+					stringBuffer.append(reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature));
+					stringBuffer.append(TEXT_64);
+				}
+			}
+		}
+		if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection()
+				&& !genClass.getImplementedGenOperations().isEmpty()) {
+			stringBuffer.append(TEXT_65);
+			stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+			stringBuffer.append(TEXT_66);
+			stringBuffer.append(genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor());
+			stringBuffer.append(TEXT_67);
+			stringBuffer.append(genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0)));
+			stringBuffer.append(TEXT_68);
+		}
+		if (isImplementation) {
+			stringBuffer.append(TEXT_69);
+			if (genModel.isPublicConstructors()) {
+				stringBuffer.append(TEXT_70);
+			} else {
+				stringBuffer.append(TEXT_71);
+			}
+			stringBuffer.append(TEXT_72);
+			stringBuffer.append(genClass.getClassName());
+			stringBuffer.append(TEXT_73);
+			for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {
+				stringBuffer.append(TEXT_74);
+				stringBuffer.append(genClass.getFlagsField(genFeature));
+				stringBuffer.append(TEXT_75);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_76);
+				if (!genFeature.isBooleanType()) {
+					stringBuffer.append(TEXT_77);
+				}
+				stringBuffer.append(TEXT_78);
+			}
+			stringBuffer.append(TEXT_79);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_80);
+			}
+			stringBuffer.append(TEXT_81);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
+			stringBuffer.append(TEXT_82);
+			stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+			stringBuffer.append(TEXT_83);
+		}
+		stringBuffer.append(TEXT_84);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.reflectiveDelegation.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0kFyMGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		//Class/reflectiveDelegation.override.javajetinc
+		if (isImplementation) {
+			new Runnable() {
+				public void run() {
+					GenClass classExtendsGenClass = genClass.getClassExtendsGenClass();
+					List<GenFeature> classExtendsAllGenFeatures = classExtendsGenClass == null
+							? Collections.<GenFeature> emptyList() : classExtendsGenClass.getAllGenFeatures();
+					for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {
+						stringBuffer.append(TEXT_85);
+						{
+							//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeatureReified.override" args="genFeature:genFeature,classExtendsGenClass:classExtendsGenClass,classExtendsAllGenFeatures:classExtendsAllGenFeatures,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+							InternalPatternContext ictx = (InternalPatternContext) ctx;
+							new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+							stringBuffer.setLength(0);
+
+							final Map<String, Object> callParameters = new HashMap<String, Object>();
+							callParameters.put("genFeature", genFeature);
+							callParameters.put("classExtendsGenClass", classExtendsGenClass);
+							callParameters.put("classExtendsAllGenFeatures", classExtendsAllGenFeatures);
+							callParameters.put("genClass", genClass);
+							callParameters.put("genPackage", genPackage);
+							callParameters.put("genModel", genModel);
+							callParameters.put("isJDK50", isJDK50);
+							callParameters.put("isInterface", isInterface);
+							callParameters.put("isImplementation", isImplementation);
+							callParameters.put("isGWT", isGWT);
+							callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+							callParameters.put("singleWildcard", singleWildcard);
+							callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+							callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+							callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+							callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+							CallHelper.executeWithParameterInjection(
+									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_odzp0LM-EeKd56X4hcZPSw",
+									new ExecutionContext((InternalPatternContext) ctx), callParameters);
+							stringBuffer.setLength(0);
+						}
+
+						//Class/genFeatureReified.override.javajetinc
+					}
+				}
+			}.run();
+		}
+		new Runnable() {
+			public void run() {
+				for (GenFeature genFeature : (isImplementation ? genClass.getImplementedGenFeatures()
+						: genClass.getDeclaredGenFeatures())) {
+					stringBuffer.append(TEXT_86);
+					{
+						//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+						InternalPatternContext ictx = (InternalPatternContext) ctx;
+						new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+						stringBuffer.setLength(0);
+
+						final Map<String, Object> callParameters = new HashMap<String, Object>();
+						callParameters.put("genFeature", genFeature);
+						callParameters.put("genClass", genClass);
+						callParameters.put("genPackage", genPackage);
+						callParameters.put("genModel", genModel);
+						callParameters.put("isJDK50", isJDK50);
+						callParameters.put("isInterface", isInterface);
+						callParameters.put("isImplementation", isImplementation);
+						callParameters.put("isGWT", isGWT);
+						callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+						callParameters.put("singleWildcard", singleWildcard);
+						callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+						callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+						callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+						callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+						CallHelper.executeWithParameterInjection(
+								"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0kO8IGJ-Ed-FqczH3ESmRw",
+								new ExecutionContext((InternalPatternContext) ctx), callParameters);
+						stringBuffer.setLength(0);
+					}
+
+					//Class/genFeature.override.javajetinc
+				} //for
+			}
+		}.run();
+		for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations()
+				: genClass.getDeclaredGenOperations())) {
+			stringBuffer.append(TEXT_87);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genOperation", genOperation);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0tBrwGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/implementedGenOperation.override.javajetinc
+		} //for
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getEInverseAddGenFeatures())) {
+			stringBuffer.append(TEXT_88);
+			if (genModel.useGenerics()) {
+				for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {
+					if (genFeature.isUncheckedCast(genClass)) {
+						stringBuffer.append(TEXT_89);
+						break;
+					}
+				}
+			}
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_90);
+			}
+			stringBuffer.append(TEXT_91);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_92);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+			stringBuffer.append(TEXT_93);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_94);
+			stringBuffer.append(negativeOffsetCorrection);
+			stringBuffer.append(TEXT_95);
+			for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {
+				stringBuffer.append(TEXT_96);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(TEXT_97);
+				if (genFeature.isListType()) {
+					String cast = "(" + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")
+							+ (!genModel.useGenerics() ? ")"
+									: "<" + genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject") + ">)("
+											+ genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")
+											+ "<?>)");
+					if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {
+						stringBuffer.append(TEXT_98);
+						stringBuffer.append(cast);
+						stringBuffer.append(TEXT_99);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+						stringBuffer.append(TEXT_100);
+						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+						stringBuffer.append(TEXT_101);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_102);
+					} else {
+						stringBuffer.append(TEXT_103);
+						stringBuffer.append(cast);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_104);
+					}
+				} else if (genFeature.isContainer()) {
+					stringBuffer.append(TEXT_105);
+					if (genFeature.isBasicSet()) {
+						stringBuffer.append(TEXT_106);
+						stringBuffer.append(genFeature.getAccessorName());
+						stringBuffer.append(TEXT_107);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_108);
+					} else {
+						stringBuffer.append(TEXT_109);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_110);
+					}
+				} else {
+					if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+						stringBuffer.append(TEXT_111);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_112);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_113);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_114);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_115);
+					} else if (genFeature.isVolatile()
+							|| genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {
+						stringBuffer.append(TEXT_116);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_117);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_118);
+						if (genFeature.isResolveProxies()) {
+							stringBuffer.append(TEXT_119);
+							stringBuffer.append(genFeature.getAccessorName());
+						} else {
+							stringBuffer.append(genFeature.getGetAccessor());
+						}
+						stringBuffer.append(TEXT_120);
+					}
+					stringBuffer.append(TEXT_121);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_122);
+					if (genFeature.isEffectiveContains()) {
+						stringBuffer.append(TEXT_123);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_124);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_125);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(negativeOffsetCorrection);
+						stringBuffer.append(TEXT_126);
+					} else {
+						GenFeature reverseFeature = genFeature.getReverse();
+						GenClass targetClass = reverseFeature.getGenClass();
+						String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+								? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+						stringBuffer.append(TEXT_127);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_128);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_129);
+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+						stringBuffer.append(reverseOffsetCorrection);
+						stringBuffer.append(TEXT_130);
+						stringBuffer.append(targetClass.getRawImportedInterfaceName());
+						stringBuffer.append(TEXT_131);
+					}
+					stringBuffer.append(TEXT_132);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_133);
+					stringBuffer.append(genFeature.getImportedType(genClass));
+					stringBuffer.append(TEXT_134);
+				}
+			}
+			stringBuffer.append(TEXT_135);
+			if (genModel.isMinimalReflectiveMethods()) {
+				stringBuffer.append(TEXT_136);
+			} else {
+				stringBuffer.append(TEXT_137);
+			}
+			stringBuffer.append(TEXT_138);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {
+			stringBuffer.append(TEXT_139);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_140);
+			}
+			stringBuffer.append(TEXT_141);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_142);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+			stringBuffer.append(TEXT_143);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_144);
+			stringBuffer.append(negativeOffsetCorrection);
+			stringBuffer.append(TEXT_145);
+			for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {
+				stringBuffer.append(TEXT_146);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(TEXT_147);
+				if (genFeature.isListType()) {
+					if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {
+						stringBuffer.append(TEXT_148);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+						stringBuffer.append(singleWildcard);
+						stringBuffer.append(TEXT_149);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+						stringBuffer.append(TEXT_150);
+						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+						stringBuffer.append(TEXT_151);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_152);
+					} else if (genFeature.isWrappedFeatureMapType()) {
+						stringBuffer.append(TEXT_153);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+						stringBuffer.append(singleWildcard);
+						stringBuffer.append(TEXT_154);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+						stringBuffer.append(TEXT_155);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_156);
+					} else {
+						stringBuffer.append(TEXT_157);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+						stringBuffer.append(singleWildcard);
+						stringBuffer.append(TEXT_158);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_159);
+					}
+				} else if (genFeature.isContainer() && !genFeature.isBasicSet()) {
+					stringBuffer.append(TEXT_160);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_161);
+				} else if (genFeature.isUnsettable()) {
+					stringBuffer.append(TEXT_162);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_163);
+				} else {
+					stringBuffer.append(TEXT_164);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_165);
+				}
+			}
+			stringBuffer.append(TEXT_166);
+			if (genModel.isMinimalReflectiveMethods()) {
+				stringBuffer.append(TEXT_167);
+			} else {
+				stringBuffer.append(TEXT_168);
+			}
+			stringBuffer.append(TEXT_169);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {
+			stringBuffer.append(TEXT_170);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_171);
+			}
+			stringBuffer.append(TEXT_172);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_173);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_174);
+			stringBuffer.append(negativeOffsetCorrection);
+			stringBuffer.append(TEXT_175);
+			for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {
+				GenFeature reverseFeature = genFeature.getReverse();
+				GenClass targetClass = reverseFeature.getGenClass();
+				String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+						? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+				stringBuffer.append(TEXT_176);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(TEXT_177);
+				stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+				stringBuffer.append(reverseOffsetCorrection);
+				stringBuffer.append(TEXT_178);
+				stringBuffer.append(targetClass.getRawImportedInterfaceName());
+				stringBuffer.append(TEXT_179);
+			}
+			stringBuffer.append(TEXT_180);
+			if (genModel.isMinimalReflectiveMethods()) {
+				stringBuffer.append(TEXT_181);
+			} else {
+				stringBuffer.append(TEXT_182);
+			}
+			stringBuffer.append(TEXT_183);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getEGetGenFeatures())) {
+			stringBuffer.append(TEXT_184);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_185);
+			}
+			stringBuffer.append(TEXT_186);
+			stringBuffer.append(negativeOffsetCorrection);
+			stringBuffer.append(TEXT_187);
+			for (GenFeature genFeature : genClass.getEGetGenFeatures()) {
+				stringBuffer.append(TEXT_188);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(TEXT_189);
+				if (genFeature.isPrimitiveType()) {
+					if (isJDK50) {
+						stringBuffer.append(TEXT_190);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_191);
+					} else if (genFeature.isBooleanType()) {
+						stringBuffer.append(TEXT_192);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_193);
+					} else {
+						stringBuffer.append(TEXT_194);
+						stringBuffer.append(genFeature.getObjectType(genClass));
+						stringBuffer.append(TEXT_195);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_196);
+					}
+				} else if (genFeature.isResolveProxies() && !genFeature.isListType()) {
+					stringBuffer.append(TEXT_197);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_198);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_199);
+				} else if (genFeature.isMapType()) {
+					if (genFeature.isEffectiveSuppressEMFTypes()) {
+						stringBuffer.append(TEXT_200);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+						stringBuffer.append(TEXT_201);
+						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+						stringBuffer.append(TEXT_202);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_203);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_204);
+					} else {
+						stringBuffer.append(TEXT_205);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_206);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_207);
+					}
+				} else if (genFeature.isWrappedFeatureMapType()) {
+					stringBuffer.append(TEXT_208);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_209);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_210);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_211);
+				} else if (genFeature.isFeatureMapType()) {
+					stringBuffer.append(TEXT_212);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_213);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_214);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_215);
+				} else {
+					stringBuffer.append(TEXT_216);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_217);
+				}
+			}
+			stringBuffer.append(TEXT_218);
+			if (genModel.isMinimalReflectiveMethods()) {
+				stringBuffer.append(TEXT_219);
+			} else {
+				stringBuffer.append(TEXT_220);
+			}
+			stringBuffer.append(TEXT_221);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getESetGenFeatures())) {
+			stringBuffer.append(TEXT_222);
+			if (genModel.useGenerics()) {
+				for (GenFeature genFeature : genClass.getESetGenFeatures()) {
+					if (genFeature.isUncheckedCast(genClass) && !genFeature.isFeatureMapType()
+							&& !genFeature.isMapType()) {
+						stringBuffer.append(TEXT_223);
+						break;
+					}
+				}
+			}
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_224);
+			}
+			stringBuffer.append(TEXT_225);
+			stringBuffer.append(negativeOffsetCorrection);
+			stringBuffer.append(TEXT_226);
+			for (GenFeature genFeature : genClass.getESetGenFeatures()) {
+				stringBuffer.append(TEXT_227);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(TEXT_228);
+				if (genFeature.isListType()) {
+					if (genFeature.isWrappedFeatureMapType()) {
+						stringBuffer.append(TEXT_229);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+						stringBuffer.append(TEXT_230);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+						stringBuffer.append(TEXT_231);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_232);
+					} else if (genFeature.isFeatureMapType()) {
+						stringBuffer.append(TEXT_233);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+						stringBuffer.append(TEXT_234);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_235);
+					} else if (genFeature.isMapType()) {
+						if (genFeature.isEffectiveSuppressEMFTypes()) {
+							stringBuffer.append(TEXT_236);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+							stringBuffer.append(TEXT_237);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+							stringBuffer.append(TEXT_238);
+							stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+							stringBuffer.append(TEXT_239);
+							stringBuffer.append(genFeature.getGetAccessor());
+							stringBuffer.append(TEXT_240);
+						} else {
+							stringBuffer.append(TEXT_241);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+							stringBuffer.append(TEXT_242);
+							stringBuffer.append(genFeature.getGetAccessor());
+							stringBuffer.append(TEXT_243);
+						}
+					} else {
+						stringBuffer.append(TEXT_244);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_245);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_246);
+						stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+						if (isJDK50) {
+							stringBuffer.append(TEXT_247);
+							stringBuffer.append(genFeature.getListItemType(genClass));
+							stringBuffer.append(TEXT_248);
+						}
+						stringBuffer.append(TEXT_249);
+					}
+				} else if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_250);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_251);
+					stringBuffer.append(genFeature.getObjectType(genClass));
+					stringBuffer.append(TEXT_252);
+					stringBuffer.append(genFeature.getPrimitiveValueFunction());
+					stringBuffer.append(TEXT_253);
+				} else {
+					stringBuffer.append(TEXT_254);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_255);
+					if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()
+							|| !genFeature.getRawType().equals(genFeature.getType(genClass))) {
+						stringBuffer.append(TEXT_256);
+						stringBuffer.append(genFeature.getObjectType(genClass));
+						stringBuffer.append(TEXT_257);
+					}
+					stringBuffer.append(TEXT_258);
+				}
+				stringBuffer.append(TEXT_259);
+			}
+			stringBuffer.append(TEXT_260);
+			if (genModel.isMinimalReflectiveMethods()) {
+				stringBuffer.append(TEXT_261);
+			} else {
+				stringBuffer.append(TEXT_262);
+			}
+			stringBuffer.append(TEXT_263);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getEUnsetGenFeatures())) {
+			stringBuffer.append(TEXT_264);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.eUnset.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0uN-kGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/eUnset.override.javajetinc
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getEIsSetGenFeatures())) {
+			stringBuffer.append(TEXT_265);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.eIsSet.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0uXvkGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/eIsSet.override.javajetinc
+		}
+		if (isImplementation && (!genClass.getMixinGenFeatures().isEmpty()
+				|| genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty())) {
+			if (!genClass.getMixinGenFeatures().isEmpty()) {
+				stringBuffer.append(TEXT_266);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_267);
+				}
+				stringBuffer.append(TEXT_268);
+				stringBuffer.append(singleWildcard);
+				stringBuffer.append(TEXT_269);
+				for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+					stringBuffer.append(TEXT_270);
+					stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+					stringBuffer.append(TEXT_271);
+					stringBuffer.append(negativeOffsetCorrection);
+					stringBuffer.append(TEXT_272);
+					for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {
+						stringBuffer.append(TEXT_273);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(TEXT_274);
+						stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(TEXT_275);
+					}
+					stringBuffer.append(TEXT_276);
+				}
+				stringBuffer.append(TEXT_277);
+			}
+			stringBuffer.append(TEXT_278);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_279);
+			}
+			stringBuffer.append(TEXT_280);
+			stringBuffer.append(singleWildcard);
+			stringBuffer.append(TEXT_281);
+			for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+				stringBuffer.append(TEXT_282);
+				stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+				stringBuffer.append(TEXT_283);
+				for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {
+					stringBuffer.append(TEXT_284);
+					stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(TEXT_285);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_286);
+				}
+				stringBuffer.append(TEXT_287);
+			}
+			if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {
+				stringBuffer.append(TEXT_288);
+				stringBuffer.append(genClass.getRawImportedInterfaceName());
+				stringBuffer.append(TEXT_289);
+				stringBuffer.append(negativeOffsetCorrection);
+				stringBuffer.append(TEXT_290);
+				for (GenFeature genFeature : genClass.getGenFeatures()) {
+					stringBuffer.append(TEXT_291);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(TEXT_292);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_293);
+				}
+				stringBuffer.append(TEXT_294);
+			}
+			stringBuffer.append(TEXT_295);
+		}
+		if (genModel.isOperationReflection() && isImplementation
+				&& (!genClass.getMixinGenOperations().isEmpty()
+						|| !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(),
+								genClass.getImplementedGenOperations()).isEmpty()
+				|| genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty())) {
+			stringBuffer.append(TEXT_296);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_297);
+			}
+			stringBuffer.append(TEXT_298);
+			stringBuffer.append(singleWildcard);
+			stringBuffer.append(TEXT_299);
+			for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) {
+				List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations();
+				List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();
+				if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations)
+						.isEmpty()) {
+					stringBuffer.append(TEXT_300);
+					stringBuffer.append(extendedGenClass.getRawImportedInterfaceName());
+					stringBuffer.append(TEXT_301);
+					for (GenOperation genOperation : extendedImplementedGenOperations) {
+						GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
+						if (implementedGenOperations.contains(overrideGenOperation)) {
+							stringBuffer.append(TEXT_302);
+							stringBuffer.append(extendedGenClass.getQualifiedOperationID(genOperation));
+							stringBuffer.append(TEXT_303);
+							stringBuffer.append(genClass.getQualifiedOperationID(overrideGenOperation));
+							stringBuffer.append(positiveOperationOffsetCorrection);
+							stringBuffer.append(TEXT_304);
+						}
+					}
+					stringBuffer.append(TEXT_305);
+				}
+			}
+			for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+				stringBuffer.append(TEXT_306);
+				stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+				stringBuffer.append(TEXT_307);
+				for (GenOperation genOperation : mixinGenClass.getGenOperations()) {
+					GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
+					stringBuffer.append(TEXT_308);
+					stringBuffer.append(mixinGenClass.getQualifiedOperationID(genOperation));
+					stringBuffer.append(TEXT_309);
+					stringBuffer.append(genClass.getQualifiedOperationID(
+							overrideGenOperation != null ? overrideGenOperation : genOperation));
+					stringBuffer.append(positiveOperationOffsetCorrection);
+					stringBuffer.append(TEXT_310);
+				}
+				stringBuffer.append(TEXT_311);
+			}
+			if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {
+				stringBuffer.append(TEXT_312);
+				stringBuffer.append(genClass.getRawImportedInterfaceName());
+				stringBuffer.append(TEXT_313);
+				stringBuffer.append(negativeOperationOffsetCorrection);
+				stringBuffer.append(TEXT_314);
+				for (GenOperation genOperation : genClass.getGenOperations()) {
+					stringBuffer.append(TEXT_315);
+					stringBuffer.append(genClass.getQualifiedOperationID(genOperation));
+					stringBuffer.append(TEXT_316);
+					stringBuffer.append(genClass.getQualifiedOperationID(genOperation));
+					stringBuffer.append(positiveOperationOffsetCorrection);
+					stringBuffer.append(TEXT_317);
+				}
+				stringBuffer.append(TEXT_318);
+			}
+			stringBuffer.append(TEXT_319);
+		}
+		if (isImplementation && genModel.isVirtualDelegation()) {
+			String eVirtualValuesField = genClass.getEVirtualValuesField();
+			if (eVirtualValuesField != null) {
+				stringBuffer.append(TEXT_320);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_321);
+				}
+				stringBuffer.append(TEXT_322);
+				stringBuffer.append(eVirtualValuesField);
+				stringBuffer.append(TEXT_323);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_324);
+				}
+				stringBuffer.append(TEXT_325);
+				stringBuffer.append(eVirtualValuesField);
+				stringBuffer.append(TEXT_326);
+			}
+			{
+				List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());
+				if (!eVirtualIndexBitFields.isEmpty()) {
+					List<String> allEVirtualIndexBitFields = genClass
+							.getAllEVirtualIndexBitFields(new ArrayList<String>());
+					stringBuffer.append(TEXT_327);
+					if (genModel.useClassOverrideAnnotation()) {
+						stringBuffer.append(TEXT_328);
+					}
+					stringBuffer.append(TEXT_329);
+					for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {
+						stringBuffer.append(TEXT_330);
+						stringBuffer.append(i);
+						stringBuffer.append(TEXT_331);
+						stringBuffer.append(allEVirtualIndexBitFields.get(i));
+						stringBuffer.append(TEXT_332);
+					}
+					stringBuffer.append(TEXT_333);
+					if (genModel.useClassOverrideAnnotation()) {
+						stringBuffer.append(TEXT_334);
+					}
+					stringBuffer.append(TEXT_335);
+					for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {
+						stringBuffer.append(TEXT_336);
+						stringBuffer.append(i);
+						stringBuffer.append(TEXT_337);
+						stringBuffer.append(allEVirtualIndexBitFields.get(i));
+						stringBuffer.append(TEXT_338);
+					}
+					stringBuffer.append(TEXT_339);
+				}
+			}
+		}
+		if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {
+			stringBuffer.append(TEXT_340);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_341);
+			}
+			if (genModel.useGenerics()) {
+				boolean isUnchecked = false;
+				boolean isRaw = false;
+				LOOP: for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods()
+						? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) {
+					for (GenParameter genParameter : genOperation.getGenParameters()) {
+						if (genParameter.isUncheckedCast()) {
+							if (genParameter.getTypeGenDataType() == null
+									|| !genParameter.getTypeGenDataType().isObjectType()) {
+								isUnchecked = true;
+							}
+							if (genParameter.usesOperationTypeParameters() && !genParameter.getEcoreParameter()
+									.getEGenericType().getETypeArguments().isEmpty()) {
+								isRaw = true;
+								break LOOP;
+							}
+						}
+					}
+				}
+				if (isUnchecked) {
+					stringBuffer.append(TEXT_342);
+					if (!isRaw) {
+						stringBuffer.append(TEXT_343);
+					} else {
+						stringBuffer.append(TEXT_344);
+					}
+					stringBuffer.append(TEXT_345);
+				}
+			}
+			stringBuffer.append(TEXT_346);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EList"));
+			stringBuffer.append(singleWildcard);
+			stringBuffer.append(TEXT_347);
+			stringBuffer.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"
+					: "java.lang.reflect.InvocationTargetException"));
+			stringBuffer.append(TEXT_348);
+			stringBuffer.append(negativeOperationOffsetCorrection);
+			stringBuffer.append(TEXT_349);
+			for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods()
+					? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) {
+				List<GenParameter> genParameters = genOperation.getGenParameters();
+				int size = genParameters.size();
+				boolean hasCheckedException = genOperation.hasCheckedException();
+				String indent = hasCheckedException ? "\t" : "";
+				GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
+				stringBuffer.append(TEXT_350);
+				stringBuffer.append(genClass
+						.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation));
+				stringBuffer.append(TEXT_351);
+				if (hasCheckedException) {
+					stringBuffer.append(TEXT_352);
+					/*}*/}
+				if (genOperation.isVoid()) {
+					stringBuffer.append(TEXT_353);
+					stringBuffer.append(indent);
+					stringBuffer.append(genOperation.getName());
+					stringBuffer.append(TEXT_354);
+					for (int i = 0; i < size; i++) {
+						GenParameter genParameter = genParameters.get(i);
+						if (!isJDK50 && genParameter.isPrimitiveType()) {
+							stringBuffer.append(TEXT_355);
+						}
+						if (genParameter.getTypeGenDataType() == null
+								|| !genParameter.getTypeGenDataType().isObjectType()
+								|| !genParameter.usesOperationTypeParameters()
+										&& !genParameter.getRawType().equals(genParameter.getType(genClass))) {
+							stringBuffer.append(TEXT_356);
+							stringBuffer.append(genParameter.usesOperationTypeParameters()
+									? genParameter.getRawImportedType() : genParameter.getObjectType(genClass));
+							stringBuffer.append(TEXT_357);
+						}
+						stringBuffer.append(TEXT_358);
+						stringBuffer.append(i);
+						stringBuffer.append(TEXT_359);
+						if (!isJDK50 && genParameter.isPrimitiveType()) {
+							stringBuffer.append(TEXT_360);
+							stringBuffer.append(genParameter.getPrimitiveValueFunction());
+							stringBuffer.append(TEXT_361);
+						}
+						if (i < (size - 1)) {
+							stringBuffer.append(TEXT_362);
+						}
+					}
+					stringBuffer.append(TEXT_363);
+					stringBuffer.append(indent);
+					stringBuffer.append(TEXT_364);
+				} else {
+					stringBuffer.append(TEXT_365);
+					stringBuffer.append(indent);
+					stringBuffer.append(TEXT_366);
+					if (!isJDK50 && genOperation.isPrimitiveType()) {
+						stringBuffer.append(TEXT_367);
+						stringBuffer.append(genOperation.getObjectType(genClass));
+						stringBuffer.append(TEXT_368);
+					}
+					stringBuffer.append(genOperation.getName());
+					stringBuffer.append(TEXT_369);
+					for (int i = 0; i < size; i++) {
+						GenParameter genParameter = genParameters.get(i);
+						if (!isJDK50 && genParameter.isPrimitiveType()) {
+							stringBuffer.append(TEXT_370);
+						}
+						if (genParameter.getTypeGenDataType() == null
+								|| !genParameter.getTypeGenDataType().isObjectType()
+								|| !genParameter.usesOperationTypeParameters()
+										&& !genParameter.getRawType().equals(genParameter.getType(genClass))) {
+							stringBuffer.append(TEXT_371);
+							stringBuffer.append(genParameter.usesOperationTypeParameters()
+									? genParameter.getRawImportedType() : genParameter.getObjectType(genClass));
+							stringBuffer.append(TEXT_372);
+						}
+						stringBuffer.append(TEXT_373);
+						stringBuffer.append(i);
+						stringBuffer.append(TEXT_374);
+						if (!isJDK50 && genParameter.isPrimitiveType()) {
+							stringBuffer.append(TEXT_375);
+							stringBuffer.append(genParameter.getPrimitiveValueFunction());
+							stringBuffer.append(TEXT_376);
+						}
+						if (i < (size - 1)) {
+							stringBuffer.append(TEXT_377);
+						}
+					}
+					stringBuffer.append(TEXT_378);
+					if (!isJDK50 && genOperation.isPrimitiveType()) {
+						stringBuffer.append(TEXT_379);
+					}
+					stringBuffer.append(TEXT_380);
+				}
+				if (hasCheckedException) {/*{*/
+					stringBuffer.append(TEXT_381);
+					stringBuffer.append(genModel.getImportedName("java.lang.Throwable"));
+					stringBuffer.append(TEXT_382);
+					stringBuffer.append(
+							genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"
+									: "java.lang.reflect.InvocationTargetException"));
+					stringBuffer.append(TEXT_383);
+				}
+			}
+			stringBuffer.append(TEXT_384);
+			if (genModel.isMinimalReflectiveMethods()) {
+				stringBuffer.append(TEXT_385);
+			} else {
+				stringBuffer.append(TEXT_386);
+			}
+			stringBuffer.append(TEXT_387);
+		}
+		if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation()
+				&& !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {
+			stringBuffer.append(TEXT_388);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_389);
+			}
+			stringBuffer.append(TEXT_390);
+			{
+				boolean first = true;
+				for (GenFeature genFeature : genClass.getToStringGenFeatures()) {
+					if (first) {
+						first = false;
+						stringBuffer.append(TEXT_391);
+						stringBuffer.append(genFeature.getName());
+						stringBuffer.append(TEXT_392);
+						stringBuffer.append(genModel.getNonNLS());
+					} else {
+						stringBuffer.append(TEXT_393);
+						stringBuffer.append(genFeature.getName());
+						stringBuffer.append(TEXT_394);
+						stringBuffer.append(genModel.getNonNLS());
+					}
+					if (genFeature.isUnsettable() && !genFeature.isListType()) {
+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+							stringBuffer.append(TEXT_395);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_396);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_397);
+							stringBuffer.append(genModel.getNonNLS());
+						} else {
+							if (genClass.isFlag(genFeature)) {
+								if (genFeature.isBooleanType()) {
+									stringBuffer.append(TEXT_398);
+									if (genClass.isESetFlag(genFeature)) {
+										stringBuffer.append(TEXT_399);
+										stringBuffer.append(genClass.getESetFlagsField(genFeature));
+										stringBuffer.append(TEXT_400);
+										stringBuffer.append(genFeature.getUpperName());
+										stringBuffer.append(TEXT_401);
+									} else {
+										stringBuffer.append(genFeature.getUncapName());
+										stringBuffer.append(TEXT_402);
+									}
+									stringBuffer.append(TEXT_403);
+									stringBuffer.append(genClass.getFlagsField(genFeature));
+									stringBuffer.append(TEXT_404);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_405);
+									stringBuffer.append(genModel.getNonNLS());
+								} else {
+									stringBuffer.append(TEXT_406);
+									if (genClass.isESetFlag(genFeature)) {
+										stringBuffer.append(TEXT_407);
+										stringBuffer.append(genClass.getESetFlagsField(genFeature));
+										stringBuffer.append(TEXT_408);
+										stringBuffer.append(genFeature.getUpperName());
+										stringBuffer.append(TEXT_409);
+									} else {
+										stringBuffer.append(genFeature.getUncapName());
+										stringBuffer.append(TEXT_410);
+									}
+									stringBuffer.append(TEXT_411);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_412);
+									stringBuffer.append(genClass.getFlagsField(genFeature));
+									stringBuffer.append(TEXT_413);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_414);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_415);
+									stringBuffer.append(genModel.getNonNLS());
+								}
+							} else {
+								stringBuffer.append(TEXT_416);
+								if (genClass.isESetFlag(genFeature)) {
+									stringBuffer.append(TEXT_417);
+									stringBuffer.append(genClass.getESetFlagsField(genFeature));
+									stringBuffer.append(TEXT_418);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_419);
+								} else {
+									stringBuffer.append(genFeature.getUncapName());
+									stringBuffer.append(TEXT_420);
+								}
+								stringBuffer.append(TEXT_421);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_422);
+								stringBuffer.append(genModel.getNonNLS());
+							}
+						}
+					} else {
+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+							stringBuffer.append(TEXT_423);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							if (!genFeature.isListType() && !genFeature.isReferenceType()) {
+								stringBuffer.append(TEXT_424);
+								stringBuffer.append(genFeature.getEDefault());
+							}
+							stringBuffer.append(TEXT_425);
+						} else {
+							if (genClass.isFlag(genFeature)) {
+								if (genFeature.isBooleanType()) {
+									stringBuffer.append(TEXT_426);
+									stringBuffer.append(genClass.getFlagsField(genFeature));
+									stringBuffer.append(TEXT_427);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_428);
+								} else {
+									stringBuffer.append(TEXT_429);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_430);
+									stringBuffer.append(genClass.getFlagsField(genFeature));
+									stringBuffer.append(TEXT_431);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_432);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_433);
+								}
+							} else {
+								stringBuffer.append(TEXT_434);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_435);
+							}
+						}
+					}
+				}
+			}
+			stringBuffer.append(TEXT_436);
+		}
+		if (isImplementation && genClass.isMapEntry()) {
+			GenFeature keyFeature = genClass.getMapEntryKeyFeature();
+			GenFeature valueFeature = genClass.getMapEntryValueFeature();
+			String objectType = genModel.getImportedName("java.lang.Object");
+			String keyType = isJDK50 ? keyFeature.getObjectType(genClass) : objectType;
+			String valueType = isJDK50 ? valueFeature.getObjectType(genClass) : objectType;
+			String eMapType = genModel.getImportedName("org.eclipse.emf.common.util.EMap")
+					+ (isJDK50 ? "<" + keyType + ", " + valueType + ">" : "");
+			stringBuffer.append(TEXT_437);
+			if (isGWT) {
+				stringBuffer.append(TEXT_438);
+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+			}
+			stringBuffer.append(TEXT_439);
+			stringBuffer.append(objectType);
+			stringBuffer.append(TEXT_440);
+			stringBuffer.append(keyType);
+			stringBuffer.append(TEXT_441);
+			if (!isJDK50 && keyFeature.isPrimitiveType()) {
+				stringBuffer.append(TEXT_442);
+				stringBuffer.append(keyFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_443);
+			} else {
+				stringBuffer.append(TEXT_444);
+			}
+			stringBuffer.append(TEXT_445);
+			stringBuffer.append(keyType);
+			stringBuffer.append(TEXT_446);
+			if (keyFeature.isListType()) {
+				stringBuffer.append(TEXT_447);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_448);
+					stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+					stringBuffer.append(TEXT_449);
+				}
+				stringBuffer.append(TEXT_450);
+			} else if (isJDK50) {
+				stringBuffer.append(TEXT_451);
+			} else if (keyFeature.isPrimitiveType()) {
+				stringBuffer.append(TEXT_452);
+				stringBuffer.append(keyFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_453);
+				stringBuffer.append(keyFeature.getPrimitiveValueFunction());
+				stringBuffer.append(TEXT_454);
+			} else {
+				stringBuffer.append(TEXT_455);
+				stringBuffer.append(keyFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_456);
+			}
+			stringBuffer.append(TEXT_457);
+			stringBuffer.append(valueType);
+			stringBuffer.append(TEXT_458);
+			if (!isJDK50 && valueFeature.isPrimitiveType()) {
+				stringBuffer.append(TEXT_459);
+				stringBuffer.append(valueFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_460);
+			} else {
+				stringBuffer.append(TEXT_461);
+			}
+			stringBuffer.append(TEXT_462);
+			stringBuffer.append(valueType);
+			stringBuffer.append(TEXT_463);
+			stringBuffer.append(valueType);
+			stringBuffer.append(TEXT_464);
+			stringBuffer.append(valueType);
+			stringBuffer.append(TEXT_465);
+			if (valueFeature.isListType()) {
+				stringBuffer.append(TEXT_466);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_467);
+					stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+					stringBuffer.append(TEXT_468);
+				}
+				stringBuffer.append(TEXT_469);
+			} else if (isJDK50) {
+				stringBuffer.append(TEXT_470);
+			} else if (valueFeature.isPrimitiveType()) {
+				stringBuffer.append(TEXT_471);
+				stringBuffer.append(valueFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_472);
+				stringBuffer.append(valueFeature.getPrimitiveValueFunction());
+				stringBuffer.append(TEXT_473);
+			} else {
+				stringBuffer.append(TEXT_474);
+				stringBuffer.append(valueFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_475);
+			}
+			stringBuffer.append(TEXT_476);
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_477);
+			}
+			stringBuffer.append(TEXT_478);
+			stringBuffer.append(eMapType);
+			stringBuffer.append(TEXT_479);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+			stringBuffer.append(TEXT_480);
+			stringBuffer.append(eMapType);
+			stringBuffer.append(TEXT_481);
+		}
+		stringBuffer.append(TEXT_482);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0ug5gGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_483);
+		stringBuffer.append(isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName());
+		// TODO fix the space above
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_484);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenClass genClass = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (!genClass.isInterface());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/EnumClass.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/EnumClass.java
index 166afbb..e47e7ad 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/EnumClass.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/EnumClass.java
@@ -1,610 +1,609 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class EnumClass extends org.eclipse.egf.emf.pattern.base.GenEnumJava {

-	protected static String nl;

-

-	public static synchronized EnumClass create(String lineSeparator) {

-		nl = lineSeparator;

-		EnumClass result = new EnumClass();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * A representation of the literals of the enumeration '<em><b>";

-	protected final String TEXT_5 = "</b></em>'," + NL + " * and utility methods for working with them." + NL

-			+ " * <!-- end-user-doc -->";

-	protected final String TEXT_6 = NL + " * <!-- begin-model-doc -->" + NL + " * ";

-	protected final String TEXT_7 = NL + " * <!-- end-model-doc -->";

-	protected final String TEXT_8 = NL + " * @see ";

-	protected final String TEXT_9 = "#get";

-	protected final String TEXT_10 = "()";

-	protected final String TEXT_11 = NL + " * @model ";

-	protected final String TEXT_12 = NL + " *        ";

-	protected final String TEXT_13 = NL + " * @model";

-	protected final String TEXT_14 = NL + " * @generated" + NL + " */" + NL + "public ";

-	protected final String TEXT_15 = "enum";

-	protected final String TEXT_16 = "final class";

-	protected final String TEXT_17 = " ";

-	protected final String TEXT_18 = " ";

-	protected final String TEXT_19 = "implements";

-	protected final String TEXT_20 = "extends";

-	protected final String TEXT_21 = " ";

-	protected final String TEXT_22 = NL + "{";

-	protected final String TEXT_23 = NL + "\t;" + NL;

-	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * The '<em><b>";

-	protected final String TEXT_25 = "</b></em>' literal object." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

-	protected final String TEXT_26 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_27 = "(";

-	protected final String TEXT_28 = ", \"";

-	protected final String TEXT_29 = "\", ";

-	protected final String TEXT_30 = ")";

-	protected final String TEXT_31 = ",";

-	protected final String TEXT_32 = ";";

-	protected final String TEXT_33 = NL;

-	protected final String TEXT_34 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_35 = " copyright = ";

-	protected final String TEXT_36 = ";";

-	protected final String TEXT_37 = NL;

-	protected final String TEXT_38 = NL + "\t/**" + NL + "\t * The '<em><b>";

-	protected final String TEXT_39 = "</b></em>' literal value." + NL + "\t * <!-- begin-user-doc -->";

-	protected final String TEXT_40 = NL + "\t * <p>" + NL + "\t * If the meaning of '<em><b>";

-	protected final String TEXT_41 = "</b></em>' literal object isn't clear," + NL

-			+ "\t * there really should be more of a description here..." + NL + "\t * </p>";

-	protected final String TEXT_42 = NL + "\t * <!-- end-user-doc -->";

-	protected final String TEXT_43 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";

-	protected final String TEXT_44 = NL + "\t * <!-- end-model-doc -->";

-	protected final String TEXT_45 = NL + "\t * @see #";

-	protected final String TEXT_46 = NL + "\t * @model ";

-	protected final String TEXT_47 = NL + "\t *        ";

-	protected final String TEXT_48 = NL + "\t * @model";

-	protected final String TEXT_49 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL

-			+ "\tpublic static final int ";

-	protected final String TEXT_50 = " = ";

-	protected final String TEXT_51 = ";" + NL;

-	protected final String TEXT_52 = NL + "\t/**" + NL + "\t * The '<em><b>";

-	protected final String TEXT_53 = "</b></em>' literal object." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

-	protected final String TEXT_54 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL

-			+ "\tpublic static final ";

-	protected final String TEXT_55 = " ";

-	protected final String TEXT_56 = " = new ";

-	protected final String TEXT_57 = "(";

-	protected final String TEXT_58 = ", \"";

-	protected final String TEXT_59 = "\", ";

-	protected final String TEXT_60 = ");";

-	protected final String TEXT_61 = NL;

-	protected final String TEXT_62 = NL + "\t/**" + NL + "\t * An array of all the '<em><b>";

-	protected final String TEXT_63 = "</b></em>' enumerators." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final ";

-	protected final String TEXT_64 = "[] VALUES_ARRAY =" + NL + "\t\tnew ";

-	protected final String TEXT_65 = "[]" + NL + "\t\t{";

-	protected final String TEXT_66 = NL + "\t\t\t";

-	protected final String TEXT_67 = ",";

-	protected final String TEXT_68 = NL + "\t\t};" + NL + "" + NL + "\t/**" + NL

-			+ "\t * A public read-only list of all the '<em><b>";

-	protected final String TEXT_69 = "</b></em>' enumerators." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final List";

-	protected final String TEXT_70 = "<";

-	protected final String TEXT_71 = ">";

-	protected final String TEXT_72 = " VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));" + NL + ""

-			+ NL + "\t/**" + NL + "\t * Returns the '<em><b>";

-	protected final String TEXT_73 = "</b></em>' literal with the specified literal value." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @param literal the literal." + NL + "\t * @return the matching enumerator or <code>null</code>."

-			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";

-	protected final String TEXT_74 = " get(";

-	protected final String TEXT_75 = " literal)" + NL + "\t{" + NL

-			+ "\t\tfor (int i = 0; i < VALUES_ARRAY.length; ++i)" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_76 = " result = VALUES_ARRAY[i];" + NL + "\t\t\tif (result.toString().equals(literal))"

-			+ NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn null;"

-			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the '<em><b>";

-	protected final String TEXT_77 = "</b></em>' literal with the specified name." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param name the name."

-			+ NL + "\t * @return the matching enumerator or <code>null</code>." + NL + "\t * @generated" + NL + "\t */"

-			+ NL + "\tpublic static ";

-	protected final String TEXT_78 = " getByName(";

-	protected final String TEXT_79 = " name)" + NL + "\t{" + NL + "\t\tfor (int i = 0; i < VALUES_ARRAY.length; ++i)"

-			+ NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_80 = " result = VALUES_ARRAY[i];" + NL + "\t\t\tif (result.getName().equals(name))"

-			+ NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn null;"

-			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the '<em><b>";

-	protected final String TEXT_81 = "</b></em>' literal with the specified integer value." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @param value the integer value." + NL

-			+ "\t * @return the matching enumerator or <code>null</code>." + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static ";

-	protected final String TEXT_82 = " get(int value)" + NL + "\t{" + NL + "\t\tswitch (value)" + NL + "\t\t{";

-	protected final String TEXT_83 = NL + "\t\t\tcase ";

-	protected final String TEXT_84 = ": return ";

-	protected final String TEXT_85 = ";";

-	protected final String TEXT_86 = NL + "\t\t}" + NL + "\t\treturn null;" + NL + "\t}" + NL;

-	protected final String TEXT_87 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate final int value;"

-			+ NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\tprivate final ";

-	protected final String TEXT_88 = " name;" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate final ";

-	protected final String TEXT_89 = " literal;" + NL;

-	protected final String TEXT_90 = NL + "\t/**" + NL + "\t * Only this class can construct instances." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprivate ";

-	protected final String TEXT_91 = "(int value, ";

-	protected final String TEXT_92 = " name, ";

-	protected final String TEXT_93 = " literal)" + NL + "\t{";

-	protected final String TEXT_94 = NL + "\t\tthis.value = value;" + NL + "\t\tthis.name = name;" + NL

-			+ "\t\tthis.literal = literal;";

-	protected final String TEXT_95 = NL + "\t\tsuper(value, name, literal);";

-	protected final String TEXT_96 = NL + "\t}" + NL;

-	protected final String TEXT_97 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic int getValue()"

-			+ NL + "\t{" + NL + "\t  return value;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_98 = " getName()" + NL + "\t{" + NL + "\t  return name;" + NL + "\t}" + NL + "" + NL

-			+ "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_99 = " getLiteral()" + NL + "\t{" + NL + "\t  return literal;" + NL + "\t}" + NL + ""

-			+ NL + "\t/**" + NL

-			+ "\t * Returns the literal value of the enumerator, which is its string representation." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_100 = NL + "\t@Override";

-	protected final String TEXT_101 = NL + "\tpublic ";

-	protected final String TEXT_102 = " toString()" + NL + "\t{" + NL + "\t\treturn literal;" + NL + "\t}" + NL + "\t";

-	protected final String TEXT_103 = NL + "} //";

-	protected final String TEXT_104 = NL;

-	protected final String TEXT_105 = NL + "/**" + NL

-			+ " * A private implementation interface used to hide the inheritance from Enumerator." + NL

-			+ " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL

-			+ "interface Internal";

-	protected final String TEXT_106 = " extends org.eclipse.emf.common.util.Enumerator" + NL + "{" + NL + "\t// Empty "

-			+ NL + "}";

-	protected final String TEXT_107 = NL + "/**" + NL + " * A private implementation class to construct the instances."

-			+ NL + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */"

-			+ NL + "class Internal";

-	protected final String TEXT_108 = " extends org.eclipse.emf.common.util.AbstractEnumerator" + NL + "{" + NL

-			+ "\t/**" + NL + "\t * Only this class can construct instances." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected Internal";

-	protected final String TEXT_109 = "(int value, ";

-	protected final String TEXT_110 = " name, ";

-	protected final String TEXT_111 = " literal)" + NL + "\t{" + NL + "\t\tsuper(value, name, literal);" + NL + "\t}"

-			+ NL + "}";

-	protected final String TEXT_112 = NL;

-	protected final String TEXT_113 = NL;

-	protected final String TEXT_114 = NL;

-

-	public EnumClass() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenEnum) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_113);

-		stringBuffer.append(TEXT_114);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenEnum genEnum = parameter;

-		targetPath = genEnum.getGenModel().getModelDirectory();

-		packageName = genEnum.getGenPackage().getInterfacePackageName();

-		className = genEnum.getName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenEnum genEnum = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2007 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenEnum genEnum = (GenEnum) argument;

-		GenPackage genPackage = genEnum.getGenPackage();

-		GenModel genModel = genPackage.getGenModel();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getInterfacePackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.addImport("java.util.Arrays");

-		genModel.addImport("java.util.List");

-		genModel.addImport("java.util.Collections");

-		genModel.markImportLocation(stringBuffer, genPackage);

-		boolean isEnum = genModel.useGenerics();

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genEnum.getFormattedName());

-		stringBuffer.append(TEXT_5);

-		if (genEnum.hasDocumentation()) {

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genEnum.getDocumentation(genModel.getIndentation(stringBuffer)));

-			stringBuffer.append(TEXT_7);

-		}

-		stringBuffer.append(TEXT_8);

-		stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-		stringBuffer.append(TEXT_9);

-		stringBuffer.append(genEnum.getName());

-		stringBuffer.append(TEXT_10);

-		if (!genModel.isSuppressEMFModelTags()) {

-			boolean first = true;

-			for (StringTokenizer stringTokenizer = new StringTokenizer(genEnum.getModelInfo(), "\n\r"); stringTokenizer

-					.hasMoreTokens();) {

-				String modelInfo = stringTokenizer.nextToken();

-				if (first) {

-					first = false;

-					stringBuffer.append(TEXT_11);

-					stringBuffer.append(modelInfo);

-				} else {

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(modelInfo);

-				}

-			}

-			if (first) {

-				stringBuffer.append(TEXT_13);

-			}

-		}

-		stringBuffer.append(TEXT_14);

-		if (isEnum) {

-			stringBuffer.append(TEXT_15);

-		} else {

-			stringBuffer.append(TEXT_16);

-		}

-		stringBuffer.append(TEXT_17);

-		stringBuffer.append(genEnum.getName());

-		stringBuffer.append(TEXT_18);

-		if (isEnum) {

-			stringBuffer.append(TEXT_19);

-		} else {

-			stringBuffer.append(TEXT_20);

-		}

-		stringBuffer.append(TEXT_21);

-		stringBuffer.append(genModel.isSuppressEMFMetaData() && !genModel.isSuppressInterfaces() ? "Internal"

-				+ genEnum.getName() : genModel.getImportedName(isEnum ? "org.eclipse.emf.common.util.Enumerator"

-				: "org.eclipse.emf.common.util.AbstractEnumerator"));

-		stringBuffer.append(TEXT_22);

-		if (isEnum) {

-			if (genEnum.getGenEnumLiterals().isEmpty()) {

-				stringBuffer.append(TEXT_23);

-			} else {

-				for (Iterator<GenEnumLiteral> l = genEnum.getGenEnumLiterals().iterator(); l.hasNext();) {

-					GenEnumLiteral genEnumLiteral = l.next();

-					stringBuffer.append(TEXT_24);

-					stringBuffer.append(genEnumLiteral.getFormattedName());

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());

-					stringBuffer.append(TEXT_26);

-					stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

-					stringBuffer.append(TEXT_27);

-					stringBuffer.append(genEnumLiteral.getValue());

-					stringBuffer.append(TEXT_28);

-					stringBuffer.append(genEnumLiteral.getName());

-					stringBuffer.append(TEXT_29);

-					stringBuffer.append(Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel));

-					stringBuffer.append(TEXT_30);

-					if (l.hasNext()) {

-						stringBuffer.append(TEXT_31);

-					} else {

-						stringBuffer.append(TEXT_32);

-					}

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(genModel.getNonNLS(2));

-					stringBuffer.append(TEXT_33);

-				}

-			}

-		}

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_34);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_35);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_36);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_37);

-		}

-		for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

-			stringBuffer.append(TEXT_38);

-			stringBuffer.append(genEnumLiteral.getFormattedName());

-			stringBuffer.append(TEXT_39);

-			if (!genEnumLiteral.hasDocumentation()) {

-				stringBuffer.append(TEXT_40);

-				stringBuffer.append(genEnumLiteral.getFormattedName());

-				stringBuffer.append(TEXT_41);

-			}

-			stringBuffer.append(TEXT_42);

-			if (genEnumLiteral.hasDocumentation()) {

-				stringBuffer.append(TEXT_43);

-				stringBuffer.append(genEnumLiteral.getDocumentation(genModel.getIndentation(stringBuffer)));

-				stringBuffer.append(TEXT_44);

-			}

-			stringBuffer.append(TEXT_45);

-			stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

-			if (!genModel.isSuppressEMFModelTags()) {

-				boolean first = true;

-				for (StringTokenizer stringTokenizer = new StringTokenizer(genEnumLiteral.getModelInfo(), "\n\r"); stringTokenizer

-						.hasMoreTokens();) {

-					String modelInfo = stringTokenizer.nextToken();

-					if (first) {

-						first = false;

-						stringBuffer.append(TEXT_46);

-						stringBuffer.append(modelInfo);

-					} else {

-						stringBuffer.append(TEXT_47);

-						stringBuffer.append(modelInfo);

-					}

-				}

-				if (first) {

-					stringBuffer.append(TEXT_48);

-				}

-			}

-			stringBuffer.append(TEXT_49);

-			stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());

-			stringBuffer.append(TEXT_50);

-			stringBuffer.append(genEnumLiteral.getValue());

-			stringBuffer.append(TEXT_51);

-		}

-		if (!isEnum)

-			for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

-				stringBuffer.append(TEXT_52);

-				stringBuffer.append(genEnumLiteral.getFormattedName());

-				stringBuffer.append(TEXT_53);

-				stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());

-				stringBuffer.append(TEXT_54);

-				stringBuffer.append(genEnum.getName());

-				stringBuffer.append(TEXT_55);

-				stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

-				stringBuffer.append(TEXT_56);

-				stringBuffer.append(genEnum.getName());

-				stringBuffer.append(TEXT_57);

-				stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());

-				stringBuffer.append(TEXT_58);

-				stringBuffer.append(genEnumLiteral.getName());

-				stringBuffer.append(TEXT_59);

-				stringBuffer.append(Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel));

-				stringBuffer.append(TEXT_60);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(genModel.getNonNLS(2));

-				stringBuffer.append(TEXT_61);

-			}

-		stringBuffer.append(TEXT_62);

-		stringBuffer.append(genEnum.getFormattedName());

-		stringBuffer.append(TEXT_63);

-		stringBuffer.append(genEnum.getName());

-		stringBuffer.append(TEXT_64);

-		stringBuffer.append(genEnum.getName());

-		stringBuffer.append(TEXT_65);

-		for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

-			stringBuffer.append(TEXT_66);

-			stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

-			stringBuffer.append(TEXT_67);

-		}

-		stringBuffer.append(TEXT_68);

-		stringBuffer.append(genEnum.getFormattedName());

-		stringBuffer.append(TEXT_69);

-		if (isEnum) {

-			stringBuffer.append(TEXT_70);

-			stringBuffer.append(genEnum.getName());

-			stringBuffer.append(TEXT_71);

-		}

-		stringBuffer.append(TEXT_72);

-		stringBuffer.append(genEnum.getFormattedName());

-		stringBuffer.append(TEXT_73);

-		stringBuffer.append(genEnum.getName());

-		stringBuffer.append(TEXT_74);

-		stringBuffer.append(genModel.getImportedName("java.lang.String"));

-		stringBuffer.append(TEXT_75);

-		stringBuffer.append(genEnum.getName());

-		stringBuffer.append(TEXT_76);

-		stringBuffer.append(genEnum.getFormattedName());

-		stringBuffer.append(TEXT_77);

-		stringBuffer.append(genEnum.getName());

-		stringBuffer.append(TEXT_78);

-		stringBuffer.append(genModel.getImportedName("java.lang.String"));

-		stringBuffer.append(TEXT_79);

-		stringBuffer.append(genEnum.getName());

-		stringBuffer.append(TEXT_80);

-		stringBuffer.append(genEnum.getFormattedName());

-		stringBuffer.append(TEXT_81);

-		stringBuffer.append(genEnum.getName());

-		stringBuffer.append(TEXT_82);

-		for (GenEnumLiteral genEnumLiteral : genEnum.getUniqueValuedGenEnumLiterals()) {

-			stringBuffer.append(TEXT_83);

-			stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());

-			stringBuffer.append(TEXT_84);

-			stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

-			stringBuffer.append(TEXT_85);

-		}

-		stringBuffer.append(TEXT_86);

-		if (isEnum) {

-			stringBuffer.append(TEXT_87);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_88);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_89);

-		}

-		stringBuffer.append(TEXT_90);

-		stringBuffer.append(genEnum.getName());

-		stringBuffer.append(TEXT_91);

-		stringBuffer.append(genModel.getImportedName("java.lang.String"));

-		stringBuffer.append(TEXT_92);

-		stringBuffer.append(genModel.getImportedName("java.lang.String"));

-		stringBuffer.append(TEXT_93);

-		if (isEnum) {

-			stringBuffer.append(TEXT_94);

-		} else {

-			stringBuffer.append(TEXT_95);

-		}

-		stringBuffer.append(TEXT_96);

-		if (isEnum) {

-			stringBuffer.append(TEXT_97);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_98);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_99);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_100);

-			}

-			stringBuffer.append(TEXT_101);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_102);

-		}

-		stringBuffer.append(TEXT_103);

-		stringBuffer.append(genEnum.getName());

-		if (genModel.isSuppressEMFMetaData() && !genModel.isSuppressInterfaces()) {

-			stringBuffer.append(TEXT_104);

-			if (isEnum) {

-				stringBuffer.append(TEXT_105);

-				stringBuffer.append(genEnum.getName());

-				stringBuffer.append(TEXT_106);

-			} else {

-				stringBuffer.append(TEXT_107);

-				stringBuffer.append(genEnum.getName());

-				stringBuffer.append(TEXT_108);

-				stringBuffer.append(genEnum.getName());

-				stringBuffer.append(TEXT_109);

-				stringBuffer.append(genModel.getImportedName("java.lang.String"));

-				stringBuffer.append(TEXT_110);

-				stringBuffer.append(genModel.getImportedName("java.lang.String"));

-				stringBuffer.append(TEXT_111);

-			}

-		}

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_112);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenEnum genEnum = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate && true;

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class EnumClass extends org.eclipse.egf.emf.pattern.base.GenEnumJava {
+	protected static String nl;
+
+	public static synchronized EnumClass create(String lineSeparator) {
+		nl = lineSeparator;
+		EnumClass result = new EnumClass();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * A representation of the literals of the enumeration '<em><b>";
+	protected final String TEXT_5 = "</b></em>'," + NL + " * and utility methods for working with them." + NL
+			+ " * <!-- end-user-doc -->";
+	protected final String TEXT_6 = NL + " * <!-- begin-model-doc -->" + NL + " * ";
+	protected final String TEXT_7 = NL + " * <!-- end-model-doc -->";
+	protected final String TEXT_8 = NL + " * @see ";
+	protected final String TEXT_9 = "#get";
+	protected final String TEXT_10 = "()";
+	protected final String TEXT_11 = NL + " * @model ";
+	protected final String TEXT_12 = NL + " *        ";
+	protected final String TEXT_13 = NL + " * @model";
+	protected final String TEXT_14 = NL + " * @generated" + NL + " */" + NL + "public ";
+	protected final String TEXT_15 = "enum";
+	protected final String TEXT_16 = "final class";
+	protected final String TEXT_17 = " ";
+	protected final String TEXT_18 = " ";
+	protected final String TEXT_19 = "implements";
+	protected final String TEXT_20 = "extends";
+	protected final String TEXT_21 = " ";
+	protected final String TEXT_22 = NL + "{";
+	protected final String TEXT_23 = NL + "\t;" + NL;
+	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * The '<em><b>";
+	protected final String TEXT_25 = "</b></em>' literal object." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+	protected final String TEXT_26 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_27 = "(";
+	protected final String TEXT_28 = ", \"";
+	protected final String TEXT_29 = "\", ";
+	protected final String TEXT_30 = ")";
+	protected final String TEXT_31 = ",";
+	protected final String TEXT_32 = ";";
+	protected final String TEXT_33 = NL;
+	protected final String TEXT_34 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_35 = " copyright = ";
+	protected final String TEXT_36 = ";";
+	protected final String TEXT_37 = NL;
+	protected final String TEXT_38 = NL + "\t/**" + NL + "\t * The '<em><b>";
+	protected final String TEXT_39 = "</b></em>' literal value." + NL + "\t * <!-- begin-user-doc -->";
+	protected final String TEXT_40 = NL + "\t * <p>" + NL + "\t * If the meaning of '<em><b>";
+	protected final String TEXT_41 = "</b></em>' literal object isn't clear," + NL
+			+ "\t * there really should be more of a description here..." + NL + "\t * </p>";
+	protected final String TEXT_42 = NL + "\t * <!-- end-user-doc -->";
+	protected final String TEXT_43 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";
+	protected final String TEXT_44 = NL + "\t * <!-- end-model-doc -->";
+	protected final String TEXT_45 = NL + "\t * @see #";
+	protected final String TEXT_46 = NL + "\t * @model ";
+	protected final String TEXT_47 = NL + "\t *        ";
+	protected final String TEXT_48 = NL + "\t * @model";
+	protected final String TEXT_49 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL
+			+ "\tpublic static final int ";
+	protected final String TEXT_50 = " = ";
+	protected final String TEXT_51 = ";" + NL;
+	protected final String TEXT_52 = NL + "\t/**" + NL + "\t * The '<em><b>";
+	protected final String TEXT_53 = "</b></em>' literal object." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+	protected final String TEXT_54 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL
+			+ "\tpublic static final ";
+	protected final String TEXT_55 = " ";
+	protected final String TEXT_56 = " = new ";
+	protected final String TEXT_57 = "(";
+	protected final String TEXT_58 = ", \"";
+	protected final String TEXT_59 = "\", ";
+	protected final String TEXT_60 = ");";
+	protected final String TEXT_61 = NL;
+	protected final String TEXT_62 = NL + "\t/**" + NL + "\t * An array of all the '<em><b>";
+	protected final String TEXT_63 = "</b></em>' enumerators." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final ";
+	protected final String TEXT_64 = "[] VALUES_ARRAY =" + NL + "\t\tnew ";
+	protected final String TEXT_65 = "[]" + NL + "\t\t{";
+	protected final String TEXT_66 = NL + "\t\t\t";
+	protected final String TEXT_67 = ",";
+	protected final String TEXT_68 = NL + "\t\t};" + NL + "" + NL + "\t/**" + NL
+			+ "\t * A public read-only list of all the '<em><b>";
+	protected final String TEXT_69 = "</b></em>' enumerators." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final List";
+	protected final String TEXT_70 = "<";
+	protected final String TEXT_71 = ">";
+	protected final String TEXT_72 = " VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));" + NL + ""
+			+ NL + "\t/**" + NL + "\t * Returns the '<em><b>";
+	protected final String TEXT_73 = "</b></em>' literal with the specified literal value." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @param literal the literal." + NL + "\t * @return the matching enumerator or <code>null</code>."
+			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
+	protected final String TEXT_74 = " get(";
+	protected final String TEXT_75 = " literal)" + NL + "\t{" + NL + "\t\tfor (int i = 0; i < VALUES_ARRAY.length; ++i)"
+			+ NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_76 = " result = VALUES_ARRAY[i];" + NL + "\t\t\tif (result.toString().equals(literal))"
+			+ NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn null;"
+			+ NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the '<em><b>";
+	protected final String TEXT_77 = "</b></em>' literal with the specified name." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param name the name." + NL
+			+ "\t * @return the matching enumerator or <code>null</code>." + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static ";
+	protected final String TEXT_78 = " getByName(";
+	protected final String TEXT_79 = " name)" + NL + "\t{" + NL + "\t\tfor (int i = 0; i < VALUES_ARRAY.length; ++i)"
+			+ NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_80 = " result = VALUES_ARRAY[i];" + NL + "\t\t\tif (result.getName().equals(name))" + NL
+			+ "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn null;" + NL
+			+ "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the '<em><b>";
+	protected final String TEXT_81 = "</b></em>' literal with the specified integer value." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @param value the integer value." + NL + "\t * @return the matching enumerator or <code>null</code>."
+			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
+	protected final String TEXT_82 = " get(int value)" + NL + "\t{" + NL + "\t\tswitch (value)" + NL + "\t\t{";
+	protected final String TEXT_83 = NL + "\t\t\tcase ";
+	protected final String TEXT_84 = ": return ";
+	protected final String TEXT_85 = ";";
+	protected final String TEXT_86 = NL + "\t\t}" + NL + "\t\treturn null;" + NL + "\t}" + NL;
+	protected final String TEXT_87 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate final int value;"
+			+ NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t */" + NL + "\tprivate final ";
+	protected final String TEXT_88 = " name;" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate final ";
+	protected final String TEXT_89 = " literal;" + NL;
+	protected final String TEXT_90 = NL + "\t/**" + NL + "\t * Only this class can construct instances." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprivate ";
+	protected final String TEXT_91 = "(int value, ";
+	protected final String TEXT_92 = " name, ";
+	protected final String TEXT_93 = " literal)" + NL + "\t{";
+	protected final String TEXT_94 = NL + "\t\tthis.value = value;" + NL + "\t\tthis.name = name;" + NL
+			+ "\t\tthis.literal = literal;";
+	protected final String TEXT_95 = NL + "\t\tsuper(value, name, literal);";
+	protected final String TEXT_96 = NL + "\t}" + NL;
+	protected final String TEXT_97 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic int getValue()" + NL
+			+ "\t{" + NL + "\t  return value;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic ";
+	protected final String TEXT_98 = " getName()" + NL + "\t{" + NL + "\t  return name;" + NL + "\t}" + NL + "" + NL
+			+ "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated"
+			+ NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_99 = " getLiteral()" + NL + "\t{" + NL + "\t  return literal;" + NL + "\t}" + NL + ""
+			+ NL + "\t/**" + NL
+			+ "\t * Returns the literal value of the enumerator, which is its string representation." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_100 = NL + "\t@Override";
+	protected final String TEXT_101 = NL + "\tpublic ";
+	protected final String TEXT_102 = " toString()" + NL + "\t{" + NL + "\t\treturn literal;" + NL + "\t}" + NL + "\t";
+	protected final String TEXT_103 = NL + "} //";
+	protected final String TEXT_104 = NL;
+	protected final String TEXT_105 = NL + "/**" + NL
+			+ " * A private implementation interface used to hide the inheritance from Enumerator." + NL
+			+ " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL
+			+ "interface Internal";
+	protected final String TEXT_106 = " extends org.eclipse.emf.common.util.Enumerator" + NL + "{" + NL + "\t// Empty "
+			+ NL + "}";
+	protected final String TEXT_107 = NL + "/**" + NL + " * A private implementation class to construct the instances."
+			+ NL + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */"
+			+ NL + "class Internal";
+	protected final String TEXT_108 = " extends org.eclipse.emf.common.util.AbstractEnumerator" + NL + "{" + NL
+			+ "\t/**" + NL + "\t * Only this class can construct instances." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected Internal";
+	protected final String TEXT_109 = "(int value, ";
+	protected final String TEXT_110 = " name, ";
+	protected final String TEXT_111 = " literal)" + NL + "\t{" + NL + "\t\tsuper(value, name, literal);" + NL + "\t}"
+			+ NL + "}";
+	protected final String TEXT_112 = NL;
+	protected final String TEXT_113 = NL;
+	protected final String TEXT_114 = NL;
+
+	public EnumClass() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenEnum) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_113);
+		stringBuffer.append(TEXT_114);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenEnum genEnum = parameter;
+		targetPath = genEnum.getGenModel().getModelDirectory();
+		packageName = genEnum.getGenPackage().getInterfacePackageName();
+		className = genEnum.getName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenEnum genEnum = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2007 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenEnum genEnum = (GenEnum) argument;
+		GenPackage genPackage = genEnum.getGenPackage();
+		GenModel genModel = genPackage.getGenModel();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getInterfacePackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.addImport("java.util.Arrays");
+		genModel.addImport("java.util.List");
+		genModel.addImport("java.util.Collections");
+		genModel.markImportLocation(stringBuffer, genPackage);
+		boolean isEnum = genModel.useGenerics();
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genEnum.getFormattedName());
+		stringBuffer.append(TEXT_5);
+		if (genEnum.hasDocumentation()) {
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genEnum.getDocumentation(genModel.getIndentation(stringBuffer)));
+			stringBuffer.append(TEXT_7);
+		}
+		stringBuffer.append(TEXT_8);
+		stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+		stringBuffer.append(TEXT_9);
+		stringBuffer.append(genEnum.getName());
+		stringBuffer.append(TEXT_10);
+		if (!genModel.isSuppressEMFModelTags()) {
+			boolean first = true;
+			for (StringTokenizer stringTokenizer = new StringTokenizer(genEnum.getModelInfo(), "\n\r"); stringTokenizer
+					.hasMoreTokens();) {
+				String modelInfo = stringTokenizer.nextToken();
+				if (first) {
+					first = false;
+					stringBuffer.append(TEXT_11);
+					stringBuffer.append(modelInfo);
+				} else {
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(modelInfo);
+				}
+			}
+			if (first) {
+				stringBuffer.append(TEXT_13);
+			}
+		}
+		stringBuffer.append(TEXT_14);
+		if (isEnum) {
+			stringBuffer.append(TEXT_15);
+		} else {
+			stringBuffer.append(TEXT_16);
+		}
+		stringBuffer.append(TEXT_17);
+		stringBuffer.append(genEnum.getName());
+		stringBuffer.append(TEXT_18);
+		if (isEnum) {
+			stringBuffer.append(TEXT_19);
+		} else {
+			stringBuffer.append(TEXT_20);
+		}
+		stringBuffer.append(TEXT_21);
+		stringBuffer.append(
+				genModel.isSuppressEMFMetaData() && !genModel.isSuppressInterfaces() ? "Internal" + genEnum.getName()
+						: genModel.getImportedName(isEnum ? "org.eclipse.emf.common.util.Enumerator"
+								: "org.eclipse.emf.common.util.AbstractEnumerator"));
+		stringBuffer.append(TEXT_22);
+		if (isEnum) {
+			if (genEnum.getGenEnumLiterals().isEmpty()) {
+				stringBuffer.append(TEXT_23);
+			} else {
+				for (Iterator<GenEnumLiteral> l = genEnum.getGenEnumLiterals().iterator(); l.hasNext();) {
+					GenEnumLiteral genEnumLiteral = l.next();
+					stringBuffer.append(TEXT_24);
+					stringBuffer.append(genEnumLiteral.getFormattedName());
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
+					stringBuffer.append(TEXT_26);
+					stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+					stringBuffer.append(TEXT_27);
+					stringBuffer.append(genEnumLiteral.getValue());
+					stringBuffer.append(TEXT_28);
+					stringBuffer.append(genEnumLiteral.getName());
+					stringBuffer.append(TEXT_29);
+					stringBuffer.append(Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel));
+					stringBuffer.append(TEXT_30);
+					if (l.hasNext()) {
+						stringBuffer.append(TEXT_31);
+					} else {
+						stringBuffer.append(TEXT_32);
+					}
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(genModel.getNonNLS(2));
+					stringBuffer.append(TEXT_33);
+				}
+			}
+		}
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_34);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_35);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_36);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_37);
+		}
+		for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+			stringBuffer.append(TEXT_38);
+			stringBuffer.append(genEnumLiteral.getFormattedName());
+			stringBuffer.append(TEXT_39);
+			if (!genEnumLiteral.hasDocumentation()) {
+				stringBuffer.append(TEXT_40);
+				stringBuffer.append(genEnumLiteral.getFormattedName());
+				stringBuffer.append(TEXT_41);
+			}
+			stringBuffer.append(TEXT_42);
+			if (genEnumLiteral.hasDocumentation()) {
+				stringBuffer.append(TEXT_43);
+				stringBuffer.append(genEnumLiteral.getDocumentation(genModel.getIndentation(stringBuffer)));
+				stringBuffer.append(TEXT_44);
+			}
+			stringBuffer.append(TEXT_45);
+			stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+			if (!genModel.isSuppressEMFModelTags()) {
+				boolean first = true;
+				for (StringTokenizer stringTokenizer = new StringTokenizer(genEnumLiteral.getModelInfo(),
+						"\n\r"); stringTokenizer.hasMoreTokens();) {
+					String modelInfo = stringTokenizer.nextToken();
+					if (first) {
+						first = false;
+						stringBuffer.append(TEXT_46);
+						stringBuffer.append(modelInfo);
+					} else {
+						stringBuffer.append(TEXT_47);
+						stringBuffer.append(modelInfo);
+					}
+				}
+				if (first) {
+					stringBuffer.append(TEXT_48);
+				}
+			}
+			stringBuffer.append(TEXT_49);
+			stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
+			stringBuffer.append(TEXT_50);
+			stringBuffer.append(genEnumLiteral.getValue());
+			stringBuffer.append(TEXT_51);
+		}
+		if (!isEnum)
+			for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+				stringBuffer.append(TEXT_52);
+				stringBuffer.append(genEnumLiteral.getFormattedName());
+				stringBuffer.append(TEXT_53);
+				stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
+				stringBuffer.append(TEXT_54);
+				stringBuffer.append(genEnum.getName());
+				stringBuffer.append(TEXT_55);
+				stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+				stringBuffer.append(TEXT_56);
+				stringBuffer.append(genEnum.getName());
+				stringBuffer.append(TEXT_57);
+				stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
+				stringBuffer.append(TEXT_58);
+				stringBuffer.append(genEnumLiteral.getName());
+				stringBuffer.append(TEXT_59);
+				stringBuffer.append(Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel));
+				stringBuffer.append(TEXT_60);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(genModel.getNonNLS(2));
+				stringBuffer.append(TEXT_61);
+			}
+		stringBuffer.append(TEXT_62);
+		stringBuffer.append(genEnum.getFormattedName());
+		stringBuffer.append(TEXT_63);
+		stringBuffer.append(genEnum.getName());
+		stringBuffer.append(TEXT_64);
+		stringBuffer.append(genEnum.getName());
+		stringBuffer.append(TEXT_65);
+		for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+			stringBuffer.append(TEXT_66);
+			stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+			stringBuffer.append(TEXT_67);
+		}
+		stringBuffer.append(TEXT_68);
+		stringBuffer.append(genEnum.getFormattedName());
+		stringBuffer.append(TEXT_69);
+		if (isEnum) {
+			stringBuffer.append(TEXT_70);
+			stringBuffer.append(genEnum.getName());
+			stringBuffer.append(TEXT_71);
+		}
+		stringBuffer.append(TEXT_72);
+		stringBuffer.append(genEnum.getFormattedName());
+		stringBuffer.append(TEXT_73);
+		stringBuffer.append(genEnum.getName());
+		stringBuffer.append(TEXT_74);
+		stringBuffer.append(genModel.getImportedName("java.lang.String"));
+		stringBuffer.append(TEXT_75);
+		stringBuffer.append(genEnum.getName());
+		stringBuffer.append(TEXT_76);
+		stringBuffer.append(genEnum.getFormattedName());
+		stringBuffer.append(TEXT_77);
+		stringBuffer.append(genEnum.getName());
+		stringBuffer.append(TEXT_78);
+		stringBuffer.append(genModel.getImportedName("java.lang.String"));
+		stringBuffer.append(TEXT_79);
+		stringBuffer.append(genEnum.getName());
+		stringBuffer.append(TEXT_80);
+		stringBuffer.append(genEnum.getFormattedName());
+		stringBuffer.append(TEXT_81);
+		stringBuffer.append(genEnum.getName());
+		stringBuffer.append(TEXT_82);
+		for (GenEnumLiteral genEnumLiteral : genEnum.getUniqueValuedGenEnumLiterals()) {
+			stringBuffer.append(TEXT_83);
+			stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
+			stringBuffer.append(TEXT_84);
+			stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+			stringBuffer.append(TEXT_85);
+		}
+		stringBuffer.append(TEXT_86);
+		if (isEnum) {
+			stringBuffer.append(TEXT_87);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_88);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_89);
+		}
+		stringBuffer.append(TEXT_90);
+		stringBuffer.append(genEnum.getName());
+		stringBuffer.append(TEXT_91);
+		stringBuffer.append(genModel.getImportedName("java.lang.String"));
+		stringBuffer.append(TEXT_92);
+		stringBuffer.append(genModel.getImportedName("java.lang.String"));
+		stringBuffer.append(TEXT_93);
+		if (isEnum) {
+			stringBuffer.append(TEXT_94);
+		} else {
+			stringBuffer.append(TEXT_95);
+		}
+		stringBuffer.append(TEXT_96);
+		if (isEnum) {
+			stringBuffer.append(TEXT_97);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_98);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_99);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_100);
+			}
+			stringBuffer.append(TEXT_101);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_102);
+		}
+		stringBuffer.append(TEXT_103);
+		stringBuffer.append(genEnum.getName());
+		if (genModel.isSuppressEMFMetaData() && !genModel.isSuppressInterfaces()) {
+			stringBuffer.append(TEXT_104);
+			if (isEnum) {
+				stringBuffer.append(TEXT_105);
+				stringBuffer.append(genEnum.getName());
+				stringBuffer.append(TEXT_106);
+			} else {
+				stringBuffer.append(TEXT_107);
+				stringBuffer.append(genEnum.getName());
+				stringBuffer.append(TEXT_108);
+				stringBuffer.append(genEnum.getName());
+				stringBuffer.append(TEXT_109);
+				stringBuffer.append(genModel.getImportedName("java.lang.String"));
+				stringBuffer.append(TEXT_110);
+				stringBuffer.append(genModel.getImportedName("java.lang.String"));
+				stringBuffer.append(TEXT_111);
+			}
+		}
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_112);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenEnum genEnum = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && true;
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryClass.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryClass.java
index 61008e4..4d7aa04 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryClass.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryClass.java
@@ -1,1873 +1,1859 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class FactoryClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized FactoryClass create(String lineSeparator) {

-		nl = lineSeparator;

-		FactoryClass result = new FactoryClass();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";";

-	protected final String TEXT_4 = NL + "package ";

-	protected final String TEXT_5 = ";";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL;

-	protected final String TEXT_8 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * The <b>Factory</b> for the model." + NL

-			+ " * It provides a create method for each non-abstract class of the model." + NL

-			+ " * <!-- end-user-doc -->";

-	protected final String TEXT_9 = NL + " * @see ";

-	protected final String TEXT_10 = NL + " * @generated" + NL + " */";

-	protected final String TEXT_11 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * An implementation of the model <b>Factory</b>." + NL + " * <!-- end-user-doc -->" + NL

-			+ " * @generated" + NL + " */";

-	protected final String TEXT_12 = NL + "public class ";

-	protected final String TEXT_13 = " extends ";

-	protected final String TEXT_14 = " implements ";

-	protected final String TEXT_15 = NL + "public interface ";

-	protected final String TEXT_16 = " extends ";

-	protected final String TEXT_17 = NL + "{";

-	protected final String TEXT_18 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_19 = " copyright = ";

-	protected final String TEXT_20 = ";";

-	protected final String TEXT_21 = NL;

-	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_23 = " eINSTANCE = init();" + NL;

-	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_25 = " INSTANCE = ";

-	protected final String TEXT_26 = ".eINSTANCE;" + NL;

-	protected final String TEXT_27 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_28 = " eINSTANCE = ";

-	protected final String TEXT_29 = ".init();" + NL;

-	protected final String TEXT_30 = NL + "\t/**" + NL + "\t * Creates the default factory implementation." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_31 = NL + "\tpublic static ";

-	protected final String TEXT_32 = " init()" + NL + "\t{" + NL + "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_33 = " the";

-	protected final String TEXT_34 = " = (";

-	protected final String TEXT_35 = ")";

-	protected final String TEXT_36 = ".Registry.INSTANCE.getEFactory(";

-	protected final String TEXT_37 = ".eNS_URI);" + NL + "\t\t\tif (the";

-	protected final String TEXT_38 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn the";

-	protected final String TEXT_39 = ";" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL

-			+ "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_40 = ".INSTANCE.log(exception);" + NL + "\t\t}" + NL + "\t\treturn new ";

-	protected final String TEXT_41 = "();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Creates an instance of the factory." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_42 = "()" + NL + "\t{" + NL + "\t\tsuper();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_43 = NL + "\t@Override";

-	protected final String TEXT_44 = NL + "\tpublic EObject create(EClass eClass)" + NL + "\t{" + NL

-			+ "\t\tswitch (eClass.getClassifierID())" + NL + "\t\t{";

-	protected final String TEXT_45 = NL + "\t\t\tcase ";

-	protected final String TEXT_46 = ".";

-	protected final String TEXT_47 = ": return ";

-	protected final String TEXT_48 = "create";

-	protected final String TEXT_49 = "();";

-	protected final String TEXT_50 = NL

-			+ "\t\t\tdefault:"

-			+ NL

-			+ "\t\t\t\tthrow new IllegalArgumentException(\"The class '\" + eClass.getName() + \"' is not a valid classifier\");";

-	protected final String TEXT_51 = NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_52 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_53 = NL + "\t@Override";

-	protected final String TEXT_54 = NL + "\tpublic Object createFromString(";

-	protected final String TEXT_55 = " eDataType, String initialValue)" + NL + "\t{" + NL

-			+ "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";

-	protected final String TEXT_56 = NL + "\t\t\tcase ";

-	protected final String TEXT_57 = ".";

-	protected final String TEXT_58 = ":" + NL + "\t\t\t\treturn create";

-	protected final String TEXT_59 = "FromString(eDataType, initialValue);";

-	protected final String TEXT_60 = NL

-			+ "\t\t\tdefault:"

-			+ NL

-			+ "\t\t\t\tthrow new IllegalArgumentException(\"The datatype '\" + eDataType.getName() + \"' is not a valid classifier\");";

-	protected final String TEXT_61 = NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_62 = NL + "\t@Override";

-	protected final String TEXT_63 = NL + "\tpublic String convertToString(";

-	protected final String TEXT_64 = " eDataType, Object instanceValue)" + NL + "\t{" + NL

-			+ "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";

-	protected final String TEXT_65 = NL + "\t\t\tcase ";

-	protected final String TEXT_66 = ".";

-	protected final String TEXT_67 = ":" + NL + "\t\t\t\treturn convert";

-	protected final String TEXT_68 = "ToString(eDataType, instanceValue);";

-	protected final String TEXT_69 = NL

-			+ "\t\t\tdefault:"

-			+ NL

-			+ "\t\t\t\tthrow new IllegalArgumentException(\"The datatype '\" + eDataType.getName() + \"' is not a valid classifier\");";

-	protected final String TEXT_70 = NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_71 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_72 = " create";

-	protected final String TEXT_73 = "()" + NL + "\t{";

-	protected final String TEXT_74 = NL + "\t\t";

-	protected final String TEXT_75 = " ";

-	protected final String TEXT_76 = " = ";

-	protected final String TEXT_77 = "super.create(";

-	protected final String TEXT_78 = ");";

-	protected final String TEXT_79 = NL + "\t\t";

-	protected final String TEXT_80 = " ";

-	protected final String TEXT_81 = " = new ";

-	protected final String TEXT_82 = "()";

-	protected final String TEXT_83 = "{}";

-	protected final String TEXT_84 = ";";

-	protected final String TEXT_85 = NL + "\t\treturn ";

-	protected final String TEXT_86 = ";" + NL + "\t}" + NL;

-	protected final String TEXT_87 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_88 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_89 = NL + "\tpublic ";

-	protected final String TEXT_90 = " create";

-	protected final String TEXT_91 = "(";

-	protected final String TEXT_92 = "final ";

-	protected final String TEXT_93 = "String ";

-	protected final String TEXT_94 = "it";

-	protected final String TEXT_95 = "literal";

-	protected final String TEXT_96 = ")" + NL + "\t{";

-	protected final String TEXT_97 = NL + "\t\t";

-	protected final String TEXT_98 = NL + "\t\t";

-	protected final String TEXT_99 = " result = ";

-	protected final String TEXT_100 = ".get(literal);"

-			+ NL

-			+ "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + literal + \"' is not a valid enumerator of '\" + ";

-	protected final String TEXT_101 = ".getName() + \"'\");";

-	protected final String TEXT_102 = NL + "\t\treturn result;";

-	protected final String TEXT_103 = NL + "\t\treturn new ";

-	protected final String TEXT_104 = "(create";

-	protected final String TEXT_105 = "(literal));";

-	protected final String TEXT_106 = NL + "\t\treturn create";

-	protected final String TEXT_107 = "(literal);";

-	protected final String TEXT_108 = NL + "\t\treturn new ";

-	protected final String TEXT_109 = "(";

-	protected final String TEXT_110 = ".create";

-	protected final String TEXT_111 = "(literal));";

-	protected final String TEXT_112 = NL + "\t\treturn ";

-	protected final String TEXT_113 = ".create";

-	protected final String TEXT_114 = "(literal);";

-	protected final String TEXT_115 = NL + "\t\treturn ";

-	protected final String TEXT_116 = "(";

-	protected final String TEXT_117 = ")";

-	protected final String TEXT_118 = ".createFromString(";

-	protected final String TEXT_119 = ", literal);";

-	protected final String TEXT_120 = NL + "\t\tif (literal == null) return null;" + NL + "\t\t";

-	protected final String TEXT_121 = " result = new ";

-	protected final String TEXT_122 = "<";

-	protected final String TEXT_123 = ">";

-	protected final String TEXT_124 = "();";

-	protected final String TEXT_125 = NL + "\t\tfor (";

-	protected final String TEXT_126 = " stringTokenizer = new ";

-	protected final String TEXT_127 = "(literal); stringTokenizer.hasMoreTokens(); )";

-	protected final String TEXT_128 = NL + "\t\tfor (String item : split(literal))";

-	protected final String TEXT_129 = NL + "\t\t{";

-	protected final String TEXT_130 = NL + "\t\t\tString item = stringTokenizer.nextToken();";

-	protected final String TEXT_131 = NL + "\t\t\tresult.add(create";

-	protected final String TEXT_132 = "(item));";

-	protected final String TEXT_133 = NL + "\t\t\tresult.add(create";

-	protected final String TEXT_134 = "FromString(";

-	protected final String TEXT_135 = ", item));";

-	protected final String TEXT_136 = NL + "\t\t\tresult.add(";

-	protected final String TEXT_137 = ".create";

-	protected final String TEXT_138 = "(item));";

-	protected final String TEXT_139 = NL + "\t\t\tresult.add(";

-	protected final String TEXT_140 = ".createFromString(";

-	protected final String TEXT_141 = ", item));";

-	protected final String TEXT_142 = NL + "\t\t}" + NL + "\t\treturn result;";

-	protected final String TEXT_143 = NL + "\t\tif (literal == null) return ";

-	protected final String TEXT_144 = ";" + NL + "\t\t";

-	protected final String TEXT_145 = " result = ";

-	protected final String TEXT_146 = ";" + NL + "\t\tRuntimeException exception = null;";

-	protected final String TEXT_147 = NL + "\t\ttry" + NL + "\t\t{";

-	protected final String TEXT_148 = NL + "\t\t\tresult = create";

-	protected final String TEXT_149 = "(literal);";

-	protected final String TEXT_150 = NL + "\t\t\tresult = (";

-	protected final String TEXT_151 = ")create";

-	protected final String TEXT_152 = "FromString(";

-	protected final String TEXT_153 = ", literal);";

-	protected final String TEXT_154 = NL + "\t\t\tresult = ";

-	protected final String TEXT_155 = ".create";

-	protected final String TEXT_156 = "(literal);";

-	protected final String TEXT_157 = NL + "\t\t\tresult = (";

-	protected final String TEXT_158 = ")";

-	protected final String TEXT_159 = ".createFromString(";

-	protected final String TEXT_160 = ", literal);";

-	protected final String TEXT_161 = NL + "\t\t\tif (";

-	protected final String TEXT_162 = "result != null && ";

-	protected final String TEXT_163 = ".INSTANCE.validate(";

-	protected final String TEXT_164 = ", ";

-	protected final String TEXT_165 = "new ";

-	protected final String TEXT_166 = "(result)";

-	protected final String TEXT_167 = "result";

-	protected final String TEXT_168 = ", null, null))" + NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL

-			+ "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (RuntimeException e)" + NL + "\t\t{" + NL

-			+ "\t\t\texception = e;" + NL + "\t\t}";

-	protected final String TEXT_169 = NL + "\t\tif (";

-	protected final String TEXT_170 = "result != null || ";

-	protected final String TEXT_171 = "exception == null) return result;" + NL + "    " + NL + "\t\tthrow exception;";

-	protected final String TEXT_172 = NL + "\t\treturn (";

-	protected final String TEXT_173 = ")super.createFromString(literal);";

-	protected final String TEXT_174 = NL + "\t\t// TODO: implement this method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";

-	protected final String TEXT_175 = "();";

-	protected final String TEXT_176 = NL + "\t\treturn ((";

-	protected final String TEXT_177 = ")super.createFromString(";

-	protected final String TEXT_178 = ", literal)).";

-	protected final String TEXT_179 = "();";

-	protected final String TEXT_180 = NL + "\t\treturn ";

-	protected final String TEXT_181 = "(";

-	protected final String TEXT_182 = ")";

-	protected final String TEXT_183 = "super.createFromString(";

-	protected final String TEXT_184 = ", literal);";

-	protected final String TEXT_185 = NL + "\t}" + NL;

-	protected final String TEXT_186 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_187 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_188 = NL + "\tpublic ";

-	protected final String TEXT_189 = " create";

-	protected final String TEXT_190 = "FromString(";

-	protected final String TEXT_191 = " eDataType, String initialValue)" + NL + "\t{";

-	protected final String TEXT_192 = NL + "\t\treturn create";

-	protected final String TEXT_193 = "(initialValue);";

-	protected final String TEXT_194 = NL + "\t\t";

-	protected final String TEXT_195 = " result = ";

-	protected final String TEXT_196 = ".get(initialValue);"

-			+ NL

-			+ "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + initialValue + \"' is not a valid enumerator of '\" + eDataType.getName() + \"'\");";

-	protected final String TEXT_197 = NL + "\t\treturn result;";

-	protected final String TEXT_198 = NL + "\t\treturn ";

-	protected final String TEXT_199 = "(";

-	protected final String TEXT_200 = ")";

-	protected final String TEXT_201 = "create";

-	protected final String TEXT_202 = "FromString(";

-	protected final String TEXT_203 = ", initialValue);";

-	protected final String TEXT_204 = NL + "\t\treturn ";

-	protected final String TEXT_205 = "(";

-	protected final String TEXT_206 = ")";

-	protected final String TEXT_207 = ".createFromString(";

-	protected final String TEXT_208 = ", initialValue);";

-	protected final String TEXT_209 = NL + "\t\treturn create";

-	protected final String TEXT_210 = "(initialValue);";

-	protected final String TEXT_211 = NL + "\t\tif (initialValue == null) return null;" + NL + "\t\t";

-	protected final String TEXT_212 = " result = new ";

-	protected final String TEXT_213 = "<";

-	protected final String TEXT_214 = ">";

-	protected final String TEXT_215 = "();";

-	protected final String TEXT_216 = NL + "\t\tfor (";

-	protected final String TEXT_217 = " stringTokenizer = new ";

-	protected final String TEXT_218 = "(initialValue); stringTokenizer.hasMoreTokens(); )";

-	protected final String TEXT_219 = NL + "\t\tfor (String item : split(initialValue))";

-	protected final String TEXT_220 = NL + "\t\t{";

-	protected final String TEXT_221 = NL + "\t\t\tString item = stringTokenizer.nextToken();";

-	protected final String TEXT_222 = NL + "\t\t\tresult.add(create";

-	protected final String TEXT_223 = "FromString(";

-	protected final String TEXT_224 = ", item));";

-	protected final String TEXT_225 = NL + "\t\t\tresult.add(";

-	protected final String TEXT_226 = "(";

-	protected final String TEXT_227 = ")";

-	protected final String TEXT_228 = ".createFromString(";

-	protected final String TEXT_229 = ", item));";

-	protected final String TEXT_230 = NL + "\t\t}" + NL + "\t\treturn result;";

-	protected final String TEXT_231 = NL + "\t\treturn new ";

-	protected final String TEXT_232 = "(create";

-	protected final String TEXT_233 = "(initialValue));";

-	protected final String TEXT_234 = NL + "\t\treturn create";

-	protected final String TEXT_235 = "(initialValue);";

-	protected final String TEXT_236 = NL + "\t\tif (initialValue == null) return null;" + NL + "\t\t";

-	protected final String TEXT_237 = " result = null;" + NL + "\t\tRuntimeException exception = null;";

-	protected final String TEXT_238 = NL + "\t\ttry" + NL + "\t\t{";

-	protected final String TEXT_239 = NL + "\t\t\tresult = ";

-	protected final String TEXT_240 = "(";

-	protected final String TEXT_241 = ")";

-	protected final String TEXT_242 = "create";

-	protected final String TEXT_243 = "FromString(";

-	protected final String TEXT_244 = ", initialValue);";

-	protected final String TEXT_245 = NL + "\t\t\tresult = ";

-	protected final String TEXT_246 = "(";

-	protected final String TEXT_247 = ")";

-	protected final String TEXT_248 = ".createFromString(";

-	protected final String TEXT_249 = ", initialValue);";

-	protected final String TEXT_250 = NL + "\t\t\tif (result != null && ";

-	protected final String TEXT_251 = ".INSTANCE.validate(eDataType, result, null, null))" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (RuntimeException e)" + NL

-			+ "\t\t{" + NL + "\t\t\texception = e;" + NL + "\t\t}";

-	protected final String TEXT_252 = NL + "\t\tif (result != null || exception == null) return result;" + NL + "    "

-			+ NL + "\t\tthrow exception;";

-	protected final String TEXT_253 = NL + "\t\treturn create";

-	protected final String TEXT_254 = "(initialValue);";

-	protected final String TEXT_255 = NL + "\t\treturn ";

-	protected final String TEXT_256 = "(";

-	protected final String TEXT_257 = ")";

-	protected final String TEXT_258 = "super.createFromString(initialValue);";

-	protected final String TEXT_259 = NL + "\t\t// TODO: implement this method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";

-	protected final String TEXT_260 = "();";

-	protected final String TEXT_261 = NL + "\t\treturn ";

-	protected final String TEXT_262 = "(";

-	protected final String TEXT_263 = ")";

-	protected final String TEXT_264 = "super.createFromString(eDataType, initialValue);";

-	protected final String TEXT_265 = NL + "\t}" + NL;

-	protected final String TEXT_266 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic String convert";

-	protected final String TEXT_267 = "(";

-	protected final String TEXT_268 = "final ";

-	protected final String TEXT_269 = " ";

-	protected final String TEXT_270 = "it";

-	protected final String TEXT_271 = "instanceValue";

-	protected final String TEXT_272 = ")" + NL + "\t{";

-	protected final String TEXT_273 = NL + "\t\t";

-	protected final String TEXT_274 = NL + "\t\treturn instanceValue == null ? null : instanceValue.toString();";

-	protected final String TEXT_275 = NL + "\t\treturn instanceValue == null ? null : convert";

-	protected final String TEXT_276 = "(instanceValue";

-	protected final String TEXT_277 = ".";

-	protected final String TEXT_278 = "()";

-	protected final String TEXT_279 = ");";

-	protected final String TEXT_280 = NL + "\t\treturn convert";

-	protected final String TEXT_281 = "(instanceValue);";

-	protected final String TEXT_282 = NL + "\t\treturn ";

-	protected final String TEXT_283 = ".convert";

-	protected final String TEXT_284 = "(instanceValue);";

-	protected final String TEXT_285 = NL + "\t\treturn ";

-	protected final String TEXT_286 = ".convertToString(";

-	protected final String TEXT_287 = ", instanceValue);";

-	protected final String TEXT_288 = NL + "\t\tif (instanceValue == null) return null;" + NL

-			+ "\t\tif (instanceValue.isEmpty()) return \"\";" + NL + "\t\t";

-	protected final String TEXT_289 = " result = new ";

-	protected final String TEXT_290 = "();";

-	protected final String TEXT_291 = NL + "\t\tfor (";

-	protected final String TEXT_292 = " i = instanceValue.iterator(); i.hasNext(); )";

-	protected final String TEXT_293 = NL + "\t\tfor (";

-	protected final String TEXT_294 = " item : instanceValue)";

-	protected final String TEXT_295 = NL + "\t\t{";

-	protected final String TEXT_296 = NL + "\t\t\tresult.append(convert";

-	protected final String TEXT_297 = "((";

-	protected final String TEXT_298 = ")";

-	protected final String TEXT_299 = "));";

-	protected final String TEXT_300 = NL + "\t\t\tresult.append(convert";

-	protected final String TEXT_301 = "ToString(";

-	protected final String TEXT_302 = ", ";

-	protected final String TEXT_303 = "));";

-	protected final String TEXT_304 = NL + "\t\t\tresult.append(";

-	protected final String TEXT_305 = ".convert";

-	protected final String TEXT_306 = "((";

-	protected final String TEXT_307 = ")";

-	protected final String TEXT_308 = "));";

-	protected final String TEXT_309 = NL + "\t\t\tresult.append(";

-	protected final String TEXT_310 = ".convertToString(";

-	protected final String TEXT_311 = ", ";

-	protected final String TEXT_312 = "));";

-	protected final String TEXT_313 = NL + "\t\t\tresult.append(' ');" + NL + "\t\t}" + NL

-			+ "\t\treturn result.substring(0, result.length() - 1);";

-	protected final String TEXT_314 = NL + "\t\tif (instanceValue == null) return null;";

-	protected final String TEXT_315 = NL + "\t\tif (";

-	protected final String TEXT_316 = ".isInstance(instanceValue))" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{";

-	protected final String TEXT_317 = NL + "\t\t\t\tString value = convert";

-	protected final String TEXT_318 = "(instanceValue);";

-	protected final String TEXT_319 = NL + "\t\t\t\tString value = convert";

-	protected final String TEXT_320 = "(((";

-	protected final String TEXT_321 = ")instanceValue).";

-	protected final String TEXT_322 = "());";

-	protected final String TEXT_323 = NL + "\t\t\t\tString value = convert";

-	protected final String TEXT_324 = "((";

-	protected final String TEXT_325 = ")instanceValue);";

-	protected final String TEXT_326 = NL + "\t\t\t\tString value = convert";

-	protected final String TEXT_327 = "ToString(";

-	protected final String TEXT_328 = ", instanceValue);";

-	protected final String TEXT_329 = NL + "\t\t\t\tString value = ";

-	protected final String TEXT_330 = ".convert";

-	protected final String TEXT_331 = "((";

-	protected final String TEXT_332 = ")instanceValue);";

-	protected final String TEXT_333 = NL + "\t\t\t\tString value = ";

-	protected final String TEXT_334 = ".convertToString(";

-	protected final String TEXT_335 = ", instanceValue);";

-	protected final String TEXT_336 = NL + "\t\t\t\tif (value != null) return value;" + NL + "\t\t\t}" + NL

-			+ "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_337 = NL + "\t\ttry" + NL + "\t\t{";

-	protected final String TEXT_338 = NL + "\t\t\tString value = convert";

-	protected final String TEXT_339 = "(instanceValue);";

-	protected final String TEXT_340 = NL + "\t\t\tString value = convert";

-	protected final String TEXT_341 = "ToString(";

-	protected final String TEXT_342 = ", ";

-	protected final String TEXT_343 = "new ";

-	protected final String TEXT_344 = "(instanceValue)";

-	protected final String TEXT_345 = "instanceValue";

-	protected final String TEXT_346 = ");";

-	protected final String TEXT_347 = NL + "\t\t\tString value = ";

-	protected final String TEXT_348 = ".convert";

-	protected final String TEXT_349 = "(instanceValue);";

-	protected final String TEXT_350 = NL + "\t\t\tString value = ";

-	protected final String TEXT_351 = ".convertToString(";

-	protected final String TEXT_352 = ", ";

-	protected final String TEXT_353 = "new ";

-	protected final String TEXT_354 = "(instanceValue)";

-	protected final String TEXT_355 = "instanceValue";

-	protected final String TEXT_356 = ");";

-	protected final String TEXT_357 = NL + "\t\t\tif (value != null) return value;" + NL + "\t\t}" + NL

-			+ "\t\tcatch (Exception e)" + NL + "\t\t{" + NL

-			+ "\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t}";

-	protected final String TEXT_358 = NL

-			+ "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+";

-	protected final String TEXT_359 = ".getName());";

-	protected final String TEXT_360 = NL + "\t\treturn super.convertToString(instanceValue);";

-	protected final String TEXT_361 = NL + "\t\t// TODO: implement this method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";

-	protected final String TEXT_362 = "();";

-	protected final String TEXT_363 = NL + "\t\treturn super.convertToString(";

-	protected final String TEXT_364 = ", new ";

-	protected final String TEXT_365 = "(instanceValue));";

-	protected final String TEXT_366 = NL + "\t\treturn super.convertToString(";

-	protected final String TEXT_367 = ", instanceValue);";

-	protected final String TEXT_368 = NL + "\t}" + NL;

-	protected final String TEXT_369 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_370 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_371 = NL + "\tpublic String convert";

-	protected final String TEXT_372 = "ToString(";

-	protected final String TEXT_373 = " eDataType, Object instanceValue)" + NL + "\t{";

-	protected final String TEXT_374 = NL + "\t\treturn convert";

-	protected final String TEXT_375 = "((";

-	protected final String TEXT_376 = ")instanceValue);";

-	protected final String TEXT_377 = NL + "\t\treturn instanceValue == null ? null : instanceValue.toString();";

-	protected final String TEXT_378 = NL + "\t\treturn convert";

-	protected final String TEXT_379 = "ToString(";

-	protected final String TEXT_380 = ", instanceValue);";

-	protected final String TEXT_381 = NL + "\t\treturn ";

-	protected final String TEXT_382 = ".convertToString(";

-	protected final String TEXT_383 = ", instanceValue);";

-	protected final String TEXT_384 = NL + "\t\treturn convert";

-	protected final String TEXT_385 = "((";

-	protected final String TEXT_386 = ")instanceValue);";

-	protected final String TEXT_387 = NL + "\t\tif (instanceValue == null) return null;" + NL + "\t\t";

-	protected final String TEXT_388 = " list = (";

-	protected final String TEXT_389 = ")instanceValue;" + NL + "\t\tif (list.isEmpty()) return \"\";" + NL + "\t\t";

-	protected final String TEXT_390 = " result = new ";

-	protected final String TEXT_391 = "();";

-	protected final String TEXT_392 = NL + "\t\tfor (";

-	protected final String TEXT_393 = " i = list.iterator(); i.hasNext(); )";

-	protected final String TEXT_394 = NL + "\t\tfor (";

-	protected final String TEXT_395 = " item : list)";

-	protected final String TEXT_396 = NL + "\t\t{";

-	protected final String TEXT_397 = NL + "\t\t\tresult.append(convert";

-	protected final String TEXT_398 = "ToString(";

-	protected final String TEXT_399 = ", ";

-	protected final String TEXT_400 = "));";

-	protected final String TEXT_401 = NL + "\t\t\tresult.append(";

-	protected final String TEXT_402 = ".convertToString(";

-	protected final String TEXT_403 = ", ";

-	protected final String TEXT_404 = "));";

-	protected final String TEXT_405 = NL + "\t\t\tresult.append(' ');" + NL + "\t\t}" + NL

-			+ "\t\treturn result.substring(0, result.length() - 1);";

-	protected final String TEXT_406 = NL + "\t\treturn instanceValue == null ? null : convert";

-	protected final String TEXT_407 = "(((";

-	protected final String TEXT_408 = ")instanceValue)";

-	protected final String TEXT_409 = ".";

-	protected final String TEXT_410 = "()";

-	protected final String TEXT_411 = ");";

-	protected final String TEXT_412 = NL + "\t\treturn convert";

-	protected final String TEXT_413 = "(instanceValue);";

-	protected final String TEXT_414 = NL + "\t\tif (instanceValue == null) return null;";

-	protected final String TEXT_415 = NL + "\t\tif (";

-	protected final String TEXT_416 = ".isInstance(instanceValue))" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{";

-	protected final String TEXT_417 = NL + "\t\t\t\tString value = convert";

-	protected final String TEXT_418 = "ToString(";

-	protected final String TEXT_419 = ", instanceValue);";

-	protected final String TEXT_420 = NL + "\t\t\t\tString value = ";

-	protected final String TEXT_421 = ".convertToString(";

-	protected final String TEXT_422 = ", instanceValue);";

-	protected final String TEXT_423 = NL + "\t\t\t\tif (value != null) return value;" + NL + "\t\t\t}" + NL

-			+ "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_424 = NL

-			+ "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+eDataType.getName());";

-	protected final String TEXT_425 = NL + "\t\treturn instanceValue == null ? null : convert";

-	protected final String TEXT_426 = "(";

-	protected final String TEXT_427 = "(";

-	protected final String TEXT_428 = "(";

-	protected final String TEXT_429 = ")instanceValue";

-	protected final String TEXT_430 = ").";

-	protected final String TEXT_431 = "()";

-	protected final String TEXT_432 = ");";

-	protected final String TEXT_433 = NL + "\t\treturn convert";

-	protected final String TEXT_434 = "((";

-	protected final String TEXT_435 = ")instanceValue);";

-	protected final String TEXT_436 = NL + "\t\treturn super.convertToString(instanceValue);";

-	protected final String TEXT_437 = NL + "\t\t// TODO: implement this method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";

-	protected final String TEXT_438 = "();";

-	protected final String TEXT_439 = NL + "\t\treturn super.convertToString(eDataType, instanceValue);";

-	protected final String TEXT_440 = NL + "\t}" + NL;

-	protected final String TEXT_441 = NL + "\t/**" + NL + "\t * Returns a new object of class '<em>";

-	protected final String TEXT_442 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return a new object of class '<em>";

-	protected final String TEXT_443 = "</em>'." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_444 = " create";

-	protected final String TEXT_445 = "();" + NL;

-	protected final String TEXT_446 = NL + "\t/**" + NL + "\t * Returns an instance of data type '<em>";

-	protected final String TEXT_447 = "</em>' corresponding the given literal." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param literal a literal of the data type." + NL

-			+ "\t * @return a new instance value of the data type." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_448 = " create";

-	protected final String TEXT_449 = "(String literal);" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Returns a literal representation of an instance of data type '<em>";

-	protected final String TEXT_450 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @param instanceValue an instance value of the data type." + NL

-			+ "\t * @return a literal representation of the instance value." + NL + "\t * @generated" + NL + "\t */"

-			+ NL + "\tString convert";

-	protected final String TEXT_451 = "(";

-	protected final String TEXT_452 = " instanceValue);" + NL;

-	protected final String TEXT_453 = NL + "\t/**" + NL + "\t * Returns the package supported by this factory." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the package supported by this factory." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_454 = " get";

-	protected final String TEXT_455 = "();" + NL;

-	protected final String TEXT_456 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_457 = " get";

-	protected final String TEXT_458 = "()" + NL + "\t{" + NL + "\t\treturn (";

-	protected final String TEXT_459 = ")getEPackage();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @deprecated" + NL

-			+ "\t * @generated" + NL + "\t */";

-	protected final String TEXT_460 = NL + "\t@Deprecated";

-	protected final String TEXT_461 = NL + "\tpublic static ";

-	protected final String TEXT_462 = " getPackage()" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_463 = ".eINSTANCE;" + NL + "\t}" + NL;

-	protected final String TEXT_464 = NL + "} //";

-	protected final String TEXT_465 = NL;

-	protected final String TEXT_466 = NL;

-	protected final String TEXT_467 = NL;

-

-	public FactoryClass() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_466);

-		stringBuffer.append(TEXT_467);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getModelDirectory();

-		packageName = genPackage.getReflectionClassPackageName();

-		className = genPackage.getFactoryClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = ((Object[]) new Object[] { new Object[] { genPackage,

-				genPackage.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE, Boolean.TRUE } })[0];

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2010 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];

-		GenModel genModel = genPackage.getGenModel(); /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);

-		boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);

-		String publicStaticFinalFlag = isImplementation ? "public static final " : "";

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		if (isInterface || genModel.isSuppressInterfaces()) {

-			stringBuffer.append(TEXT_2);

-			stringBuffer.append(genPackage.getReflectionPackageName());

-			stringBuffer.append(TEXT_3);

-		} else {

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(genPackage.getClassPackageName());

-			stringBuffer.append(TEXT_5);

-		}

-		stringBuffer.append(TEXT_6);

-		if (isImplementation) {

-			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");

-			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");

-			genModel.addImport("org.eclipse.emf.ecore.EClass");

-			genModel.addImport("org.eclipse.emf.ecore.EObject");

-			if (!genPackage.hasJavaLangConflict() && !genPackage.hasInterfaceImplConflict()

-					&& !genPackage.getClassPackageName().equals(genPackage.getInterfacePackageName()))

-				genModel.addImport(genPackage.getInterfacePackageName() + ".*");

-		}

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_7);

-		if (isInterface) {

-			stringBuffer.append(TEXT_8);

-			if (!genModel.isSuppressEMFMetaData()) {

-				stringBuffer.append(TEXT_9);

-				stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-			}

-			stringBuffer.append(TEXT_10);

-		} else {

-			stringBuffer.append(TEXT_11);

-		}

-		if (isImplementation) {

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genPackage.getFactoryClassName());

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EFactoryImpl"));

-			if (!genModel.isSuppressInterfaces()) {

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genPackage.getImportedFactoryInterfaceName());

-			}

-		} else {

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genPackage.getFactoryInterfaceName());

-			if (!genModel.isSuppressEMFMetaData()) {

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EFactory"));

-			}

-		}

-		stringBuffer.append(TEXT_17);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_21);

-		}

-		if (isImplementation && (genModel.isSuppressEMFMetaData() || genModel.isSuppressInterfaces())) {

-			stringBuffer.append(TEXT_22);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genPackage.getFactoryClassName());

-			stringBuffer.append(TEXT_23);

-		}

-		if (isInterface && genModel.isSuppressEMFMetaData()) {

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genPackage.getFactoryInterfaceName());

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genPackage.getQualifiedFactoryClassName());

-			stringBuffer.append(TEXT_26);

-		} else if (isInterface && !genModel.isSuppressInterfaces()) {

-			stringBuffer.append(TEXT_27);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genPackage.getFactoryInterfaceName());

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(genPackage.getQualifiedFactoryClassName());

-			stringBuffer.append(TEXT_29);

-		}

-		if (isImplementation) {

-			stringBuffer.append(TEXT_30);

-			String factoryType = genModel.isSuppressEMFMetaData() ? genPackage.getFactoryClassName() : genPackage

-					.getImportedFactoryInterfaceName();

-			stringBuffer.append(TEXT_31);

-			stringBuffer.append(factoryType);

-			stringBuffer.append(TEXT_32);

-			stringBuffer.append(factoryType);

-			stringBuffer.append(TEXT_33);

-			stringBuffer.append(genPackage.getFactoryName());

-			stringBuffer.append(TEXT_34);

-			stringBuffer.append(factoryType);

-			stringBuffer.append(TEXT_35);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_36);

-			stringBuffer.append(genPackage.getPackageInterfaceName());

-			stringBuffer.append(TEXT_37);

-			stringBuffer.append(genPackage.getFactoryName());

-			stringBuffer.append(TEXT_38);

-			stringBuffer.append(genPackage.getFactoryName());

-			stringBuffer.append(TEXT_39);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

-			stringBuffer.append(TEXT_40);

-			stringBuffer.append(genPackage.getImportedFactoryClassName());

-			stringBuffer.append(TEXT_41);

-			stringBuffer.append(genPackage.getFactoryClassName());

-			stringBuffer.append(TEXT_42);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_43);

-			}

-			stringBuffer.append(TEXT_44);

-			for (GenClass genClass : genPackage.getGenClasses()) {

-				if (!genClass.isAbstract()) {

-					stringBuffer.append(TEXT_45);

-					stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(genClass.getClassifierID());

-					stringBuffer.append(TEXT_47);

-					stringBuffer.append(!genClass.isEObjectExtension() ? "(EObject)" : "");

-					stringBuffer.append(TEXT_48);

-					stringBuffer.append(genClass.getName());

-					stringBuffer.append(TEXT_49);

-				}

-			}

-			stringBuffer.append(TEXT_50);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(genModel.getNonNLS(2));

-			stringBuffer.append(TEXT_51);

-			if (!genPackage.getAllGenDataTypes().isEmpty()) {

-				stringBuffer.append(TEXT_52);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_53);

-				}

-				stringBuffer.append(TEXT_54);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

-				stringBuffer.append(TEXT_55);

-				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

-					if (genDataType.isSerializable()) {

-						stringBuffer.append(TEXT_56);

-						stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-						stringBuffer.append(TEXT_57);

-						stringBuffer.append(genDataType.getClassifierID());

-						stringBuffer.append(TEXT_58);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_59);

-					}

-				}

-				stringBuffer.append(TEXT_60);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(genModel.getNonNLS(2));

-				stringBuffer.append(TEXT_61);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_62);

-				}

-				stringBuffer.append(TEXT_63);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

-				stringBuffer.append(TEXT_64);

-				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

-					if (genDataType.isSerializable()) {

-						stringBuffer.append(TEXT_65);

-						stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-						stringBuffer.append(TEXT_66);

-						stringBuffer.append(genDataType.getClassifierID());

-						stringBuffer.append(TEXT_67);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_68);

-					}

-				}

-				stringBuffer.append(TEXT_69);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(genModel.getNonNLS(2));

-				stringBuffer.append(TEXT_70);

-			}

-			for (GenClass genClass : genPackage.getGenClasses()) {

-				if (!genClass.isAbstract()) {

-					stringBuffer.append(TEXT_71);

-					stringBuffer.append(genClass.getTypeParameters());

-					stringBuffer.append(genClass.getImportedInterfaceName());

-					stringBuffer.append(genClass.getInterfaceTypeArguments());

-					stringBuffer.append(TEXT_72);

-					stringBuffer.append(genClass.getName());

-					stringBuffer.append(TEXT_73);

-					if (genClass.isDynamic()) {

-						stringBuffer.append(TEXT_74);

-						stringBuffer.append(genClass.getImportedInterfaceName());

-						stringBuffer.append(genClass.getInterfaceTypeArguments());

-						stringBuffer.append(TEXT_75);

-						stringBuffer.append(genClass.getSafeUncapName());

-						stringBuffer.append(TEXT_76);

-						stringBuffer.append(genClass.getCastFromEObject());

-						stringBuffer.append(TEXT_77);

-						stringBuffer.append(genClass.getQualifiedClassifierAccessor());

-						stringBuffer.append(TEXT_78);

-					} else {

-						stringBuffer.append(TEXT_79);

-						stringBuffer.append(genClass.getImportedClassName());

-						stringBuffer.append(genClass.getClassTypeArguments());

-						stringBuffer.append(TEXT_80);

-						stringBuffer.append(genClass.getSafeUncapName());

-						stringBuffer.append(TEXT_81);

-						stringBuffer.append(genClass.getImportedClassName());

-						stringBuffer.append(genClass.getClassTypeArguments());

-						stringBuffer.append(TEXT_82);

-						if (genModel.isSuppressInterfaces()

-								&& !genPackage.getReflectionPackageName().equals(genPackage.getInterfacePackageName())) {

-							stringBuffer.append(TEXT_83);

-						}

-						stringBuffer.append(TEXT_84);

-					}

-					stringBuffer.append(TEXT_85);

-					stringBuffer.append(genClass.getSafeUncapName());

-					stringBuffer.append(TEXT_86);

-				}

-			}

-			for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

-				if (genDataType.isSerializable()) {

-					if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

-						String eDataType = genDataType.getQualifiedClassifierAccessor();

-						stringBuffer.append(TEXT_87);

-						if (genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_88);

-						}

-						stringBuffer.append(TEXT_89);

-						stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

-						stringBuffer.append(TEXT_90);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_91);

-						if (genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_92);

-						}

-						stringBuffer.append(TEXT_93);

-						if (genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_94);

-						} else {

-							stringBuffer.append(TEXT_95);

-						}

-						stringBuffer.append(TEXT_96);

-						if (genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_97);

-							stringBuffer.append(genDataType.getCreatorBody(genModel.getIndentation(stringBuffer)));

-						} else if (genDataType instanceof GenEnum) {

-							stringBuffer.append(TEXT_98);

-							stringBuffer.append(genDataType.getImportedInstanceClassName());

-							stringBuffer.append(TEXT_99);

-							stringBuffer.append(genDataType.getImportedInstanceClassName());

-							stringBuffer.append(TEXT_100);

-							stringBuffer.append(eDataType);

-							stringBuffer.append(TEXT_101);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(genModel.getNonNLS(2));

-							stringBuffer.append(genModel.getNonNLS(3));

-							stringBuffer.append(TEXT_102);

-						} else if (genDataType.getBaseType() != null) {

-							GenDataType genBaseType = genDataType.getBaseType();

-							boolean isPrimitiveConversion = !genDataType.isPrimitiveType()

-									&& genBaseType.isPrimitiveType();

-							if (genBaseType.getGenPackage() == genPackage) {

-								if (isPrimitiveConversion

-										&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-									stringBuffer.append(TEXT_103);

-									stringBuffer.append(genDataType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_104);

-									stringBuffer.append(genBaseType.getName());

-									stringBuffer.append(TEXT_105);

-								} else {

-									stringBuffer.append(TEXT_106);

-									stringBuffer.append(genBaseType.getName());

-									stringBuffer.append(TEXT_107);

-								}

-							} else if (genBaseType.getGenPackage().isDataTypeConverters()) {

-								if (isPrimitiveConversion

-										&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-									stringBuffer.append(TEXT_108);

-									stringBuffer.append(genDataType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_109);

-									stringBuffer.append(genBaseType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_110);

-									stringBuffer.append(genBaseType.getName());

-									stringBuffer.append(TEXT_111);

-								} else {

-									stringBuffer.append(TEXT_112);

-									stringBuffer.append(genBaseType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_113);

-									stringBuffer.append(genBaseType.getName());

-									stringBuffer.append(TEXT_114);

-								}

-							} else {

-								stringBuffer.append(TEXT_115);

-								if (!genDataType.isObjectType()) {

-									stringBuffer.append(TEXT_116);

-									stringBuffer.append(genDataType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_117);

-								}

-								stringBuffer.append(genBaseType.getGenPackage()

-										.getQualifiedEFactoryInternalInstanceAccessor());

-								stringBuffer.append(TEXT_118);

-								stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_119);

-							}

-						} else if (genDataType.getItemType() != null) {

-							GenDataType genItemType = genDataType.getItemType();

-							stringBuffer.append(TEXT_120);

-							stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

-							stringBuffer.append(TEXT_121);

-							stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));

-							if (genModel.useGenerics()) {

-								stringBuffer.append(TEXT_122);

-								stringBuffer.append(genItemType.getObjectType()

-										.getImportedParameterizedInstanceClassName());

-								stringBuffer.append(TEXT_123);

-							}

-							stringBuffer.append(TEXT_124);

-							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

-								stringBuffer.append(TEXT_125);

-								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

-								stringBuffer.append(TEXT_126);

-								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

-								stringBuffer.append(TEXT_127);

-							} else {

-								stringBuffer.append(TEXT_128);

-							}

-							stringBuffer.append(TEXT_129);

-							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

-								stringBuffer.append(TEXT_130);

-							}

-							if (genItemType.getGenPackage() == genPackage) {

-								if (genPackage.isDataTypeConverters()) {

-									genItemType = genItemType.getObjectType();

-									stringBuffer.append(TEXT_131);

-									stringBuffer.append(genItemType.getName());

-									stringBuffer.append(TEXT_132);

-								} else {

-									stringBuffer.append(TEXT_133);

-									stringBuffer.append(genItemType.getName());

-									stringBuffer.append(TEXT_134);

-									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_135);

-								}

-							} else {

-								if (genItemType.getGenPackage().isDataTypeConverters()) {

-									genItemType = genItemType.getObjectType();

-									stringBuffer.append(TEXT_136);

-									stringBuffer.append(genItemType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_137);

-									stringBuffer.append(genItemType.getName());

-									stringBuffer.append(TEXT_138);

-								} else {

-									stringBuffer.append(TEXT_139);

-									stringBuffer.append(genItemType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_140);

-									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_141);

-								}

-							}

-							stringBuffer.append(TEXT_142);

-						} else if (!genDataType.getMemberTypes().isEmpty()) {

-							stringBuffer.append(TEXT_143);

-							stringBuffer.append(genDataType.getStaticValue(null));

-							stringBuffer.append(TEXT_144);

-							stringBuffer.append(genDataType.getImportedInstanceClassName());

-							stringBuffer.append(TEXT_145);

-							stringBuffer.append(genDataType.getStaticValue(null));

-							stringBuffer.append(TEXT_146);

-							for (GenDataType genMemberType : genDataType.getMemberTypes()) {

-								stringBuffer.append(TEXT_147);

-								if (genMemberType.getGenPackage() == genPackage) {

-									if (genPackage.isDataTypeConverters()) {

-										if (!genDataType.isPrimitiveType())

-											genMemberType = genMemberType.getObjectType();

-										stringBuffer.append(TEXT_148);

-										stringBuffer.append(genMemberType.getName());

-										stringBuffer.append(TEXT_149);

-									} else {

-										stringBuffer.append(TEXT_150);

-										stringBuffer.append(genDataType.getObjectInstanceClassName());

-										stringBuffer.append(TEXT_151);

-										stringBuffer.append(genMemberType.getName());

-										stringBuffer.append(TEXT_152);

-										stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-										stringBuffer.append(TEXT_153);

-									}

-								} else {

-									if (genPackage.isDataTypeConverters()) {

-										if (!genDataType.isPrimitiveType())

-											genMemberType = genMemberType.getObjectType();

-										stringBuffer.append(TEXT_154);

-										stringBuffer.append(genMemberType.getGenPackage()

-												.getQualifiedEFactoryInternalInstanceAccessor());

-										stringBuffer.append(TEXT_155);

-										stringBuffer.append(genMemberType.getName());

-										stringBuffer.append(TEXT_156);

-									} else {

-										stringBuffer.append(TEXT_157);

-										stringBuffer.append(genDataType.getObjectInstanceClassName());

-										stringBuffer.append(TEXT_158);

-										stringBuffer.append(genMemberType.getGenPackage()

-												.getQualifiedEFactoryInternalInstanceAccessor());

-										stringBuffer.append(TEXT_159);

-										stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-										stringBuffer.append(TEXT_160);

-									}

-								}

-								stringBuffer.append(TEXT_161);

-								if (!genDataType.isPrimitiveType()) {

-									stringBuffer.append(TEXT_162);

-								}

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));

-								stringBuffer.append(TEXT_163);

-								stringBuffer.append(eDataType);

-								stringBuffer.append(TEXT_164);

-								if (genDataType.isPrimitiveType()

-										&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-									stringBuffer.append(TEXT_165);

-									stringBuffer.append(genDataType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_166);

-								} else {

-									stringBuffer.append(TEXT_167);

-								}

-								stringBuffer.append(TEXT_168);

-							}

-							stringBuffer.append(TEXT_169);

-							if (!genDataType.isPrimitiveType()) {

-								stringBuffer.append(TEXT_170);

-							}

-							stringBuffer.append(TEXT_171);

-						} else if (!genDataType.hasConversionDelegate()

-								&& genModel.useGenerics()

-								&& (genDataType.isArrayType()

-										|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType

-										.getEcoreDataType().getInstanceTypeName().contains("<"))) {

-							stringBuffer.append(TEXT_172);

-							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

-							stringBuffer.append(TEXT_173);

-						} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

-							stringBuffer.append(TEXT_174);

-							stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

-							stringBuffer.append(TEXT_175);

-						} else if (genDataType.isPrimitiveType()

-								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-							stringBuffer.append(TEXT_176);

-							stringBuffer.append(genDataType.getObjectInstanceClassName());

-							stringBuffer.append(TEXT_177);

-							stringBuffer.append(eDataType);

-							stringBuffer.append(TEXT_178);

-							stringBuffer.append(genDataType.getPrimitiveValueFunction());

-							stringBuffer.append(TEXT_179);

-						} else {

-							stringBuffer.append(TEXT_180);

-							if (!genDataType.isObjectType()) {

-								stringBuffer.append(TEXT_181);

-								stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

-								stringBuffer.append(TEXT_182);

-							}

-							stringBuffer.append(TEXT_183);

-							stringBuffer.append(eDataType);

-							stringBuffer.append(TEXT_184);

-						}

-						stringBuffer.append(TEXT_185);

-					}

-					stringBuffer.append(TEXT_186);

-					if (!genPackage.isDataTypeConverters() && genModel.useGenerics() && genDataType.isUncheckedCast()

-							&& !genDataType.hasCreatorBody()) {

-						stringBuffer.append(TEXT_187);

-					}

-					stringBuffer.append(TEXT_188);

-					stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

-					stringBuffer.append(TEXT_189);

-					stringBuffer.append(genDataType.getName());

-					stringBuffer.append(TEXT_190);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

-					stringBuffer.append(TEXT_191);

-					if (genDataType instanceof GenEnum) {

-						if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_192);

-							stringBuffer.append(genDataType.getName());

-							stringBuffer.append(TEXT_193);

-						} else {

-							stringBuffer.append(TEXT_194);

-							stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());

-							stringBuffer.append(TEXT_195);

-							stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());

-							stringBuffer.append(TEXT_196);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(genModel.getNonNLS(2));

-							stringBuffer.append(genModel.getNonNLS(3));

-							stringBuffer.append(TEXT_197);

-						}

-					} else if (genDataType.getBaseType() != null) {

-						GenDataType genBaseType = genDataType.getBaseType();

-						if (genBaseType.getGenPackage() == genPackage) {

-							stringBuffer.append(TEXT_198);

-							if (!genDataType.getObjectInstanceClassName().equals(

-									genBaseType.getObjectInstanceClassName())) {

-								stringBuffer.append(TEXT_199);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_200);

-							}

-							stringBuffer.append(TEXT_201);

-							stringBuffer.append(genBaseType.getName());

-							stringBuffer.append(TEXT_202);

-							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_203);

-						} else {

-							stringBuffer.append(TEXT_204);

-							if (!genDataType.isObjectType()) {

-								stringBuffer.append(TEXT_205);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_206);

-							}

-							stringBuffer.append(genBaseType.getGenPackage()

-									.getQualifiedEFactoryInternalInstanceAccessor());

-							stringBuffer.append(TEXT_207);

-							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_208);

-						}

-					} else if (genDataType.getItemType() != null) {

-						GenDataType genItemType = genDataType.getItemType();

-						if (genPackage.isDataTypeConverters()) {

-							stringBuffer.append(TEXT_209);

-							stringBuffer.append(genDataType.getName());

-							stringBuffer.append(TEXT_210);

-						} else {

-							stringBuffer.append(TEXT_211);

-							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

-							stringBuffer.append(TEXT_212);

-							stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));

-							if (genModel.useGenerics()) {

-								stringBuffer.append(TEXT_213);

-								stringBuffer.append(genItemType.getObjectType()

-										.getImportedParameterizedInstanceClassName());

-								stringBuffer.append(TEXT_214);

-							}

-							stringBuffer.append(TEXT_215);

-							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

-								stringBuffer.append(TEXT_216);

-								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

-								stringBuffer.append(TEXT_217);

-								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

-								stringBuffer.append(TEXT_218);

-							} else {

-								stringBuffer.append(TEXT_219);

-							}

-							stringBuffer.append(TEXT_220);

-							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

-								stringBuffer.append(TEXT_221);

-							}

-							if (genItemType.getGenPackage() == genPackage) {

-								stringBuffer.append(TEXT_222);

-								stringBuffer.append(genItemType.getName());

-								stringBuffer.append(TEXT_223);

-								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_224);

-							} else {

-								stringBuffer.append(TEXT_225);

-								if (!genItemType.isObjectType()) {

-									stringBuffer.append(TEXT_226);

-									stringBuffer.append(genItemType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_227);

-								}

-								stringBuffer.append(genItemType.getGenPackage()

-										.getQualifiedEFactoryInternalInstanceAccessor());

-								stringBuffer.append(TEXT_228);

-								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_229);

-							}

-							stringBuffer.append(TEXT_230);

-						}

-					} else if (!genDataType.getMemberTypes().isEmpty()) {

-						if (genPackage.isDataTypeConverters()) {

-							if (genDataType.isPrimitiveType()

-									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_231);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_232);

-								stringBuffer.append(genDataType.getName());

-								stringBuffer.append(TEXT_233);

-							} else {

-								stringBuffer.append(TEXT_234);

-								stringBuffer.append(genDataType.getName());

-								stringBuffer.append(TEXT_235);

-							}

-						} else {

-							stringBuffer.append(TEXT_236);

-							stringBuffer.append(genDataType.getObjectInstanceClassName());

-							stringBuffer.append(TEXT_237);

-							for (GenDataType genMemberType : genDataType.getMemberTypes()) {

-								stringBuffer.append(TEXT_238);

-								if (genMemberType.getGenPackage() == genPackage) {

-									stringBuffer.append(TEXT_239);

-									if (!genDataType.isObjectType()

-											&& !genDataType.getObjectInstanceClassName().equals(

-													genMemberType.getObjectInstanceClassName())) {

-										stringBuffer.append(TEXT_240);

-										stringBuffer.append(genDataType.getObjectInstanceClassName());

-										stringBuffer.append(TEXT_241);

-									}

-									stringBuffer.append(TEXT_242);

-									stringBuffer.append(genMemberType.getName());

-									stringBuffer.append(TEXT_243);

-									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_244);

-								} else {

-									stringBuffer.append(TEXT_245);

-									if (!genDataType.isObjectType()) {

-										stringBuffer.append(TEXT_246);

-										stringBuffer.append(genDataType.getObjectInstanceClassName());

-										stringBuffer.append(TEXT_247);

-									}

-									stringBuffer.append(genMemberType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_248);

-									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_249);

-								}

-								stringBuffer.append(TEXT_250);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));

-								stringBuffer.append(TEXT_251);

-							}

-							stringBuffer.append(TEXT_252);

-						}

-					} else if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

-						stringBuffer.append(TEXT_253);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_254);

-					} else if (!genDataType.hasConversionDelegate()

-							&& genModel.useGenerics()

-							&& (genDataType.isArrayType()

-									|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType

-									.getEcoreDataType().getInstanceTypeName().contains("<"))) {

-						stringBuffer.append(TEXT_255);

-						if (!genDataType.isObjectType()) {

-							stringBuffer.append(TEXT_256);

-							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

-							stringBuffer.append(TEXT_257);

-						}

-						stringBuffer.append(TEXT_258);

-					} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

-						stringBuffer.append(TEXT_259);

-						stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

-						stringBuffer.append(TEXT_260);

-					} else {

-						stringBuffer.append(TEXT_261);

-						if (!genDataType.isObjectType()) {

-							stringBuffer.append(TEXT_262);

-							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

-							stringBuffer.append(TEXT_263);

-						}

-						stringBuffer.append(TEXT_264);

-					}

-					stringBuffer.append(TEXT_265);

-					if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

-						String eDataType = genDataType.getQualifiedClassifierAccessor();

-						stringBuffer.append(TEXT_266);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_267);

-						if (genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_268);

-						}

-						stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

-						stringBuffer.append(TEXT_269);

-						if (genDataType.hasConverterBody()) {

-							stringBuffer.append(TEXT_270);

-						} else {

-							stringBuffer.append(TEXT_271);

-						}

-						stringBuffer.append(TEXT_272);

-						if (genDataType.hasConverterBody()) {

-							stringBuffer.append(TEXT_273);

-							stringBuffer.append(genDataType.getConverterBody(genModel.getIndentation(stringBuffer)));

-						} else if (genDataType instanceof GenEnum) {

-							stringBuffer.append(TEXT_274);

-						} else if (genDataType.getBaseType() != null) {

-							GenDataType genBaseType = genDataType.getBaseType();

-							boolean isPrimitiveConversion = !genDataType.isPrimitiveType()

-									&& genBaseType.isPrimitiveType();

-							if (genBaseType.getGenPackage() == genPackage) {

-								if (isPrimitiveConversion) {

-									stringBuffer.append(TEXT_275);

-									stringBuffer.append(genBaseType.getName());

-									stringBuffer.append(TEXT_276);

-									if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-										stringBuffer.append(TEXT_277);

-										stringBuffer.append(genBaseType.getPrimitiveValueFunction());

-										stringBuffer.append(TEXT_278);

-									}

-									stringBuffer.append(TEXT_279);

-								} else {

-									stringBuffer.append(TEXT_280);

-									stringBuffer.append(genBaseType.getName());

-									stringBuffer.append(TEXT_281);

-								}

-							} else if (genBaseType.getGenPackage().isDataTypeConverters()) {

-								stringBuffer.append(TEXT_282);

-								stringBuffer.append(genBaseType.getGenPackage().getQualifiedFactoryInstanceAccessor());

-								stringBuffer.append(TEXT_283);

-								stringBuffer.append(genBaseType.getName());

-								stringBuffer.append(TEXT_284);

-							} else {

-								stringBuffer.append(TEXT_285);

-								stringBuffer.append(genBaseType.getGenPackage()

-										.getQualifiedEFactoryInternalInstanceAccessor());

-								stringBuffer.append(TEXT_286);

-								stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_287);

-							}

-						} else if (genDataType.getItemType() != null) {

-							GenDataType genItemType = genDataType.getItemType();

-							stringBuffer.append(TEXT_288);

-							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));

-							stringBuffer.append(TEXT_289);

-							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));

-							stringBuffer.append(TEXT_290);

-							String item;

-							if (!genModel.useGenerics()) {

-								item = "i.next()";

-								stringBuffer.append(TEXT_291);

-								stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

-								stringBuffer.append(TEXT_292);

-							} else {

-								item = "item";

-								stringBuffer.append(TEXT_293);

-								stringBuffer.append(genModel.getImportedName("java.lang.Object"));

-								stringBuffer.append(TEXT_294);

-							}

-							stringBuffer.append(TEXT_295);

-							if (genItemType.getGenPackage() == genPackage) {

-								if (genPackage.isDataTypeConverters()) {

-									genItemType = genItemType.getObjectType();

-									stringBuffer.append(TEXT_296);

-									stringBuffer.append(genItemType.getName());

-									stringBuffer.append(TEXT_297);

-									stringBuffer.append(genItemType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_298);

-									stringBuffer.append(item);

-									stringBuffer.append(TEXT_299);

-								} else {

-									stringBuffer.append(TEXT_300);

-									stringBuffer.append(genItemType.getName());

-									stringBuffer.append(TEXT_301);

-									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_302);

-									stringBuffer.append(item);

-									stringBuffer.append(TEXT_303);

-								}

-							} else {

-								if (genItemType.getGenPackage().isDataTypeConverters()) {

-									genItemType = genItemType.getObjectType();

-									stringBuffer.append(TEXT_304);

-									stringBuffer.append(genItemType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_305);

-									stringBuffer.append(genItemType.getName());

-									stringBuffer.append(TEXT_306);

-									stringBuffer.append(genItemType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_307);

-									stringBuffer.append(item);

-									stringBuffer.append(TEXT_308);

-								} else {

-									stringBuffer.append(TEXT_309);

-									stringBuffer.append(genItemType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_310);

-									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_311);

-									stringBuffer.append(item);

-									stringBuffer.append(TEXT_312);

-								}

-							}

-							stringBuffer.append(TEXT_313);

-						} else if (!genDataType.getMemberTypes().isEmpty()) {

-							if (!genDataType.isPrimitiveType()) {

-								stringBuffer.append(TEXT_314);

-								for (GenDataType genMemberType : genDataType.getMemberTypes()) {

-									stringBuffer.append(TEXT_315);

-									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_316);

-									if (genMemberType.getGenPackage() == genPackage) {

-										if (genPackage.isDataTypeConverters()) {

-											if (genMemberType.getQualifiedInstanceClassName().equals(

-													genDataType.getQualifiedInstanceClassName())) {

-												stringBuffer.append(TEXT_317);

-												stringBuffer.append(genMemberType.getName());

-												stringBuffer.append(TEXT_318);

-											} else if (genMemberType.isPrimitiveType()

-													&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-												stringBuffer.append(TEXT_319);

-												stringBuffer.append(genMemberType.getName());

-												stringBuffer.append(TEXT_320);

-												stringBuffer.append(genMemberType.getObjectType()

-														.getImportedInstanceClassName());

-												stringBuffer.append(TEXT_321);

-												stringBuffer.append(genMemberType.getPrimitiveValueFunction());

-												stringBuffer.append(TEXT_322);

-											} else {

-												stringBuffer.append(TEXT_323);

-												stringBuffer.append(genMemberType.getName());

-												stringBuffer.append(TEXT_324);

-												stringBuffer.append(genMemberType.getObjectType()

-														.getImportedBoundedWildcardInstanceClassName());

-												stringBuffer.append(TEXT_325);

-											}

-										} else {

-											stringBuffer.append(TEXT_326);

-											stringBuffer.append(genMemberType.getName());

-											stringBuffer.append(TEXT_327);

-											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-											stringBuffer.append(TEXT_328);

-										}

-									} else {

-										if (genMemberType.getGenPackage().isDataTypeConverters()) {

-											genMemberType = genMemberType.getObjectType();

-											stringBuffer.append(TEXT_329);

-											stringBuffer.append(genMemberType.getGenPackage()

-													.getQualifiedEFactoryInternalInstanceAccessor());

-											stringBuffer.append(TEXT_330);

-											stringBuffer.append(genMemberType.getName());

-											stringBuffer.append(TEXT_331);

-											stringBuffer.append(genMemberType.getObjectInstanceClassName());

-											stringBuffer.append(TEXT_332);

-										} else {

-											stringBuffer.append(TEXT_333);

-											stringBuffer.append(genMemberType.getGenPackage()

-													.getQualifiedEFactoryInternalInstanceAccessor());

-											stringBuffer.append(TEXT_334);

-											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-											stringBuffer.append(TEXT_335);

-										}

-									}

-									stringBuffer.append(TEXT_336);

-								}

-							} else {

-								for (GenDataType genMemberType : genDataType.getMemberTypes()) {

-									stringBuffer.append(TEXT_337);

-									if (genMemberType.getGenPackage() == genPackage) {

-										if (genPackage.isDataTypeConverters()) {

-											stringBuffer.append(TEXT_338);

-											stringBuffer.append(genMemberType.getName());

-											stringBuffer.append(TEXT_339);

-										} else {

-											stringBuffer.append(TEXT_340);

-											stringBuffer.append(genMemberType.getName());

-											stringBuffer.append(TEXT_341);

-											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-											stringBuffer.append(TEXT_342);

-											if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-												stringBuffer.append(TEXT_343);

-												stringBuffer.append(genMemberType.getObjectInstanceClassName());

-												stringBuffer.append(TEXT_344);

-											} else {

-												stringBuffer.append(TEXT_345);

-											}

-											stringBuffer.append(TEXT_346);

-										}

-									} else {

-										if (genMemberType.getGenPackage().isDataTypeConverters()) {

-											stringBuffer.append(TEXT_347);

-											stringBuffer.append(genMemberType.getGenPackage()

-													.getQualifiedEFactoryInternalInstanceAccessor());

-											stringBuffer.append(TEXT_348);

-											stringBuffer.append(genMemberType.getName());

-											stringBuffer.append(TEXT_349);

-										} else {

-											stringBuffer.append(TEXT_350);

-											stringBuffer.append(genMemberType.getGenPackage()

-													.getQualifiedEFactoryInternalInstanceAccessor());

-											stringBuffer.append(TEXT_351);

-											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-											stringBuffer.append(TEXT_352);

-											if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-												stringBuffer.append(TEXT_353);

-												stringBuffer.append(genMemberType.getObjectInstanceClassName());

-												stringBuffer.append(TEXT_354);

-											} else {

-												stringBuffer.append(TEXT_355);

-											}

-											stringBuffer.append(TEXT_356);

-										}

-									}

-									stringBuffer.append(TEXT_357);

-								}

-							}

-							stringBuffer.append(TEXT_358);

-							stringBuffer.append(eDataType);

-							stringBuffer.append(TEXT_359);

-						} else if (!genDataType.hasConversionDelegate()

-								&& genModel.useGenerics()

-								&& (genDataType.isArrayType()

-										|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType

-										.getEcoreDataType().getInstanceTypeName().contains("<"))) {

-							stringBuffer.append(TEXT_360);

-						} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

-							stringBuffer.append(TEXT_361);

-							stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

-							stringBuffer.append(TEXT_362);

-						} else if (genDataType.isPrimitiveType()

-								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-							stringBuffer.append(TEXT_363);

-							stringBuffer.append(eDataType);

-							stringBuffer.append(TEXT_364);

-							stringBuffer.append(genDataType.getObjectInstanceClassName());

-							stringBuffer.append(TEXT_365);

-						} else {

-							stringBuffer.append(TEXT_366);

-							stringBuffer.append(eDataType);

-							stringBuffer.append(TEXT_367);

-						}

-						stringBuffer.append(TEXT_368);

-					}

-					stringBuffer.append(TEXT_369);

-					if (genModel.useGenerics() && (genDataType.getItemType() != null || genDataType.isUncheckedCast())

-							&& (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody())) {

-						stringBuffer.append(TEXT_370);

-					}

-					stringBuffer.append(TEXT_371);

-					stringBuffer.append(genDataType.getName());

-					stringBuffer.append(TEXT_372);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

-					stringBuffer.append(TEXT_373);

-					if (genDataType instanceof GenEnum) {

-						if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

-							stringBuffer.append(TEXT_374);

-							stringBuffer.append(genDataType.getName());

-							stringBuffer.append(TEXT_375);

-							stringBuffer.append(genDataType.getImportedInstanceClassName());

-							stringBuffer.append(TEXT_376);

-						} else {

-							stringBuffer.append(TEXT_377);

-						}

-					} else if (genDataType.getBaseType() != null) {

-						GenDataType genBaseType = genDataType.getBaseType();

-						if (genBaseType.getGenPackage() == genPackage) {

-							stringBuffer.append(TEXT_378);

-							stringBuffer.append(genBaseType.getName());

-							stringBuffer.append(TEXT_379);

-							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_380);

-						} else {

-							stringBuffer.append(TEXT_381);

-							stringBuffer.append(genBaseType.getGenPackage()

-									.getQualifiedEFactoryInternalInstanceAccessor());

-							stringBuffer.append(TEXT_382);

-							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_383);

-						}

-					} else if (genDataType.getItemType() != null) {

-						GenDataType genItemType = genDataType.getItemType();

-						if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_384);

-							stringBuffer.append(genDataType.getName());

-							stringBuffer.append(TEXT_385);

-							stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

-							stringBuffer.append(TEXT_386);

-						} else {

-							final String singleWildcard = genModel.useGenerics() ? "<?>" : "";

-							stringBuffer.append(TEXT_387);

-							stringBuffer.append(genModel.getImportedName("java.util.List"));

-							stringBuffer.append(singleWildcard);

-							stringBuffer.append(TEXT_388);

-							stringBuffer.append(genModel.getImportedName("java.util.List"));

-							stringBuffer.append(singleWildcard);

-							stringBuffer.append(TEXT_389);

-							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));

-							stringBuffer.append(TEXT_390);

-							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));

-							stringBuffer.append(TEXT_391);

-							String item;

-							if (!genModel.useGenerics()) {

-								item = "i.next()";

-								stringBuffer.append(TEXT_392);

-								stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

-								stringBuffer.append(TEXT_393);

-							} else {

-								item = "item";

-								stringBuffer.append(TEXT_394);

-								stringBuffer.append(genModel.getImportedName("java.lang.Object"));

-								stringBuffer.append(TEXT_395);

-							}

-							stringBuffer.append(TEXT_396);

-							if (genItemType.getGenPackage() == genPackage) {

-								stringBuffer.append(TEXT_397);

-								stringBuffer.append(genItemType.getName());

-								stringBuffer.append(TEXT_398);

-								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_399);

-								stringBuffer.append(item);

-								stringBuffer.append(TEXT_400);

-							} else {

-								stringBuffer.append(TEXT_401);

-								stringBuffer.append(genItemType.getGenPackage()

-										.getQualifiedEFactoryInternalInstanceAccessor());

-								stringBuffer.append(TEXT_402);

-								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_403);

-								stringBuffer.append(item);

-								stringBuffer.append(TEXT_404);

-							}

-							stringBuffer.append(TEXT_405);

-						}

-					} else if (!genDataType.getMemberTypes().isEmpty()) {

-						if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

-							if (genDataType.isPrimitiveType()) {

-								stringBuffer.append(TEXT_406);

-								stringBuffer.append(genDataType.getName());

-								stringBuffer.append(TEXT_407);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_408);

-								if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-									stringBuffer.append(TEXT_409);

-									stringBuffer.append(genDataType.getPrimitiveValueFunction());

-									stringBuffer.append(TEXT_410);

-								}

-								stringBuffer.append(TEXT_411);

-							} else {

-								stringBuffer.append(TEXT_412);

-								stringBuffer.append(genDataType.getName());

-								stringBuffer.append(TEXT_413);

-							}

-						} else {

-							stringBuffer.append(TEXT_414);

-							for (GenDataType genMemberType : genDataType.getMemberTypes()) {

-								stringBuffer.append(TEXT_415);

-								stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_416);

-								if (genMemberType.getGenPackage() == genPackage) {

-									stringBuffer.append(TEXT_417);

-									stringBuffer.append(genMemberType.getName());

-									stringBuffer.append(TEXT_418);

-									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_419);

-								} else {

-									stringBuffer.append(TEXT_420);

-									stringBuffer.append(genMemberType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_421);

-									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_422);

-								}

-								stringBuffer.append(TEXT_423);

-							}

-							stringBuffer.append(TEXT_424);

-						}

-					} else if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

-						if (genDataType.isPrimitiveType()) {

-							stringBuffer.append(TEXT_425);

-							stringBuffer.append(genDataType.getName());

-							stringBuffer.append(TEXT_426);

-							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_427);

-							}

-							stringBuffer.append(TEXT_428);

-							stringBuffer.append(genDataType.getObjectInstanceClassName());

-							stringBuffer.append(TEXT_429);

-							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_430);

-								stringBuffer.append(genDataType.getPrimitiveValueFunction());

-								stringBuffer.append(TEXT_431);

-							}

-							stringBuffer.append(TEXT_432);

-						} else {

-							stringBuffer.append(TEXT_433);

-							stringBuffer.append(genDataType.getName());

-							stringBuffer.append(TEXT_434);

-							stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

-							stringBuffer.append(TEXT_435);

-						}

-					} else if (!genDataType.hasConversionDelegate()

-							&& genModel.useGenerics()

-							&& (genDataType.isArrayType()

-									|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType

-									.getEcoreDataType().getInstanceTypeName().contains("<"))) {

-						stringBuffer.append(TEXT_436);

-					} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

-						stringBuffer.append(TEXT_437);

-						stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

-						stringBuffer.append(TEXT_438);

-					} else {

-						stringBuffer.append(TEXT_439);

-					}

-					stringBuffer.append(TEXT_440);

-				}

-			}

-		} else {

-			for (GenClass genClass : genPackage.getGenClasses()) {

-				if (genClass.hasFactoryInterfaceCreateMethod()) {

-					stringBuffer.append(TEXT_441);

-					stringBuffer.append(genClass.getFormattedName());

-					stringBuffer.append(TEXT_442);

-					stringBuffer.append(genClass.getFormattedName());

-					stringBuffer.append(TEXT_443);

-					stringBuffer.append(genClass.getTypeParameters());

-					stringBuffer.append(genClass.getImportedInterfaceName());

-					stringBuffer.append(genClass.getInterfaceTypeArguments());

-					stringBuffer.append(TEXT_444);

-					stringBuffer.append(genClass.getName());

-					stringBuffer.append(TEXT_445);

-				}

-			}

-			if (genPackage.isDataTypeConverters()) {

-				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

-					if (genDataType.isSerializable()) {

-						stringBuffer.append(TEXT_446);

-						stringBuffer.append(genDataType.getFormattedName());

-						stringBuffer.append(TEXT_447);

-						stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

-						stringBuffer.append(TEXT_448);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_449);

-						stringBuffer.append(genDataType.getFormattedName());

-						stringBuffer.append(TEXT_450);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_451);

-						stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

-						stringBuffer.append(TEXT_452);

-					}

-				}

-			}

-		}

-		if (!isImplementation && !genModel.isSuppressEMFMetaData()) {

-			stringBuffer.append(TEXT_453);

-			stringBuffer.append(genPackage.getPackageInterfaceName());

-			stringBuffer.append(TEXT_454);

-			stringBuffer.append(genPackage.getBasicPackageName());

-			stringBuffer.append(TEXT_455);

-		} else if (isImplementation) {

-			stringBuffer.append(TEXT_456);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_457);

-			stringBuffer.append(genPackage.getBasicPackageName());

-			stringBuffer.append(TEXT_458);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_459);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_460);

-			}

-			stringBuffer.append(TEXT_461);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_462);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_463);

-		}

-		stringBuffer.append(TEXT_464);

-		stringBuffer.append(isInterface ? genPackage.getFactoryInterfaceName() : genPackage.getFactoryClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_465);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate && (genPackage.hasClassifiers());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class FactoryClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized FactoryClass create(String lineSeparator) {
+		nl = lineSeparator;
+		FactoryClass result = new FactoryClass();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";";
+	protected final String TEXT_4 = NL + "package ";
+	protected final String TEXT_5 = ";";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL;
+	protected final String TEXT_8 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * The <b>Factory</b> for the model." + NL
+			+ " * It provides a create method for each non-abstract class of the model." + NL
+			+ " * <!-- end-user-doc -->";
+	protected final String TEXT_9 = NL + " * @see ";
+	protected final String TEXT_10 = NL + " * @generated" + NL + " */";
+	protected final String TEXT_11 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * An implementation of the model <b>Factory</b>." + NL + " * <!-- end-user-doc -->" + NL
+			+ " * @generated" + NL + " */";
+	protected final String TEXT_12 = NL + "public class ";
+	protected final String TEXT_13 = " extends ";
+	protected final String TEXT_14 = " implements ";
+	protected final String TEXT_15 = NL + "public interface ";
+	protected final String TEXT_16 = " extends ";
+	protected final String TEXT_17 = NL + "{";
+	protected final String TEXT_18 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_19 = " copyright = ";
+	protected final String TEXT_20 = ";";
+	protected final String TEXT_21 = NL;
+	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_23 = " eINSTANCE = init();" + NL;
+	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_25 = " INSTANCE = ";
+	protected final String TEXT_26 = ".eINSTANCE;" + NL;
+	protected final String TEXT_27 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_28 = " eINSTANCE = ";
+	protected final String TEXT_29 = ".init();" + NL;
+	protected final String TEXT_30 = NL + "\t/**" + NL + "\t * Creates the default factory implementation." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_31 = NL + "\tpublic static ";
+	protected final String TEXT_32 = " init()" + NL + "\t{" + NL + "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_33 = " the";
+	protected final String TEXT_34 = " = (";
+	protected final String TEXT_35 = ")";
+	protected final String TEXT_36 = ".Registry.INSTANCE.getEFactory(";
+	protected final String TEXT_37 = ".eNS_URI);" + NL + "\t\t\tif (the";
+	protected final String TEXT_38 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn the";
+	protected final String TEXT_39 = ";" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL
+			+ "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_40 = ".INSTANCE.log(exception);" + NL + "\t\t}" + NL + "\t\treturn new ";
+	protected final String TEXT_41 = "();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Creates an instance of the factory." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_42 = "()" + NL + "\t{" + NL + "\t\tsuper();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_43 = NL + "\t@Override";
+	protected final String TEXT_44 = NL + "\tpublic EObject create(EClass eClass)" + NL + "\t{" + NL
+			+ "\t\tswitch (eClass.getClassifierID())" + NL + "\t\t{";
+	protected final String TEXT_45 = NL + "\t\t\tcase ";
+	protected final String TEXT_46 = ".";
+	protected final String TEXT_47 = ": return ";
+	protected final String TEXT_48 = "create";
+	protected final String TEXT_49 = "();";
+	protected final String TEXT_50 = NL + "\t\t\tdefault:" + NL
+			+ "\t\t\t\tthrow new IllegalArgumentException(\"The class '\" + eClass.getName() + \"' is not a valid classifier\");";
+	protected final String TEXT_51 = NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_52 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_53 = NL + "\t@Override";
+	protected final String TEXT_54 = NL + "\tpublic Object createFromString(";
+	protected final String TEXT_55 = " eDataType, String initialValue)" + NL + "\t{" + NL
+			+ "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";
+	protected final String TEXT_56 = NL + "\t\t\tcase ";
+	protected final String TEXT_57 = ".";
+	protected final String TEXT_58 = ":" + NL + "\t\t\t\treturn create";
+	protected final String TEXT_59 = "FromString(eDataType, initialValue);";
+	protected final String TEXT_60 = NL + "\t\t\tdefault:" + NL
+			+ "\t\t\t\tthrow new IllegalArgumentException(\"The datatype '\" + eDataType.getName() + \"' is not a valid classifier\");";
+	protected final String TEXT_61 = NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_62 = NL + "\t@Override";
+	protected final String TEXT_63 = NL + "\tpublic String convertToString(";
+	protected final String TEXT_64 = " eDataType, Object instanceValue)" + NL + "\t{" + NL
+			+ "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";
+	protected final String TEXT_65 = NL + "\t\t\tcase ";
+	protected final String TEXT_66 = ".";
+	protected final String TEXT_67 = ":" + NL + "\t\t\t\treturn convert";
+	protected final String TEXT_68 = "ToString(eDataType, instanceValue);";
+	protected final String TEXT_69 = NL + "\t\t\tdefault:" + NL
+			+ "\t\t\t\tthrow new IllegalArgumentException(\"The datatype '\" + eDataType.getName() + \"' is not a valid classifier\");";
+	protected final String TEXT_70 = NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_71 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_72 = " create";
+	protected final String TEXT_73 = "()" + NL + "\t{";
+	protected final String TEXT_74 = NL + "\t\t";
+	protected final String TEXT_75 = " ";
+	protected final String TEXT_76 = " = ";
+	protected final String TEXT_77 = "super.create(";
+	protected final String TEXT_78 = ");";
+	protected final String TEXT_79 = NL + "\t\t";
+	protected final String TEXT_80 = " ";
+	protected final String TEXT_81 = " = new ";
+	protected final String TEXT_82 = "()";
+	protected final String TEXT_83 = "{}";
+	protected final String TEXT_84 = ";";
+	protected final String TEXT_85 = NL + "\t\treturn ";
+	protected final String TEXT_86 = ";" + NL + "\t}" + NL;
+	protected final String TEXT_87 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_88 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_89 = NL + "\tpublic ";
+	protected final String TEXT_90 = " create";
+	protected final String TEXT_91 = "(";
+	protected final String TEXT_92 = "final ";
+	protected final String TEXT_93 = "String ";
+	protected final String TEXT_94 = "it";
+	protected final String TEXT_95 = "literal";
+	protected final String TEXT_96 = ")" + NL + "\t{";
+	protected final String TEXT_97 = NL + "\t\t";
+	protected final String TEXT_98 = NL + "\t\t";
+	protected final String TEXT_99 = " result = ";
+	protected final String TEXT_100 = ".get(literal);" + NL
+			+ "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + literal + \"' is not a valid enumerator of '\" + ";
+	protected final String TEXT_101 = ".getName() + \"'\");";
+	protected final String TEXT_102 = NL + "\t\treturn result;";
+	protected final String TEXT_103 = NL + "\t\treturn new ";
+	protected final String TEXT_104 = "(create";
+	protected final String TEXT_105 = "(literal));";
+	protected final String TEXT_106 = NL + "\t\treturn create";
+	protected final String TEXT_107 = "(literal);";
+	protected final String TEXT_108 = NL + "\t\treturn new ";
+	protected final String TEXT_109 = "(";
+	protected final String TEXT_110 = ".create";
+	protected final String TEXT_111 = "(literal));";
+	protected final String TEXT_112 = NL + "\t\treturn ";
+	protected final String TEXT_113 = ".create";
+	protected final String TEXT_114 = "(literal);";
+	protected final String TEXT_115 = NL + "\t\treturn ";
+	protected final String TEXT_116 = "(";
+	protected final String TEXT_117 = ")";
+	protected final String TEXT_118 = ".createFromString(";
+	protected final String TEXT_119 = ", literal);";
+	protected final String TEXT_120 = NL + "\t\tif (literal == null) return null;" + NL + "\t\t";
+	protected final String TEXT_121 = " result = new ";
+	protected final String TEXT_122 = "<";
+	protected final String TEXT_123 = ">";
+	protected final String TEXT_124 = "();";
+	protected final String TEXT_125 = NL + "\t\tfor (";
+	protected final String TEXT_126 = " stringTokenizer = new ";
+	protected final String TEXT_127 = "(literal); stringTokenizer.hasMoreTokens(); )";
+	protected final String TEXT_128 = NL + "\t\tfor (String item : split(literal))";
+	protected final String TEXT_129 = NL + "\t\t{";
+	protected final String TEXT_130 = NL + "\t\t\tString item = stringTokenizer.nextToken();";
+	protected final String TEXT_131 = NL + "\t\t\tresult.add(create";
+	protected final String TEXT_132 = "(item));";
+	protected final String TEXT_133 = NL + "\t\t\tresult.add(create";
+	protected final String TEXT_134 = "FromString(";
+	protected final String TEXT_135 = ", item));";
+	protected final String TEXT_136 = NL + "\t\t\tresult.add(";
+	protected final String TEXT_137 = ".create";
+	protected final String TEXT_138 = "(item));";
+	protected final String TEXT_139 = NL + "\t\t\tresult.add(";
+	protected final String TEXT_140 = ".createFromString(";
+	protected final String TEXT_141 = ", item));";
+	protected final String TEXT_142 = NL + "\t\t}" + NL + "\t\treturn result;";
+	protected final String TEXT_143 = NL + "\t\tif (literal == null) return ";
+	protected final String TEXT_144 = ";" + NL + "\t\t";
+	protected final String TEXT_145 = " result = ";
+	protected final String TEXT_146 = ";" + NL + "\t\tRuntimeException exception = null;";
+	protected final String TEXT_147 = NL + "\t\ttry" + NL + "\t\t{";
+	protected final String TEXT_148 = NL + "\t\t\tresult = create";
+	protected final String TEXT_149 = "(literal);";
+	protected final String TEXT_150 = NL + "\t\t\tresult = (";
+	protected final String TEXT_151 = ")create";
+	protected final String TEXT_152 = "FromString(";
+	protected final String TEXT_153 = ", literal);";
+	protected final String TEXT_154 = NL + "\t\t\tresult = ";
+	protected final String TEXT_155 = ".create";
+	protected final String TEXT_156 = "(literal);";
+	protected final String TEXT_157 = NL + "\t\t\tresult = (";
+	protected final String TEXT_158 = ")";
+	protected final String TEXT_159 = ".createFromString(";
+	protected final String TEXT_160 = ", literal);";
+	protected final String TEXT_161 = NL + "\t\t\tif (";
+	protected final String TEXT_162 = "result != null && ";
+	protected final String TEXT_163 = ".INSTANCE.validate(";
+	protected final String TEXT_164 = ", ";
+	protected final String TEXT_165 = "new ";
+	protected final String TEXT_166 = "(result)";
+	protected final String TEXT_167 = "result";
+	protected final String TEXT_168 = ", null, null))" + NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}"
+			+ NL + "\t\t}" + NL + "\t\tcatch (RuntimeException e)" + NL + "\t\t{" + NL + "\t\t\texception = e;" + NL
+			+ "\t\t}";
+	protected final String TEXT_169 = NL + "\t\tif (";
+	protected final String TEXT_170 = "result != null || ";
+	protected final String TEXT_171 = "exception == null) return result;" + NL + "    " + NL + "\t\tthrow exception;";
+	protected final String TEXT_172 = NL + "\t\treturn (";
+	protected final String TEXT_173 = ")super.createFromString(literal);";
+	protected final String TEXT_174 = NL + "\t\t// TODO: implement this method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";
+	protected final String TEXT_175 = "();";
+	protected final String TEXT_176 = NL + "\t\treturn ((";
+	protected final String TEXT_177 = ")super.createFromString(";
+	protected final String TEXT_178 = ", literal)).";
+	protected final String TEXT_179 = "();";
+	protected final String TEXT_180 = NL + "\t\treturn ";
+	protected final String TEXT_181 = "(";
+	protected final String TEXT_182 = ")";
+	protected final String TEXT_183 = "super.createFromString(";
+	protected final String TEXT_184 = ", literal);";
+	protected final String TEXT_185 = NL + "\t}" + NL;
+	protected final String TEXT_186 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_187 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_188 = NL + "\tpublic ";
+	protected final String TEXT_189 = " create";
+	protected final String TEXT_190 = "FromString(";
+	protected final String TEXT_191 = " eDataType, String initialValue)" + NL + "\t{";
+	protected final String TEXT_192 = NL + "\t\treturn create";
+	protected final String TEXT_193 = "(initialValue);";
+	protected final String TEXT_194 = NL + "\t\t";
+	protected final String TEXT_195 = " result = ";
+	protected final String TEXT_196 = ".get(initialValue);" + NL
+			+ "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + initialValue + \"' is not a valid enumerator of '\" + eDataType.getName() + \"'\");";
+	protected final String TEXT_197 = NL + "\t\treturn result;";
+	protected final String TEXT_198 = NL + "\t\treturn ";
+	protected final String TEXT_199 = "(";
+	protected final String TEXT_200 = ")";
+	protected final String TEXT_201 = "create";
+	protected final String TEXT_202 = "FromString(";
+	protected final String TEXT_203 = ", initialValue);";
+	protected final String TEXT_204 = NL + "\t\treturn ";
+	protected final String TEXT_205 = "(";
+	protected final String TEXT_206 = ")";
+	protected final String TEXT_207 = ".createFromString(";
+	protected final String TEXT_208 = ", initialValue);";
+	protected final String TEXT_209 = NL + "\t\treturn create";
+	protected final String TEXT_210 = "(initialValue);";
+	protected final String TEXT_211 = NL + "\t\tif (initialValue == null) return null;" + NL + "\t\t";
+	protected final String TEXT_212 = " result = new ";
+	protected final String TEXT_213 = "<";
+	protected final String TEXT_214 = ">";
+	protected final String TEXT_215 = "();";
+	protected final String TEXT_216 = NL + "\t\tfor (";
+	protected final String TEXT_217 = " stringTokenizer = new ";
+	protected final String TEXT_218 = "(initialValue); stringTokenizer.hasMoreTokens(); )";
+	protected final String TEXT_219 = NL + "\t\tfor (String item : split(initialValue))";
+	protected final String TEXT_220 = NL + "\t\t{";
+	protected final String TEXT_221 = NL + "\t\t\tString item = stringTokenizer.nextToken();";
+	protected final String TEXT_222 = NL + "\t\t\tresult.add(create";
+	protected final String TEXT_223 = "FromString(";
+	protected final String TEXT_224 = ", item));";
+	protected final String TEXT_225 = NL + "\t\t\tresult.add(";
+	protected final String TEXT_226 = "(";
+	protected final String TEXT_227 = ")";
+	protected final String TEXT_228 = ".createFromString(";
+	protected final String TEXT_229 = ", item));";
+	protected final String TEXT_230 = NL + "\t\t}" + NL + "\t\treturn result;";
+	protected final String TEXT_231 = NL + "\t\treturn new ";
+	protected final String TEXT_232 = "(create";
+	protected final String TEXT_233 = "(initialValue));";
+	protected final String TEXT_234 = NL + "\t\treturn create";
+	protected final String TEXT_235 = "(initialValue);";
+	protected final String TEXT_236 = NL + "\t\tif (initialValue == null) return null;" + NL + "\t\t";
+	protected final String TEXT_237 = " result = null;" + NL + "\t\tRuntimeException exception = null;";
+	protected final String TEXT_238 = NL + "\t\ttry" + NL + "\t\t{";
+	protected final String TEXT_239 = NL + "\t\t\tresult = ";
+	protected final String TEXT_240 = "(";
+	protected final String TEXT_241 = ")";
+	protected final String TEXT_242 = "create";
+	protected final String TEXT_243 = "FromString(";
+	protected final String TEXT_244 = ", initialValue);";
+	protected final String TEXT_245 = NL + "\t\t\tresult = ";
+	protected final String TEXT_246 = "(";
+	protected final String TEXT_247 = ")";
+	protected final String TEXT_248 = ".createFromString(";
+	protected final String TEXT_249 = ", initialValue);";
+	protected final String TEXT_250 = NL + "\t\t\tif (result != null && ";
+	protected final String TEXT_251 = ".INSTANCE.validate(eDataType, result, null, null))" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (RuntimeException e)" + NL
+			+ "\t\t{" + NL + "\t\t\texception = e;" + NL + "\t\t}";
+	protected final String TEXT_252 = NL + "\t\tif (result != null || exception == null) return result;" + NL + "    "
+			+ NL + "\t\tthrow exception;";
+	protected final String TEXT_253 = NL + "\t\treturn create";
+	protected final String TEXT_254 = "(initialValue);";
+	protected final String TEXT_255 = NL + "\t\treturn ";
+	protected final String TEXT_256 = "(";
+	protected final String TEXT_257 = ")";
+	protected final String TEXT_258 = "super.createFromString(initialValue);";
+	protected final String TEXT_259 = NL + "\t\t// TODO: implement this method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";
+	protected final String TEXT_260 = "();";
+	protected final String TEXT_261 = NL + "\t\treturn ";
+	protected final String TEXT_262 = "(";
+	protected final String TEXT_263 = ")";
+	protected final String TEXT_264 = "super.createFromString(eDataType, initialValue);";
+	protected final String TEXT_265 = NL + "\t}" + NL;
+	protected final String TEXT_266 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic String convert";
+	protected final String TEXT_267 = "(";
+	protected final String TEXT_268 = "final ";
+	protected final String TEXT_269 = " ";
+	protected final String TEXT_270 = "it";
+	protected final String TEXT_271 = "instanceValue";
+	protected final String TEXT_272 = ")" + NL + "\t{";
+	protected final String TEXT_273 = NL + "\t\t";
+	protected final String TEXT_274 = NL + "\t\treturn instanceValue == null ? null : instanceValue.toString();";
+	protected final String TEXT_275 = NL + "\t\treturn instanceValue == null ? null : convert";
+	protected final String TEXT_276 = "(instanceValue";
+	protected final String TEXT_277 = ".";
+	protected final String TEXT_278 = "()";
+	protected final String TEXT_279 = ");";
+	protected final String TEXT_280 = NL + "\t\treturn convert";
+	protected final String TEXT_281 = "(instanceValue);";
+	protected final String TEXT_282 = NL + "\t\treturn ";
+	protected final String TEXT_283 = ".convert";
+	protected final String TEXT_284 = "(instanceValue);";
+	protected final String TEXT_285 = NL + "\t\treturn ";
+	protected final String TEXT_286 = ".convertToString(";
+	protected final String TEXT_287 = ", instanceValue);";
+	protected final String TEXT_288 = NL + "\t\tif (instanceValue == null) return null;" + NL
+			+ "\t\tif (instanceValue.isEmpty()) return \"\";" + NL + "\t\t";
+	protected final String TEXT_289 = " result = new ";
+	protected final String TEXT_290 = "();";
+	protected final String TEXT_291 = NL + "\t\tfor (";
+	protected final String TEXT_292 = " i = instanceValue.iterator(); i.hasNext(); )";
+	protected final String TEXT_293 = NL + "\t\tfor (";
+	protected final String TEXT_294 = " item : instanceValue)";
+	protected final String TEXT_295 = NL + "\t\t{";
+	protected final String TEXT_296 = NL + "\t\t\tresult.append(convert";
+	protected final String TEXT_297 = "((";
+	protected final String TEXT_298 = ")";
+	protected final String TEXT_299 = "));";
+	protected final String TEXT_300 = NL + "\t\t\tresult.append(convert";
+	protected final String TEXT_301 = "ToString(";
+	protected final String TEXT_302 = ", ";
+	protected final String TEXT_303 = "));";
+	protected final String TEXT_304 = NL + "\t\t\tresult.append(";
+	protected final String TEXT_305 = ".convert";
+	protected final String TEXT_306 = "((";
+	protected final String TEXT_307 = ")";
+	protected final String TEXT_308 = "));";
+	protected final String TEXT_309 = NL + "\t\t\tresult.append(";
+	protected final String TEXT_310 = ".convertToString(";
+	protected final String TEXT_311 = ", ";
+	protected final String TEXT_312 = "));";
+	protected final String TEXT_313 = NL + "\t\t\tresult.append(' ');" + NL + "\t\t}" + NL
+			+ "\t\treturn result.substring(0, result.length() - 1);";
+	protected final String TEXT_314 = NL + "\t\tif (instanceValue == null) return null;";
+	protected final String TEXT_315 = NL + "\t\tif (";
+	protected final String TEXT_316 = ".isInstance(instanceValue))" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{";
+	protected final String TEXT_317 = NL + "\t\t\t\tString value = convert";
+	protected final String TEXT_318 = "(instanceValue);";
+	protected final String TEXT_319 = NL + "\t\t\t\tString value = convert";
+	protected final String TEXT_320 = "(((";
+	protected final String TEXT_321 = ")instanceValue).";
+	protected final String TEXT_322 = "());";
+	protected final String TEXT_323 = NL + "\t\t\t\tString value = convert";
+	protected final String TEXT_324 = "((";
+	protected final String TEXT_325 = ")instanceValue);";
+	protected final String TEXT_326 = NL + "\t\t\t\tString value = convert";
+	protected final String TEXT_327 = "ToString(";
+	protected final String TEXT_328 = ", instanceValue);";
+	protected final String TEXT_329 = NL + "\t\t\t\tString value = ";
+	protected final String TEXT_330 = ".convert";
+	protected final String TEXT_331 = "((";
+	protected final String TEXT_332 = ")instanceValue);";
+	protected final String TEXT_333 = NL + "\t\t\t\tString value = ";
+	protected final String TEXT_334 = ".convertToString(";
+	protected final String TEXT_335 = ", instanceValue);";
+	protected final String TEXT_336 = NL + "\t\t\t\tif (value != null) return value;" + NL + "\t\t\t}" + NL
+			+ "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_337 = NL + "\t\ttry" + NL + "\t\t{";
+	protected final String TEXT_338 = NL + "\t\t\tString value = convert";
+	protected final String TEXT_339 = "(instanceValue);";
+	protected final String TEXT_340 = NL + "\t\t\tString value = convert";
+	protected final String TEXT_341 = "ToString(";
+	protected final String TEXT_342 = ", ";
+	protected final String TEXT_343 = "new ";
+	protected final String TEXT_344 = "(instanceValue)";
+	protected final String TEXT_345 = "instanceValue";
+	protected final String TEXT_346 = ");";
+	protected final String TEXT_347 = NL + "\t\t\tString value = ";
+	protected final String TEXT_348 = ".convert";
+	protected final String TEXT_349 = "(instanceValue);";
+	protected final String TEXT_350 = NL + "\t\t\tString value = ";
+	protected final String TEXT_351 = ".convertToString(";
+	protected final String TEXT_352 = ", ";
+	protected final String TEXT_353 = "new ";
+	protected final String TEXT_354 = "(instanceValue)";
+	protected final String TEXT_355 = "instanceValue";
+	protected final String TEXT_356 = ");";
+	protected final String TEXT_357 = NL + "\t\t\tif (value != null) return value;" + NL + "\t\t}" + NL
+			+ "\t\tcatch (Exception e)" + NL + "\t\t{" + NL
+			+ "\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t}";
+	protected final String TEXT_358 = NL
+			+ "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+";
+	protected final String TEXT_359 = ".getName());";
+	protected final String TEXT_360 = NL + "\t\treturn super.convertToString(instanceValue);";
+	protected final String TEXT_361 = NL + "\t\t// TODO: implement this method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";
+	protected final String TEXT_362 = "();";
+	protected final String TEXT_363 = NL + "\t\treturn super.convertToString(";
+	protected final String TEXT_364 = ", new ";
+	protected final String TEXT_365 = "(instanceValue));";
+	protected final String TEXT_366 = NL + "\t\treturn super.convertToString(";
+	protected final String TEXT_367 = ", instanceValue);";
+	protected final String TEXT_368 = NL + "\t}" + NL;
+	protected final String TEXT_369 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_370 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_371 = NL + "\tpublic String convert";
+	protected final String TEXT_372 = "ToString(";
+	protected final String TEXT_373 = " eDataType, Object instanceValue)" + NL + "\t{";
+	protected final String TEXT_374 = NL + "\t\treturn convert";
+	protected final String TEXT_375 = "((";
+	protected final String TEXT_376 = ")instanceValue);";
+	protected final String TEXT_377 = NL + "\t\treturn instanceValue == null ? null : instanceValue.toString();";
+	protected final String TEXT_378 = NL + "\t\treturn convert";
+	protected final String TEXT_379 = "ToString(";
+	protected final String TEXT_380 = ", instanceValue);";
+	protected final String TEXT_381 = NL + "\t\treturn ";
+	protected final String TEXT_382 = ".convertToString(";
+	protected final String TEXT_383 = ", instanceValue);";
+	protected final String TEXT_384 = NL + "\t\treturn convert";
+	protected final String TEXT_385 = "((";
+	protected final String TEXT_386 = ")instanceValue);";
+	protected final String TEXT_387 = NL + "\t\tif (instanceValue == null) return null;" + NL + "\t\t";
+	protected final String TEXT_388 = " list = (";
+	protected final String TEXT_389 = ")instanceValue;" + NL + "\t\tif (list.isEmpty()) return \"\";" + NL + "\t\t";
+	protected final String TEXT_390 = " result = new ";
+	protected final String TEXT_391 = "();";
+	protected final String TEXT_392 = NL + "\t\tfor (";
+	protected final String TEXT_393 = " i = list.iterator(); i.hasNext(); )";
+	protected final String TEXT_394 = NL + "\t\tfor (";
+	protected final String TEXT_395 = " item : list)";
+	protected final String TEXT_396 = NL + "\t\t{";
+	protected final String TEXT_397 = NL + "\t\t\tresult.append(convert";
+	protected final String TEXT_398 = "ToString(";
+	protected final String TEXT_399 = ", ";
+	protected final String TEXT_400 = "));";
+	protected final String TEXT_401 = NL + "\t\t\tresult.append(";
+	protected final String TEXT_402 = ".convertToString(";
+	protected final String TEXT_403 = ", ";
+	protected final String TEXT_404 = "));";
+	protected final String TEXT_405 = NL + "\t\t\tresult.append(' ');" + NL + "\t\t}" + NL
+			+ "\t\treturn result.substring(0, result.length() - 1);";
+	protected final String TEXT_406 = NL + "\t\treturn instanceValue == null ? null : convert";
+	protected final String TEXT_407 = "(((";
+	protected final String TEXT_408 = ")instanceValue)";
+	protected final String TEXT_409 = ".";
+	protected final String TEXT_410 = "()";
+	protected final String TEXT_411 = ");";
+	protected final String TEXT_412 = NL + "\t\treturn convert";
+	protected final String TEXT_413 = "(instanceValue);";
+	protected final String TEXT_414 = NL + "\t\tif (instanceValue == null) return null;";
+	protected final String TEXT_415 = NL + "\t\tif (";
+	protected final String TEXT_416 = ".isInstance(instanceValue))" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{";
+	protected final String TEXT_417 = NL + "\t\t\t\tString value = convert";
+	protected final String TEXT_418 = "ToString(";
+	protected final String TEXT_419 = ", instanceValue);";
+	protected final String TEXT_420 = NL + "\t\t\t\tString value = ";
+	protected final String TEXT_421 = ".convertToString(";
+	protected final String TEXT_422 = ", instanceValue);";
+	protected final String TEXT_423 = NL + "\t\t\t\tif (value != null) return value;" + NL + "\t\t\t}" + NL
+			+ "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_424 = NL
+			+ "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+eDataType.getName());";
+	protected final String TEXT_425 = NL + "\t\treturn instanceValue == null ? null : convert";
+	protected final String TEXT_426 = "(";
+	protected final String TEXT_427 = "(";
+	protected final String TEXT_428 = "(";
+	protected final String TEXT_429 = ")instanceValue";
+	protected final String TEXT_430 = ").";
+	protected final String TEXT_431 = "()";
+	protected final String TEXT_432 = ");";
+	protected final String TEXT_433 = NL + "\t\treturn convert";
+	protected final String TEXT_434 = "((";
+	protected final String TEXT_435 = ")instanceValue);";
+	protected final String TEXT_436 = NL + "\t\treturn super.convertToString(instanceValue);";
+	protected final String TEXT_437 = NL + "\t\t// TODO: implement this method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";
+	protected final String TEXT_438 = "();";
+	protected final String TEXT_439 = NL + "\t\treturn super.convertToString(eDataType, instanceValue);";
+	protected final String TEXT_440 = NL + "\t}" + NL;
+	protected final String TEXT_441 = NL + "\t/**" + NL + "\t * Returns a new object of class '<em>";
+	protected final String TEXT_442 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return a new object of class '<em>";
+	protected final String TEXT_443 = "</em>'." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_444 = " create";
+	protected final String TEXT_445 = "();" + NL;
+	protected final String TEXT_446 = NL + "\t/**" + NL + "\t * Returns an instance of data type '<em>";
+	protected final String TEXT_447 = "</em>' corresponding the given literal." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param literal a literal of the data type." + NL
+			+ "\t * @return a new instance value of the data type." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_448 = " create";
+	protected final String TEXT_449 = "(String literal);" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Returns a literal representation of an instance of data type '<em>";
+	protected final String TEXT_450 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @param instanceValue an instance value of the data type." + NL
+			+ "\t * @return a literal representation of the instance value." + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tString convert";
+	protected final String TEXT_451 = "(";
+	protected final String TEXT_452 = " instanceValue);" + NL;
+	protected final String TEXT_453 = NL + "\t/**" + NL + "\t * Returns the package supported by this factory." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the package supported by this factory." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_454 = " get";
+	protected final String TEXT_455 = "();" + NL;
+	protected final String TEXT_456 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_457 = " get";
+	protected final String TEXT_458 = "()" + NL + "\t{" + NL + "\t\treturn (";
+	protected final String TEXT_459 = ")getEPackage();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @deprecated" + NL
+			+ "\t * @generated" + NL + "\t */";
+	protected final String TEXT_460 = NL + "\t@Deprecated";
+	protected final String TEXT_461 = NL + "\tpublic static ";
+	protected final String TEXT_462 = " getPackage()" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_463 = ".eINSTANCE;" + NL + "\t}" + NL;
+	protected final String TEXT_464 = NL + "} //";
+	protected final String TEXT_465 = NL;
+	protected final String TEXT_466 = NL;
+	protected final String TEXT_467 = NL;
+
+	public FactoryClass() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_466);
+		stringBuffer.append(TEXT_467);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getModelDirectory();
+		packageName = genPackage.getReflectionClassPackageName();
+		className = genPackage.getFactoryClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = ((Object[]) new Object[] { new Object[] { genPackage,
+				genPackage.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE, Boolean.TRUE } })[0];
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2010 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];
+		GenModel genModel = genPackage.getGenModel();
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
+		boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
+		String publicStaticFinalFlag = isImplementation ? "public static final " : "";
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		if (isInterface || genModel.isSuppressInterfaces()) {
+			stringBuffer.append(TEXT_2);
+			stringBuffer.append(genPackage.getReflectionPackageName());
+			stringBuffer.append(TEXT_3);
+		} else {
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(genPackage.getClassPackageName());
+			stringBuffer.append(TEXT_5);
+		}
+		stringBuffer.append(TEXT_6);
+		if (isImplementation) {
+			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");
+			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");
+			genModel.addImport("org.eclipse.emf.ecore.EClass");
+			genModel.addImport("org.eclipse.emf.ecore.EObject");
+			if (!genPackage.hasJavaLangConflict() && !genPackage.hasInterfaceImplConflict()
+					&& !genPackage.getClassPackageName().equals(genPackage.getInterfacePackageName()))
+				genModel.addImport(genPackage.getInterfacePackageName() + ".*");
+		}
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_7);
+		if (isInterface) {
+			stringBuffer.append(TEXT_8);
+			if (!genModel.isSuppressEMFMetaData()) {
+				stringBuffer.append(TEXT_9);
+				stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+			}
+			stringBuffer.append(TEXT_10);
+		} else {
+			stringBuffer.append(TEXT_11);
+		}
+		if (isImplementation) {
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genPackage.getFactoryClassName());
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EFactoryImpl"));
+			if (!genModel.isSuppressInterfaces()) {
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
+			}
+		} else {
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genPackage.getFactoryInterfaceName());
+			if (!genModel.isSuppressEMFMetaData()) {
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EFactory"));
+			}
+		}
+		stringBuffer.append(TEXT_17);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_21);
+		}
+		if (isImplementation && (genModel.isSuppressEMFMetaData() || genModel.isSuppressInterfaces())) {
+			stringBuffer.append(TEXT_22);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genPackage.getFactoryClassName());
+			stringBuffer.append(TEXT_23);
+		}
+		if (isInterface && genModel.isSuppressEMFMetaData()) {
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genPackage.getFactoryInterfaceName());
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genPackage.getQualifiedFactoryClassName());
+			stringBuffer.append(TEXT_26);
+		} else if (isInterface && !genModel.isSuppressInterfaces()) {
+			stringBuffer.append(TEXT_27);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genPackage.getFactoryInterfaceName());
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(genPackage.getQualifiedFactoryClassName());
+			stringBuffer.append(TEXT_29);
+		}
+		if (isImplementation) {
+			stringBuffer.append(TEXT_30);
+			String factoryType = genModel.isSuppressEMFMetaData() ? genPackage.getFactoryClassName()
+					: genPackage.getImportedFactoryInterfaceName();
+			stringBuffer.append(TEXT_31);
+			stringBuffer.append(factoryType);
+			stringBuffer.append(TEXT_32);
+			stringBuffer.append(factoryType);
+			stringBuffer.append(TEXT_33);
+			stringBuffer.append(genPackage.getFactoryName());
+			stringBuffer.append(TEXT_34);
+			stringBuffer.append(factoryType);
+			stringBuffer.append(TEXT_35);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_36);
+			stringBuffer.append(genPackage.getPackageInterfaceName());
+			stringBuffer.append(TEXT_37);
+			stringBuffer.append(genPackage.getFactoryName());
+			stringBuffer.append(TEXT_38);
+			stringBuffer.append(genPackage.getFactoryName());
+			stringBuffer.append(TEXT_39);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+			stringBuffer.append(TEXT_40);
+			stringBuffer.append(genPackage.getImportedFactoryClassName());
+			stringBuffer.append(TEXT_41);
+			stringBuffer.append(genPackage.getFactoryClassName());
+			stringBuffer.append(TEXT_42);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_43);
+			}
+			stringBuffer.append(TEXT_44);
+			for (GenClass genClass : genPackage.getGenClasses()) {
+				if (!genClass.isAbstract()) {
+					stringBuffer.append(TEXT_45);
+					stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(genClass.getClassifierID());
+					stringBuffer.append(TEXT_47);
+					stringBuffer.append(!genClass.isEObjectExtension() ? "(EObject)" : "");
+					stringBuffer.append(TEXT_48);
+					stringBuffer.append(genClass.getName());
+					stringBuffer.append(TEXT_49);
+				}
+			}
+			stringBuffer.append(TEXT_50);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(genModel.getNonNLS(2));
+			stringBuffer.append(TEXT_51);
+			if (!genPackage.getAllGenDataTypes().isEmpty()) {
+				stringBuffer.append(TEXT_52);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_53);
+				}
+				stringBuffer.append(TEXT_54);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+				stringBuffer.append(TEXT_55);
+				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+					if (genDataType.isSerializable()) {
+						stringBuffer.append(TEXT_56);
+						stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+						stringBuffer.append(TEXT_57);
+						stringBuffer.append(genDataType.getClassifierID());
+						stringBuffer.append(TEXT_58);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_59);
+					}
+				}
+				stringBuffer.append(TEXT_60);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(genModel.getNonNLS(2));
+				stringBuffer.append(TEXT_61);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_62);
+				}
+				stringBuffer.append(TEXT_63);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+				stringBuffer.append(TEXT_64);
+				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+					if (genDataType.isSerializable()) {
+						stringBuffer.append(TEXT_65);
+						stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+						stringBuffer.append(TEXT_66);
+						stringBuffer.append(genDataType.getClassifierID());
+						stringBuffer.append(TEXT_67);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_68);
+					}
+				}
+				stringBuffer.append(TEXT_69);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(genModel.getNonNLS(2));
+				stringBuffer.append(TEXT_70);
+			}
+			for (GenClass genClass : genPackage.getGenClasses()) {
+				if (!genClass.isAbstract()) {
+					stringBuffer.append(TEXT_71);
+					stringBuffer.append(genClass.getTypeParameters());
+					stringBuffer.append(genClass.getImportedInterfaceName());
+					stringBuffer.append(genClass.getInterfaceTypeArguments());
+					stringBuffer.append(TEXT_72);
+					stringBuffer.append(genClass.getName());
+					stringBuffer.append(TEXT_73);
+					if (genClass.isDynamic()) {
+						stringBuffer.append(TEXT_74);
+						stringBuffer.append(genClass.getImportedInterfaceName());
+						stringBuffer.append(genClass.getInterfaceTypeArguments());
+						stringBuffer.append(TEXT_75);
+						stringBuffer.append(genClass.getSafeUncapName());
+						stringBuffer.append(TEXT_76);
+						stringBuffer.append(genClass.getCastFromEObject());
+						stringBuffer.append(TEXT_77);
+						stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+						stringBuffer.append(TEXT_78);
+					} else {
+						stringBuffer.append(TEXT_79);
+						stringBuffer.append(genClass.getImportedClassName());
+						stringBuffer.append(genClass.getClassTypeArguments());
+						stringBuffer.append(TEXT_80);
+						stringBuffer.append(genClass.getSafeUncapName());
+						stringBuffer.append(TEXT_81);
+						stringBuffer.append(genClass.getImportedClassName());
+						stringBuffer.append(genClass.getClassTypeArguments());
+						stringBuffer.append(TEXT_82);
+						if (genModel.isSuppressInterfaces() && !genPackage.getReflectionPackageName()
+								.equals(genPackage.getInterfacePackageName())) {
+							stringBuffer.append(TEXT_83);
+						}
+						stringBuffer.append(TEXT_84);
+					}
+					stringBuffer.append(TEXT_85);
+					stringBuffer.append(genClass.getSafeUncapName());
+					stringBuffer.append(TEXT_86);
+				}
+			}
+			for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+				if (genDataType.isSerializable()) {
+					if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+						String eDataType = genDataType.getQualifiedClassifierAccessor();
+						stringBuffer.append(TEXT_87);
+						if (genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_88);
+						}
+						stringBuffer.append(TEXT_89);
+						stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+						stringBuffer.append(TEXT_90);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_91);
+						if (genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_92);
+						}
+						stringBuffer.append(TEXT_93);
+						if (genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_94);
+						} else {
+							stringBuffer.append(TEXT_95);
+						}
+						stringBuffer.append(TEXT_96);
+						if (genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_97);
+							stringBuffer.append(genDataType.getCreatorBody(genModel.getIndentation(stringBuffer)));
+						} else if (genDataType instanceof GenEnum) {
+							stringBuffer.append(TEXT_98);
+							stringBuffer.append(genDataType.getImportedInstanceClassName());
+							stringBuffer.append(TEXT_99);
+							stringBuffer.append(genDataType.getImportedInstanceClassName());
+							stringBuffer.append(TEXT_100);
+							stringBuffer.append(eDataType);
+							stringBuffer.append(TEXT_101);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(genModel.getNonNLS(2));
+							stringBuffer.append(genModel.getNonNLS(3));
+							stringBuffer.append(TEXT_102);
+						} else if (genDataType.getBaseType() != null) {
+							GenDataType genBaseType = genDataType.getBaseType();
+							boolean isPrimitiveConversion = !genDataType.isPrimitiveType()
+									&& genBaseType.isPrimitiveType();
+							if (genBaseType.getGenPackage() == genPackage) {
+								if (isPrimitiveConversion
+										&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+									stringBuffer.append(TEXT_103);
+									stringBuffer.append(genDataType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_104);
+									stringBuffer.append(genBaseType.getName());
+									stringBuffer.append(TEXT_105);
+								} else {
+									stringBuffer.append(TEXT_106);
+									stringBuffer.append(genBaseType.getName());
+									stringBuffer.append(TEXT_107);
+								}
+							} else if (genBaseType.getGenPackage().isDataTypeConverters()) {
+								if (isPrimitiveConversion
+										&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+									stringBuffer.append(TEXT_108);
+									stringBuffer.append(genDataType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_109);
+									stringBuffer.append(
+											genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_110);
+									stringBuffer.append(genBaseType.getName());
+									stringBuffer.append(TEXT_111);
+								} else {
+									stringBuffer.append(TEXT_112);
+									stringBuffer.append(
+											genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_113);
+									stringBuffer.append(genBaseType.getName());
+									stringBuffer.append(TEXT_114);
+								}
+							} else {
+								stringBuffer.append(TEXT_115);
+								if (!genDataType.isObjectType()) {
+									stringBuffer.append(TEXT_116);
+									stringBuffer.append(genDataType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_117);
+								}
+								stringBuffer.append(
+										genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+								stringBuffer.append(TEXT_118);
+								stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_119);
+							}
+						} else if (genDataType.getItemType() != null) {
+							GenDataType genItemType = genDataType.getItemType();
+							stringBuffer.append(TEXT_120);
+							stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+							stringBuffer.append(TEXT_121);
+							stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));
+							if (genModel.useGenerics()) {
+								stringBuffer.append(TEXT_122);
+								stringBuffer.append(
+										genItemType.getObjectType().getImportedParameterizedInstanceClassName());
+								stringBuffer.append(TEXT_123);
+							}
+							stringBuffer.append(TEXT_124);
+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+								stringBuffer.append(TEXT_125);
+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+								stringBuffer.append(TEXT_126);
+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+								stringBuffer.append(TEXT_127);
+							} else {
+								stringBuffer.append(TEXT_128);
+							}
+							stringBuffer.append(TEXT_129);
+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+								stringBuffer.append(TEXT_130);
+							}
+							if (genItemType.getGenPackage() == genPackage) {
+								if (genPackage.isDataTypeConverters()) {
+									genItemType = genItemType.getObjectType();
+									stringBuffer.append(TEXT_131);
+									stringBuffer.append(genItemType.getName());
+									stringBuffer.append(TEXT_132);
+								} else {
+									stringBuffer.append(TEXT_133);
+									stringBuffer.append(genItemType.getName());
+									stringBuffer.append(TEXT_134);
+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_135);
+								}
+							} else {
+								if (genItemType.getGenPackage().isDataTypeConverters()) {
+									genItemType = genItemType.getObjectType();
+									stringBuffer.append(TEXT_136);
+									stringBuffer.append(
+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_137);
+									stringBuffer.append(genItemType.getName());
+									stringBuffer.append(TEXT_138);
+								} else {
+									stringBuffer.append(TEXT_139);
+									stringBuffer.append(
+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_140);
+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_141);
+								}
+							}
+							stringBuffer.append(TEXT_142);
+						} else if (!genDataType.getMemberTypes().isEmpty()) {
+							stringBuffer.append(TEXT_143);
+							stringBuffer.append(genDataType.getStaticValue(null));
+							stringBuffer.append(TEXT_144);
+							stringBuffer.append(genDataType.getImportedInstanceClassName());
+							stringBuffer.append(TEXT_145);
+							stringBuffer.append(genDataType.getStaticValue(null));
+							stringBuffer.append(TEXT_146);
+							for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+								stringBuffer.append(TEXT_147);
+								if (genMemberType.getGenPackage() == genPackage) {
+									if (genPackage.isDataTypeConverters()) {
+										if (!genDataType.isPrimitiveType())
+											genMemberType = genMemberType.getObjectType();
+										stringBuffer.append(TEXT_148);
+										stringBuffer.append(genMemberType.getName());
+										stringBuffer.append(TEXT_149);
+									} else {
+										stringBuffer.append(TEXT_150);
+										stringBuffer.append(genDataType.getObjectInstanceClassName());
+										stringBuffer.append(TEXT_151);
+										stringBuffer.append(genMemberType.getName());
+										stringBuffer.append(TEXT_152);
+										stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+										stringBuffer.append(TEXT_153);
+									}
+								} else {
+									if (genPackage.isDataTypeConverters()) {
+										if (!genDataType.isPrimitiveType())
+											genMemberType = genMemberType.getObjectType();
+										stringBuffer.append(TEXT_154);
+										stringBuffer.append(genMemberType.getGenPackage()
+												.getQualifiedEFactoryInternalInstanceAccessor());
+										stringBuffer.append(TEXT_155);
+										stringBuffer.append(genMemberType.getName());
+										stringBuffer.append(TEXT_156);
+									} else {
+										stringBuffer.append(TEXT_157);
+										stringBuffer.append(genDataType.getObjectInstanceClassName());
+										stringBuffer.append(TEXT_158);
+										stringBuffer.append(genMemberType.getGenPackage()
+												.getQualifiedEFactoryInternalInstanceAccessor());
+										stringBuffer.append(TEXT_159);
+										stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+										stringBuffer.append(TEXT_160);
+									}
+								}
+								stringBuffer.append(TEXT_161);
+								if (!genDataType.isPrimitiveType()) {
+									stringBuffer.append(TEXT_162);
+								}
+								stringBuffer
+										.append(genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));
+								stringBuffer.append(TEXT_163);
+								stringBuffer.append(eDataType);
+								stringBuffer.append(TEXT_164);
+								if (genDataType.isPrimitiveType()
+										&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+									stringBuffer.append(TEXT_165);
+									stringBuffer.append(genDataType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_166);
+								} else {
+									stringBuffer.append(TEXT_167);
+								}
+								stringBuffer.append(TEXT_168);
+							}
+							stringBuffer.append(TEXT_169);
+							if (!genDataType.isPrimitiveType()) {
+								stringBuffer.append(TEXT_170);
+							}
+							stringBuffer.append(TEXT_171);
+						} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+								&& (genDataType.isArrayType()
+										|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+										|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+							stringBuffer.append(TEXT_172);
+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+							stringBuffer.append(TEXT_173);
+						} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+							stringBuffer.append(TEXT_174);
+							stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+							stringBuffer.append(TEXT_175);
+						} else if (genDataType.isPrimitiveType()
+								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+							stringBuffer.append(TEXT_176);
+							stringBuffer.append(genDataType.getObjectInstanceClassName());
+							stringBuffer.append(TEXT_177);
+							stringBuffer.append(eDataType);
+							stringBuffer.append(TEXT_178);
+							stringBuffer.append(genDataType.getPrimitiveValueFunction());
+							stringBuffer.append(TEXT_179);
+						} else {
+							stringBuffer.append(TEXT_180);
+							if (!genDataType.isObjectType()) {
+								stringBuffer.append(TEXT_181);
+								stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+								stringBuffer.append(TEXT_182);
+							}
+							stringBuffer.append(TEXT_183);
+							stringBuffer.append(eDataType);
+							stringBuffer.append(TEXT_184);
+						}
+						stringBuffer.append(TEXT_185);
+					}
+					stringBuffer.append(TEXT_186);
+					if (!genPackage.isDataTypeConverters() && genModel.useGenerics() && genDataType.isUncheckedCast()
+							&& !genDataType.hasCreatorBody()) {
+						stringBuffer.append(TEXT_187);
+					}
+					stringBuffer.append(TEXT_188);
+					stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+					stringBuffer.append(TEXT_189);
+					stringBuffer.append(genDataType.getName());
+					stringBuffer.append(TEXT_190);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+					stringBuffer.append(TEXT_191);
+					if (genDataType instanceof GenEnum) {
+						if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_192);
+							stringBuffer.append(genDataType.getName());
+							stringBuffer.append(TEXT_193);
+						} else {
+							stringBuffer.append(TEXT_194);
+							stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());
+							stringBuffer.append(TEXT_195);
+							stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());
+							stringBuffer.append(TEXT_196);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(genModel.getNonNLS(2));
+							stringBuffer.append(genModel.getNonNLS(3));
+							stringBuffer.append(TEXT_197);
+						}
+					} else if (genDataType.getBaseType() != null) {
+						GenDataType genBaseType = genDataType.getBaseType();
+						if (genBaseType.getGenPackage() == genPackage) {
+							stringBuffer.append(TEXT_198);
+							if (!genDataType.getObjectInstanceClassName()
+									.equals(genBaseType.getObjectInstanceClassName())) {
+								stringBuffer.append(TEXT_199);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_200);
+							}
+							stringBuffer.append(TEXT_201);
+							stringBuffer.append(genBaseType.getName());
+							stringBuffer.append(TEXT_202);
+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_203);
+						} else {
+							stringBuffer.append(TEXT_204);
+							if (!genDataType.isObjectType()) {
+								stringBuffer.append(TEXT_205);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_206);
+							}
+							stringBuffer
+									.append(genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+							stringBuffer.append(TEXT_207);
+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_208);
+						}
+					} else if (genDataType.getItemType() != null) {
+						GenDataType genItemType = genDataType.getItemType();
+						if (genPackage.isDataTypeConverters()) {
+							stringBuffer.append(TEXT_209);
+							stringBuffer.append(genDataType.getName());
+							stringBuffer.append(TEXT_210);
+						} else {
+							stringBuffer.append(TEXT_211);
+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+							stringBuffer.append(TEXT_212);
+							stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));
+							if (genModel.useGenerics()) {
+								stringBuffer.append(TEXT_213);
+								stringBuffer.append(
+										genItemType.getObjectType().getImportedParameterizedInstanceClassName());
+								stringBuffer.append(TEXT_214);
+							}
+							stringBuffer.append(TEXT_215);
+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+								stringBuffer.append(TEXT_216);
+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+								stringBuffer.append(TEXT_217);
+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+								stringBuffer.append(TEXT_218);
+							} else {
+								stringBuffer.append(TEXT_219);
+							}
+							stringBuffer.append(TEXT_220);
+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+								stringBuffer.append(TEXT_221);
+							}
+							if (genItemType.getGenPackage() == genPackage) {
+								stringBuffer.append(TEXT_222);
+								stringBuffer.append(genItemType.getName());
+								stringBuffer.append(TEXT_223);
+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_224);
+							} else {
+								stringBuffer.append(TEXT_225);
+								if (!genItemType.isObjectType()) {
+									stringBuffer.append(TEXT_226);
+									stringBuffer.append(genItemType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_227);
+								}
+								stringBuffer.append(
+										genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+								stringBuffer.append(TEXT_228);
+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_229);
+							}
+							stringBuffer.append(TEXT_230);
+						}
+					} else if (!genDataType.getMemberTypes().isEmpty()) {
+						if (genPackage.isDataTypeConverters()) {
+							if (genDataType.isPrimitiveType()
+									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_231);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_232);
+								stringBuffer.append(genDataType.getName());
+								stringBuffer.append(TEXT_233);
+							} else {
+								stringBuffer.append(TEXT_234);
+								stringBuffer.append(genDataType.getName());
+								stringBuffer.append(TEXT_235);
+							}
+						} else {
+							stringBuffer.append(TEXT_236);
+							stringBuffer.append(genDataType.getObjectInstanceClassName());
+							stringBuffer.append(TEXT_237);
+							for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+								stringBuffer.append(TEXT_238);
+								if (genMemberType.getGenPackage() == genPackage) {
+									stringBuffer.append(TEXT_239);
+									if (!genDataType.isObjectType() && !genDataType.getObjectInstanceClassName()
+											.equals(genMemberType.getObjectInstanceClassName())) {
+										stringBuffer.append(TEXT_240);
+										stringBuffer.append(genDataType.getObjectInstanceClassName());
+										stringBuffer.append(TEXT_241);
+									}
+									stringBuffer.append(TEXT_242);
+									stringBuffer.append(genMemberType.getName());
+									stringBuffer.append(TEXT_243);
+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_244);
+								} else {
+									stringBuffer.append(TEXT_245);
+									if (!genDataType.isObjectType()) {
+										stringBuffer.append(TEXT_246);
+										stringBuffer.append(genDataType.getObjectInstanceClassName());
+										stringBuffer.append(TEXT_247);
+									}
+									stringBuffer.append(genMemberType.getGenPackage()
+											.getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_248);
+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_249);
+								}
+								stringBuffer.append(TEXT_250);
+								stringBuffer
+										.append(genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));
+								stringBuffer.append(TEXT_251);
+							}
+							stringBuffer.append(TEXT_252);
+						}
+					} else if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+						stringBuffer.append(TEXT_253);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_254);
+					} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+							&& (genDataType.isArrayType()
+									|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+									|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+						stringBuffer.append(TEXT_255);
+						if (!genDataType.isObjectType()) {
+							stringBuffer.append(TEXT_256);
+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+							stringBuffer.append(TEXT_257);
+						}
+						stringBuffer.append(TEXT_258);
+					} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+						stringBuffer.append(TEXT_259);
+						stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+						stringBuffer.append(TEXT_260);
+					} else {
+						stringBuffer.append(TEXT_261);
+						if (!genDataType.isObjectType()) {
+							stringBuffer.append(TEXT_262);
+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+							stringBuffer.append(TEXT_263);
+						}
+						stringBuffer.append(TEXT_264);
+					}
+					stringBuffer.append(TEXT_265);
+					if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+						String eDataType = genDataType.getQualifiedClassifierAccessor();
+						stringBuffer.append(TEXT_266);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_267);
+						if (genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_268);
+						}
+						stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+						stringBuffer.append(TEXT_269);
+						if (genDataType.hasConverterBody()) {
+							stringBuffer.append(TEXT_270);
+						} else {
+							stringBuffer.append(TEXT_271);
+						}
+						stringBuffer.append(TEXT_272);
+						if (genDataType.hasConverterBody()) {
+							stringBuffer.append(TEXT_273);
+							stringBuffer.append(genDataType.getConverterBody(genModel.getIndentation(stringBuffer)));
+						} else if (genDataType instanceof GenEnum) {
+							stringBuffer.append(TEXT_274);
+						} else if (genDataType.getBaseType() != null) {
+							GenDataType genBaseType = genDataType.getBaseType();
+							boolean isPrimitiveConversion = !genDataType.isPrimitiveType()
+									&& genBaseType.isPrimitiveType();
+							if (genBaseType.getGenPackage() == genPackage) {
+								if (isPrimitiveConversion) {
+									stringBuffer.append(TEXT_275);
+									stringBuffer.append(genBaseType.getName());
+									stringBuffer.append(TEXT_276);
+									if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+										stringBuffer.append(TEXT_277);
+										stringBuffer.append(genBaseType.getPrimitiveValueFunction());
+										stringBuffer.append(TEXT_278);
+									}
+									stringBuffer.append(TEXT_279);
+								} else {
+									stringBuffer.append(TEXT_280);
+									stringBuffer.append(genBaseType.getName());
+									stringBuffer.append(TEXT_281);
+								}
+							} else if (genBaseType.getGenPackage().isDataTypeConverters()) {
+								stringBuffer.append(TEXT_282);
+								stringBuffer.append(genBaseType.getGenPackage().getQualifiedFactoryInstanceAccessor());
+								stringBuffer.append(TEXT_283);
+								stringBuffer.append(genBaseType.getName());
+								stringBuffer.append(TEXT_284);
+							} else {
+								stringBuffer.append(TEXT_285);
+								stringBuffer.append(
+										genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+								stringBuffer.append(TEXT_286);
+								stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_287);
+							}
+						} else if (genDataType.getItemType() != null) {
+							GenDataType genItemType = genDataType.getItemType();
+							stringBuffer.append(TEXT_288);
+							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));
+							stringBuffer.append(TEXT_289);
+							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));
+							stringBuffer.append(TEXT_290);
+							String item;
+							if (!genModel.useGenerics()) {
+								item = "i.next()";
+								stringBuffer.append(TEXT_291);
+								stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+								stringBuffer.append(TEXT_292);
+							} else {
+								item = "item";
+								stringBuffer.append(TEXT_293);
+								stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+								stringBuffer.append(TEXT_294);
+							}
+							stringBuffer.append(TEXT_295);
+							if (genItemType.getGenPackage() == genPackage) {
+								if (genPackage.isDataTypeConverters()) {
+									genItemType = genItemType.getObjectType();
+									stringBuffer.append(TEXT_296);
+									stringBuffer.append(genItemType.getName());
+									stringBuffer.append(TEXT_297);
+									stringBuffer.append(genItemType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_298);
+									stringBuffer.append(item);
+									stringBuffer.append(TEXT_299);
+								} else {
+									stringBuffer.append(TEXT_300);
+									stringBuffer.append(genItemType.getName());
+									stringBuffer.append(TEXT_301);
+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_302);
+									stringBuffer.append(item);
+									stringBuffer.append(TEXT_303);
+								}
+							} else {
+								if (genItemType.getGenPackage().isDataTypeConverters()) {
+									genItemType = genItemType.getObjectType();
+									stringBuffer.append(TEXT_304);
+									stringBuffer.append(
+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_305);
+									stringBuffer.append(genItemType.getName());
+									stringBuffer.append(TEXT_306);
+									stringBuffer.append(genItemType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_307);
+									stringBuffer.append(item);
+									stringBuffer.append(TEXT_308);
+								} else {
+									stringBuffer.append(TEXT_309);
+									stringBuffer.append(
+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_310);
+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_311);
+									stringBuffer.append(item);
+									stringBuffer.append(TEXT_312);
+								}
+							}
+							stringBuffer.append(TEXT_313);
+						} else if (!genDataType.getMemberTypes().isEmpty()) {
+							if (!genDataType.isPrimitiveType()) {
+								stringBuffer.append(TEXT_314);
+								for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+									stringBuffer.append(TEXT_315);
+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_316);
+									if (genMemberType.getGenPackage() == genPackage) {
+										if (genPackage.isDataTypeConverters()) {
+											if (genMemberType.getQualifiedInstanceClassName()
+													.equals(genDataType.getQualifiedInstanceClassName())) {
+												stringBuffer.append(TEXT_317);
+												stringBuffer.append(genMemberType.getName());
+												stringBuffer.append(TEXT_318);
+											} else if (genMemberType.isPrimitiveType()
+													&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+												stringBuffer.append(TEXT_319);
+												stringBuffer.append(genMemberType.getName());
+												stringBuffer.append(TEXT_320);
+												stringBuffer.append(
+														genMemberType.getObjectType().getImportedInstanceClassName());
+												stringBuffer.append(TEXT_321);
+												stringBuffer.append(genMemberType.getPrimitiveValueFunction());
+												stringBuffer.append(TEXT_322);
+											} else {
+												stringBuffer.append(TEXT_323);
+												stringBuffer.append(genMemberType.getName());
+												stringBuffer.append(TEXT_324);
+												stringBuffer.append(genMemberType.getObjectType()
+														.getImportedBoundedWildcardInstanceClassName());
+												stringBuffer.append(TEXT_325);
+											}
+										} else {
+											stringBuffer.append(TEXT_326);
+											stringBuffer.append(genMemberType.getName());
+											stringBuffer.append(TEXT_327);
+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+											stringBuffer.append(TEXT_328);
+										}
+									} else {
+										if (genMemberType.getGenPackage().isDataTypeConverters()) {
+											genMemberType = genMemberType.getObjectType();
+											stringBuffer.append(TEXT_329);
+											stringBuffer.append(genMemberType.getGenPackage()
+													.getQualifiedEFactoryInternalInstanceAccessor());
+											stringBuffer.append(TEXT_330);
+											stringBuffer.append(genMemberType.getName());
+											stringBuffer.append(TEXT_331);
+											stringBuffer.append(genMemberType.getObjectInstanceClassName());
+											stringBuffer.append(TEXT_332);
+										} else {
+											stringBuffer.append(TEXT_333);
+											stringBuffer.append(genMemberType.getGenPackage()
+													.getQualifiedEFactoryInternalInstanceAccessor());
+											stringBuffer.append(TEXT_334);
+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+											stringBuffer.append(TEXT_335);
+										}
+									}
+									stringBuffer.append(TEXT_336);
+								}
+							} else {
+								for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+									stringBuffer.append(TEXT_337);
+									if (genMemberType.getGenPackage() == genPackage) {
+										if (genPackage.isDataTypeConverters()) {
+											stringBuffer.append(TEXT_338);
+											stringBuffer.append(genMemberType.getName());
+											stringBuffer.append(TEXT_339);
+										} else {
+											stringBuffer.append(TEXT_340);
+											stringBuffer.append(genMemberType.getName());
+											stringBuffer.append(TEXT_341);
+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+											stringBuffer.append(TEXT_342);
+											if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+												stringBuffer.append(TEXT_343);
+												stringBuffer.append(genMemberType.getObjectInstanceClassName());
+												stringBuffer.append(TEXT_344);
+											} else {
+												stringBuffer.append(TEXT_345);
+											}
+											stringBuffer.append(TEXT_346);
+										}
+									} else {
+										if (genMemberType.getGenPackage().isDataTypeConverters()) {
+											stringBuffer.append(TEXT_347);
+											stringBuffer.append(genMemberType.getGenPackage()
+													.getQualifiedEFactoryInternalInstanceAccessor());
+											stringBuffer.append(TEXT_348);
+											stringBuffer.append(genMemberType.getName());
+											stringBuffer.append(TEXT_349);
+										} else {
+											stringBuffer.append(TEXT_350);
+											stringBuffer.append(genMemberType.getGenPackage()
+													.getQualifiedEFactoryInternalInstanceAccessor());
+											stringBuffer.append(TEXT_351);
+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+											stringBuffer.append(TEXT_352);
+											if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+												stringBuffer.append(TEXT_353);
+												stringBuffer.append(genMemberType.getObjectInstanceClassName());
+												stringBuffer.append(TEXT_354);
+											} else {
+												stringBuffer.append(TEXT_355);
+											}
+											stringBuffer.append(TEXT_356);
+										}
+									}
+									stringBuffer.append(TEXT_357);
+								}
+							}
+							stringBuffer.append(TEXT_358);
+							stringBuffer.append(eDataType);
+							stringBuffer.append(TEXT_359);
+						} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+								&& (genDataType.isArrayType()
+										|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+										|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+							stringBuffer.append(TEXT_360);
+						} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+							stringBuffer.append(TEXT_361);
+							stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+							stringBuffer.append(TEXT_362);
+						} else if (genDataType.isPrimitiveType()
+								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+							stringBuffer.append(TEXT_363);
+							stringBuffer.append(eDataType);
+							stringBuffer.append(TEXT_364);
+							stringBuffer.append(genDataType.getObjectInstanceClassName());
+							stringBuffer.append(TEXT_365);
+						} else {
+							stringBuffer.append(TEXT_366);
+							stringBuffer.append(eDataType);
+							stringBuffer.append(TEXT_367);
+						}
+						stringBuffer.append(TEXT_368);
+					}
+					stringBuffer.append(TEXT_369);
+					if (genModel.useGenerics() && (genDataType.getItemType() != null || genDataType.isUncheckedCast())
+							&& (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody())) {
+						stringBuffer.append(TEXT_370);
+					}
+					stringBuffer.append(TEXT_371);
+					stringBuffer.append(genDataType.getName());
+					stringBuffer.append(TEXT_372);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+					stringBuffer.append(TEXT_373);
+					if (genDataType instanceof GenEnum) {
+						if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+							stringBuffer.append(TEXT_374);
+							stringBuffer.append(genDataType.getName());
+							stringBuffer.append(TEXT_375);
+							stringBuffer.append(genDataType.getImportedInstanceClassName());
+							stringBuffer.append(TEXT_376);
+						} else {
+							stringBuffer.append(TEXT_377);
+						}
+					} else if (genDataType.getBaseType() != null) {
+						GenDataType genBaseType = genDataType.getBaseType();
+						if (genBaseType.getGenPackage() == genPackage) {
+							stringBuffer.append(TEXT_378);
+							stringBuffer.append(genBaseType.getName());
+							stringBuffer.append(TEXT_379);
+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_380);
+						} else {
+							stringBuffer.append(TEXT_381);
+							stringBuffer
+									.append(genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+							stringBuffer.append(TEXT_382);
+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_383);
+						}
+					} else if (genDataType.getItemType() != null) {
+						GenDataType genItemType = genDataType.getItemType();
+						if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_384);
+							stringBuffer.append(genDataType.getName());
+							stringBuffer.append(TEXT_385);
+							stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+							stringBuffer.append(TEXT_386);
+						} else {
+							final String singleWildcard = genModel.useGenerics() ? "<?>" : "";
+							stringBuffer.append(TEXT_387);
+							stringBuffer.append(genModel.getImportedName("java.util.List"));
+							stringBuffer.append(singleWildcard);
+							stringBuffer.append(TEXT_388);
+							stringBuffer.append(genModel.getImportedName("java.util.List"));
+							stringBuffer.append(singleWildcard);
+							stringBuffer.append(TEXT_389);
+							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));
+							stringBuffer.append(TEXT_390);
+							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));
+							stringBuffer.append(TEXT_391);
+							String item;
+							if (!genModel.useGenerics()) {
+								item = "i.next()";
+								stringBuffer.append(TEXT_392);
+								stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+								stringBuffer.append(TEXT_393);
+							} else {
+								item = "item";
+								stringBuffer.append(TEXT_394);
+								stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+								stringBuffer.append(TEXT_395);
+							}
+							stringBuffer.append(TEXT_396);
+							if (genItemType.getGenPackage() == genPackage) {
+								stringBuffer.append(TEXT_397);
+								stringBuffer.append(genItemType.getName());
+								stringBuffer.append(TEXT_398);
+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_399);
+								stringBuffer.append(item);
+								stringBuffer.append(TEXT_400);
+							} else {
+								stringBuffer.append(TEXT_401);
+								stringBuffer.append(
+										genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+								stringBuffer.append(TEXT_402);
+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_403);
+								stringBuffer.append(item);
+								stringBuffer.append(TEXT_404);
+							}
+							stringBuffer.append(TEXT_405);
+						}
+					} else if (!genDataType.getMemberTypes().isEmpty()) {
+						if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+							if (genDataType.isPrimitiveType()) {
+								stringBuffer.append(TEXT_406);
+								stringBuffer.append(genDataType.getName());
+								stringBuffer.append(TEXT_407);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_408);
+								if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+									stringBuffer.append(TEXT_409);
+									stringBuffer.append(genDataType.getPrimitiveValueFunction());
+									stringBuffer.append(TEXT_410);
+								}
+								stringBuffer.append(TEXT_411);
+							} else {
+								stringBuffer.append(TEXT_412);
+								stringBuffer.append(genDataType.getName());
+								stringBuffer.append(TEXT_413);
+							}
+						} else {
+							stringBuffer.append(TEXT_414);
+							for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+								stringBuffer.append(TEXT_415);
+								stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_416);
+								if (genMemberType.getGenPackage() == genPackage) {
+									stringBuffer.append(TEXT_417);
+									stringBuffer.append(genMemberType.getName());
+									stringBuffer.append(TEXT_418);
+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_419);
+								} else {
+									stringBuffer.append(TEXT_420);
+									stringBuffer.append(genMemberType.getGenPackage()
+											.getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_421);
+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_422);
+								}
+								stringBuffer.append(TEXT_423);
+							}
+							stringBuffer.append(TEXT_424);
+						}
+					} else if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+						if (genDataType.isPrimitiveType()) {
+							stringBuffer.append(TEXT_425);
+							stringBuffer.append(genDataType.getName());
+							stringBuffer.append(TEXT_426);
+							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_427);
+							}
+							stringBuffer.append(TEXT_428);
+							stringBuffer.append(genDataType.getObjectInstanceClassName());
+							stringBuffer.append(TEXT_429);
+							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_430);
+								stringBuffer.append(genDataType.getPrimitiveValueFunction());
+								stringBuffer.append(TEXT_431);
+							}
+							stringBuffer.append(TEXT_432);
+						} else {
+							stringBuffer.append(TEXT_433);
+							stringBuffer.append(genDataType.getName());
+							stringBuffer.append(TEXT_434);
+							stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+							stringBuffer.append(TEXT_435);
+						}
+					} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+							&& (genDataType.isArrayType()
+									|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+									|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+						stringBuffer.append(TEXT_436);
+					} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+						stringBuffer.append(TEXT_437);
+						stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+						stringBuffer.append(TEXT_438);
+					} else {
+						stringBuffer.append(TEXT_439);
+					}
+					stringBuffer.append(TEXT_440);
+				}
+			}
+		} else {
+			for (GenClass genClass : genPackage.getGenClasses()) {
+				if (genClass.hasFactoryInterfaceCreateMethod()) {
+					stringBuffer.append(TEXT_441);
+					stringBuffer.append(genClass.getFormattedName());
+					stringBuffer.append(TEXT_442);
+					stringBuffer.append(genClass.getFormattedName());
+					stringBuffer.append(TEXT_443);
+					stringBuffer.append(genClass.getTypeParameters());
+					stringBuffer.append(genClass.getImportedInterfaceName());
+					stringBuffer.append(genClass.getInterfaceTypeArguments());
+					stringBuffer.append(TEXT_444);
+					stringBuffer.append(genClass.getName());
+					stringBuffer.append(TEXT_445);
+				}
+			}
+			if (genPackage.isDataTypeConverters()) {
+				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+					if (genDataType.isSerializable()) {
+						stringBuffer.append(TEXT_446);
+						stringBuffer.append(genDataType.getFormattedName());
+						stringBuffer.append(TEXT_447);
+						stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+						stringBuffer.append(TEXT_448);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_449);
+						stringBuffer.append(genDataType.getFormattedName());
+						stringBuffer.append(TEXT_450);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_451);
+						stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+						stringBuffer.append(TEXT_452);
+					}
+				}
+			}
+		}
+		if (!isImplementation && !genModel.isSuppressEMFMetaData()) {
+			stringBuffer.append(TEXT_453);
+			stringBuffer.append(genPackage.getPackageInterfaceName());
+			stringBuffer.append(TEXT_454);
+			stringBuffer.append(genPackage.getBasicPackageName());
+			stringBuffer.append(TEXT_455);
+		} else if (isImplementation) {
+			stringBuffer.append(TEXT_456);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_457);
+			stringBuffer.append(genPackage.getBasicPackageName());
+			stringBuffer.append(TEXT_458);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_459);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_460);
+			}
+			stringBuffer.append(TEXT_461);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_462);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_463);
+		}
+		stringBuffer.append(TEXT_464);
+		stringBuffer.append(isInterface ? genPackage.getFactoryInterfaceName() : genPackage.getFactoryClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_465);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genPackage.hasClassifiers());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryInterface.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryInterface.java
index 3275386..0a19ea3 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryInterface.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/FactoryInterface.java
@@ -1,1872 +1,1858 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class FactoryInterface extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized FactoryInterface create(String lineSeparator) {

-		nl = lineSeparator;

-		FactoryInterface result = new FactoryInterface();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";";

-	protected final String TEXT_4 = NL + "package ";

-	protected final String TEXT_5 = ";";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL;

-	protected final String TEXT_8 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * The <b>Factory</b> for the model." + NL

-			+ " * It provides a create method for each non-abstract class of the model." + NL

-			+ " * <!-- end-user-doc -->";

-	protected final String TEXT_9 = NL + " * @see ";

-	protected final String TEXT_10 = NL + " * @generated" + NL + " */";

-	protected final String TEXT_11 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * An implementation of the model <b>Factory</b>." + NL + " * <!-- end-user-doc -->" + NL

-			+ " * @generated" + NL + " */";

-	protected final String TEXT_12 = NL + "public class ";

-	protected final String TEXT_13 = " extends ";

-	protected final String TEXT_14 = " implements ";

-	protected final String TEXT_15 = NL + "public interface ";

-	protected final String TEXT_16 = " extends ";

-	protected final String TEXT_17 = NL + "{";

-	protected final String TEXT_18 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_19 = " copyright = ";

-	protected final String TEXT_20 = ";";

-	protected final String TEXT_21 = NL;

-	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_23 = " eINSTANCE = init();" + NL;

-	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_25 = " INSTANCE = ";

-	protected final String TEXT_26 = ".eINSTANCE;" + NL;

-	protected final String TEXT_27 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_28 = " eINSTANCE = ";

-	protected final String TEXT_29 = ".init();" + NL;

-	protected final String TEXT_30 = NL + "\t/**" + NL + "\t * Creates the default factory implementation." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_31 = NL + "\tpublic static ";

-	protected final String TEXT_32 = " init()" + NL + "\t{" + NL + "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_33 = " the";

-	protected final String TEXT_34 = " = (";

-	protected final String TEXT_35 = ")";

-	protected final String TEXT_36 = ".Registry.INSTANCE.getEFactory(";

-	protected final String TEXT_37 = ".eNS_URI);" + NL + "\t\t\tif (the";

-	protected final String TEXT_38 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn the";

-	protected final String TEXT_39 = ";" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL

-			+ "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_40 = ".INSTANCE.log(exception);" + NL + "\t\t}" + NL + "\t\treturn new ";

-	protected final String TEXT_41 = "();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Creates an instance of the factory." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_42 = "()" + NL + "\t{" + NL + "\t\tsuper();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_43 = NL + "\t@Override";

-	protected final String TEXT_44 = NL + "\tpublic EObject create(EClass eClass)" + NL + "\t{" + NL

-			+ "\t\tswitch (eClass.getClassifierID())" + NL + "\t\t{";

-	protected final String TEXT_45 = NL + "\t\t\tcase ";

-	protected final String TEXT_46 = ".";

-	protected final String TEXT_47 = ": return ";

-	protected final String TEXT_48 = "create";

-	protected final String TEXT_49 = "();";

-	protected final String TEXT_50 = NL

-			+ "\t\t\tdefault:"

-			+ NL

-			+ "\t\t\t\tthrow new IllegalArgumentException(\"The class '\" + eClass.getName() + \"' is not a valid classifier\");";

-	protected final String TEXT_51 = NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_52 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_53 = NL + "\t@Override";

-	protected final String TEXT_54 = NL + "\tpublic Object createFromString(";

-	protected final String TEXT_55 = " eDataType, String initialValue)" + NL + "\t{" + NL

-			+ "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";

-	protected final String TEXT_56 = NL + "\t\t\tcase ";

-	protected final String TEXT_57 = ".";

-	protected final String TEXT_58 = ":" + NL + "\t\t\t\treturn create";

-	protected final String TEXT_59 = "FromString(eDataType, initialValue);";

-	protected final String TEXT_60 = NL

-			+ "\t\t\tdefault:"

-			+ NL

-			+ "\t\t\t\tthrow new IllegalArgumentException(\"The datatype '\" + eDataType.getName() + \"' is not a valid classifier\");";

-	protected final String TEXT_61 = NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_62 = NL + "\t@Override";

-	protected final String TEXT_63 = NL + "\tpublic String convertToString(";

-	protected final String TEXT_64 = " eDataType, Object instanceValue)" + NL + "\t{" + NL

-			+ "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";

-	protected final String TEXT_65 = NL + "\t\t\tcase ";

-	protected final String TEXT_66 = ".";

-	protected final String TEXT_67 = ":" + NL + "\t\t\t\treturn convert";

-	protected final String TEXT_68 = "ToString(eDataType, instanceValue);";

-	protected final String TEXT_69 = NL

-			+ "\t\t\tdefault:"

-			+ NL

-			+ "\t\t\t\tthrow new IllegalArgumentException(\"The datatype '\" + eDataType.getName() + \"' is not a valid classifier\");";

-	protected final String TEXT_70 = NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_71 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_72 = " create";

-	protected final String TEXT_73 = "()" + NL + "\t{";

-	protected final String TEXT_74 = NL + "\t\t";

-	protected final String TEXT_75 = " ";

-	protected final String TEXT_76 = " = ";

-	protected final String TEXT_77 = "super.create(";

-	protected final String TEXT_78 = ");";

-	protected final String TEXT_79 = NL + "\t\t";

-	protected final String TEXT_80 = " ";

-	protected final String TEXT_81 = " = new ";

-	protected final String TEXT_82 = "()";

-	protected final String TEXT_83 = "{}";

-	protected final String TEXT_84 = ";";

-	protected final String TEXT_85 = NL + "\t\treturn ";

-	protected final String TEXT_86 = ";" + NL + "\t}" + NL;

-	protected final String TEXT_87 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_88 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_89 = NL + "\tpublic ";

-	protected final String TEXT_90 = " create";

-	protected final String TEXT_91 = "(";

-	protected final String TEXT_92 = "final ";

-	protected final String TEXT_93 = "String ";

-	protected final String TEXT_94 = "it";

-	protected final String TEXT_95 = "literal";

-	protected final String TEXT_96 = ")" + NL + "\t{";

-	protected final String TEXT_97 = NL + "\t\t";

-	protected final String TEXT_98 = NL + "\t\t";

-	protected final String TEXT_99 = " result = ";

-	protected final String TEXT_100 = ".get(literal);"

-			+ NL

-			+ "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + literal + \"' is not a valid enumerator of '\" + ";

-	protected final String TEXT_101 = ".getName() + \"'\");";

-	protected final String TEXT_102 = NL + "\t\treturn result;";

-	protected final String TEXT_103 = NL + "\t\treturn new ";

-	protected final String TEXT_104 = "(create";

-	protected final String TEXT_105 = "(literal));";

-	protected final String TEXT_106 = NL + "\t\treturn create";

-	protected final String TEXT_107 = "(literal);";

-	protected final String TEXT_108 = NL + "\t\treturn new ";

-	protected final String TEXT_109 = "(";

-	protected final String TEXT_110 = ".create";

-	protected final String TEXT_111 = "(literal));";

-	protected final String TEXT_112 = NL + "\t\treturn ";

-	protected final String TEXT_113 = ".create";

-	protected final String TEXT_114 = "(literal);";

-	protected final String TEXT_115 = NL + "\t\treturn ";

-	protected final String TEXT_116 = "(";

-	protected final String TEXT_117 = ")";

-	protected final String TEXT_118 = ".createFromString(";

-	protected final String TEXT_119 = ", literal);";

-	protected final String TEXT_120 = NL + "\t\tif (literal == null) return null;" + NL + "\t\t";

-	protected final String TEXT_121 = " result = new ";

-	protected final String TEXT_122 = "<";

-	protected final String TEXT_123 = ">";

-	protected final String TEXT_124 = "();";

-	protected final String TEXT_125 = NL + "\t\tfor (";

-	protected final String TEXT_126 = " stringTokenizer = new ";

-	protected final String TEXT_127 = "(literal); stringTokenizer.hasMoreTokens(); )";

-	protected final String TEXT_128 = NL + "\t\tfor (String item : split(literal))";

-	protected final String TEXT_129 = NL + "\t\t{";

-	protected final String TEXT_130 = NL + "\t\t\tString item = stringTokenizer.nextToken();";

-	protected final String TEXT_131 = NL + "\t\t\tresult.add(create";

-	protected final String TEXT_132 = "(item));";

-	protected final String TEXT_133 = NL + "\t\t\tresult.add(create";

-	protected final String TEXT_134 = "FromString(";

-	protected final String TEXT_135 = ", item));";

-	protected final String TEXT_136 = NL + "\t\t\tresult.add(";

-	protected final String TEXT_137 = ".create";

-	protected final String TEXT_138 = "(item));";

-	protected final String TEXT_139 = NL + "\t\t\tresult.add(";

-	protected final String TEXT_140 = ".createFromString(";

-	protected final String TEXT_141 = ", item));";

-	protected final String TEXT_142 = NL + "\t\t}" + NL + "\t\treturn result;";

-	protected final String TEXT_143 = NL + "\t\tif (literal == null) return ";

-	protected final String TEXT_144 = ";" + NL + "\t\t";

-	protected final String TEXT_145 = " result = ";

-	protected final String TEXT_146 = ";" + NL + "\t\tRuntimeException exception = null;";

-	protected final String TEXT_147 = NL + "\t\ttry" + NL + "\t\t{";

-	protected final String TEXT_148 = NL + "\t\t\tresult = create";

-	protected final String TEXT_149 = "(literal);";

-	protected final String TEXT_150 = NL + "\t\t\tresult = (";

-	protected final String TEXT_151 = ")create";

-	protected final String TEXT_152 = "FromString(";

-	protected final String TEXT_153 = ", literal);";

-	protected final String TEXT_154 = NL + "\t\t\tresult = ";

-	protected final String TEXT_155 = ".create";

-	protected final String TEXT_156 = "(literal);";

-	protected final String TEXT_157 = NL + "\t\t\tresult = (";

-	protected final String TEXT_158 = ")";

-	protected final String TEXT_159 = ".createFromString(";

-	protected final String TEXT_160 = ", literal);";

-	protected final String TEXT_161 = NL + "\t\t\tif (";

-	protected final String TEXT_162 = "result != null && ";

-	protected final String TEXT_163 = ".INSTANCE.validate(";

-	protected final String TEXT_164 = ", ";

-	protected final String TEXT_165 = "new ";

-	protected final String TEXT_166 = "(result)";

-	protected final String TEXT_167 = "result";

-	protected final String TEXT_168 = ", null, null))" + NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL

-			+ "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (RuntimeException e)" + NL + "\t\t{" + NL

-			+ "\t\t\texception = e;" + NL + "\t\t}";

-	protected final String TEXT_169 = NL + "\t\tif (";

-	protected final String TEXT_170 = "result != null || ";

-	protected final String TEXT_171 = "exception == null) return result;" + NL + "    " + NL + "\t\tthrow exception;";

-	protected final String TEXT_172 = NL + "\t\treturn (";

-	protected final String TEXT_173 = ")super.createFromString(literal);";

-	protected final String TEXT_174 = NL + "\t\t// TODO: implement this method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";

-	protected final String TEXT_175 = "();";

-	protected final String TEXT_176 = NL + "\t\treturn ((";

-	protected final String TEXT_177 = ")super.createFromString(";

-	protected final String TEXT_178 = ", literal)).";

-	protected final String TEXT_179 = "();";

-	protected final String TEXT_180 = NL + "\t\treturn ";

-	protected final String TEXT_181 = "(";

-	protected final String TEXT_182 = ")";

-	protected final String TEXT_183 = "super.createFromString(";

-	protected final String TEXT_184 = ", literal);";

-	protected final String TEXT_185 = NL + "\t}" + NL;

-	protected final String TEXT_186 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_187 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_188 = NL + "\tpublic ";

-	protected final String TEXT_189 = " create";

-	protected final String TEXT_190 = "FromString(";

-	protected final String TEXT_191 = " eDataType, String initialValue)" + NL + "\t{";

-	protected final String TEXT_192 = NL + "\t\treturn create";

-	protected final String TEXT_193 = "(initialValue);";

-	protected final String TEXT_194 = NL + "\t\t";

-	protected final String TEXT_195 = " result = ";

-	protected final String TEXT_196 = ".get(initialValue);"

-			+ NL

-			+ "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + initialValue + \"' is not a valid enumerator of '\" + eDataType.getName() + \"'\");";

-	protected final String TEXT_197 = NL + "\t\treturn result;";

-	protected final String TEXT_198 = NL + "\t\treturn ";

-	protected final String TEXT_199 = "(";

-	protected final String TEXT_200 = ")";

-	protected final String TEXT_201 = "create";

-	protected final String TEXT_202 = "FromString(";

-	protected final String TEXT_203 = ", initialValue);";

-	protected final String TEXT_204 = NL + "\t\treturn ";

-	protected final String TEXT_205 = "(";

-	protected final String TEXT_206 = ")";

-	protected final String TEXT_207 = ".createFromString(";

-	protected final String TEXT_208 = ", initialValue);";

-	protected final String TEXT_209 = NL + "\t\treturn create";

-	protected final String TEXT_210 = "(initialValue);";

-	protected final String TEXT_211 = NL + "\t\tif (initialValue == null) return null;" + NL + "\t\t";

-	protected final String TEXT_212 = " result = new ";

-	protected final String TEXT_213 = "<";

-	protected final String TEXT_214 = ">";

-	protected final String TEXT_215 = "();";

-	protected final String TEXT_216 = NL + "\t\tfor (";

-	protected final String TEXT_217 = " stringTokenizer = new ";

-	protected final String TEXT_218 = "(initialValue); stringTokenizer.hasMoreTokens(); )";

-	protected final String TEXT_219 = NL + "\t\tfor (String item : split(initialValue))";

-	protected final String TEXT_220 = NL + "\t\t{";

-	protected final String TEXT_221 = NL + "\t\t\tString item = stringTokenizer.nextToken();";

-	protected final String TEXT_222 = NL + "\t\t\tresult.add(create";

-	protected final String TEXT_223 = "FromString(";

-	protected final String TEXT_224 = ", item));";

-	protected final String TEXT_225 = NL + "\t\t\tresult.add(";

-	protected final String TEXT_226 = "(";

-	protected final String TEXT_227 = ")";

-	protected final String TEXT_228 = ".createFromString(";

-	protected final String TEXT_229 = ", item));";

-	protected final String TEXT_230 = NL + "\t\t}" + NL + "\t\treturn result;";

-	protected final String TEXT_231 = NL + "\t\treturn new ";

-	protected final String TEXT_232 = "(create";

-	protected final String TEXT_233 = "(initialValue));";

-	protected final String TEXT_234 = NL + "\t\treturn create";

-	protected final String TEXT_235 = "(initialValue);";

-	protected final String TEXT_236 = NL + "\t\tif (initialValue == null) return null;" + NL + "\t\t";

-	protected final String TEXT_237 = " result = null;" + NL + "\t\tRuntimeException exception = null;";

-	protected final String TEXT_238 = NL + "\t\ttry" + NL + "\t\t{";

-	protected final String TEXT_239 = NL + "\t\t\tresult = ";

-	protected final String TEXT_240 = "(";

-	protected final String TEXT_241 = ")";

-	protected final String TEXT_242 = "create";

-	protected final String TEXT_243 = "FromString(";

-	protected final String TEXT_244 = ", initialValue);";

-	protected final String TEXT_245 = NL + "\t\t\tresult = ";

-	protected final String TEXT_246 = "(";

-	protected final String TEXT_247 = ")";

-	protected final String TEXT_248 = ".createFromString(";

-	protected final String TEXT_249 = ", initialValue);";

-	protected final String TEXT_250 = NL + "\t\t\tif (result != null && ";

-	protected final String TEXT_251 = ".INSTANCE.validate(eDataType, result, null, null))" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (RuntimeException e)" + NL

-			+ "\t\t{" + NL + "\t\t\texception = e;" + NL + "\t\t}";

-	protected final String TEXT_252 = NL + "\t\tif (result != null || exception == null) return result;" + NL + "    "

-			+ NL + "\t\tthrow exception;";

-	protected final String TEXT_253 = NL + "\t\treturn create";

-	protected final String TEXT_254 = "(initialValue);";

-	protected final String TEXT_255 = NL + "\t\treturn ";

-	protected final String TEXT_256 = "(";

-	protected final String TEXT_257 = ")";

-	protected final String TEXT_258 = "super.createFromString(initialValue);";

-	protected final String TEXT_259 = NL + "\t\t// TODO: implement this method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";

-	protected final String TEXT_260 = "();";

-	protected final String TEXT_261 = NL + "\t\treturn ";

-	protected final String TEXT_262 = "(";

-	protected final String TEXT_263 = ")";

-	protected final String TEXT_264 = "super.createFromString(eDataType, initialValue);";

-	protected final String TEXT_265 = NL + "\t}" + NL;

-	protected final String TEXT_266 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic String convert";

-	protected final String TEXT_267 = "(";

-	protected final String TEXT_268 = "final ";

-	protected final String TEXT_269 = " ";

-	protected final String TEXT_270 = "it";

-	protected final String TEXT_271 = "instanceValue";

-	protected final String TEXT_272 = ")" + NL + "\t{";

-	protected final String TEXT_273 = NL + "\t\t";

-	protected final String TEXT_274 = NL + "\t\treturn instanceValue == null ? null : instanceValue.toString();";

-	protected final String TEXT_275 = NL + "\t\treturn instanceValue == null ? null : convert";

-	protected final String TEXT_276 = "(instanceValue";

-	protected final String TEXT_277 = ".";

-	protected final String TEXT_278 = "()";

-	protected final String TEXT_279 = ");";

-	protected final String TEXT_280 = NL + "\t\treturn convert";

-	protected final String TEXT_281 = "(instanceValue);";

-	protected final String TEXT_282 = NL + "\t\treturn ";

-	protected final String TEXT_283 = ".convert";

-	protected final String TEXT_284 = "(instanceValue);";

-	protected final String TEXT_285 = NL + "\t\treturn ";

-	protected final String TEXT_286 = ".convertToString(";

-	protected final String TEXT_287 = ", instanceValue);";

-	protected final String TEXT_288 = NL + "\t\tif (instanceValue == null) return null;" + NL

-			+ "\t\tif (instanceValue.isEmpty()) return \"\";" + NL + "\t\t";

-	protected final String TEXT_289 = " result = new ";

-	protected final String TEXT_290 = "();";

-	protected final String TEXT_291 = NL + "\t\tfor (";

-	protected final String TEXT_292 = " i = instanceValue.iterator(); i.hasNext(); )";

-	protected final String TEXT_293 = NL + "\t\tfor (";

-	protected final String TEXT_294 = " item : instanceValue)";

-	protected final String TEXT_295 = NL + "\t\t{";

-	protected final String TEXT_296 = NL + "\t\t\tresult.append(convert";

-	protected final String TEXT_297 = "((";

-	protected final String TEXT_298 = ")";

-	protected final String TEXT_299 = "));";

-	protected final String TEXT_300 = NL + "\t\t\tresult.append(convert";

-	protected final String TEXT_301 = "ToString(";

-	protected final String TEXT_302 = ", ";

-	protected final String TEXT_303 = "));";

-	protected final String TEXT_304 = NL + "\t\t\tresult.append(";

-	protected final String TEXT_305 = ".convert";

-	protected final String TEXT_306 = "((";

-	protected final String TEXT_307 = ")";

-	protected final String TEXT_308 = "));";

-	protected final String TEXT_309 = NL + "\t\t\tresult.append(";

-	protected final String TEXT_310 = ".convertToString(";

-	protected final String TEXT_311 = ", ";

-	protected final String TEXT_312 = "));";

-	protected final String TEXT_313 = NL + "\t\t\tresult.append(' ');" + NL + "\t\t}" + NL

-			+ "\t\treturn result.substring(0, result.length() - 1);";

-	protected final String TEXT_314 = NL + "\t\tif (instanceValue == null) return null;";

-	protected final String TEXT_315 = NL + "\t\tif (";

-	protected final String TEXT_316 = ".isInstance(instanceValue))" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{";

-	protected final String TEXT_317 = NL + "\t\t\t\tString value = convert";

-	protected final String TEXT_318 = "(instanceValue);";

-	protected final String TEXT_319 = NL + "\t\t\t\tString value = convert";

-	protected final String TEXT_320 = "(((";

-	protected final String TEXT_321 = ")instanceValue).";

-	protected final String TEXT_322 = "());";

-	protected final String TEXT_323 = NL + "\t\t\t\tString value = convert";

-	protected final String TEXT_324 = "((";

-	protected final String TEXT_325 = ")instanceValue);";

-	protected final String TEXT_326 = NL + "\t\t\t\tString value = convert";

-	protected final String TEXT_327 = "ToString(";

-	protected final String TEXT_328 = ", instanceValue);";

-	protected final String TEXT_329 = NL + "\t\t\t\tString value = ";

-	protected final String TEXT_330 = ".convert";

-	protected final String TEXT_331 = "((";

-	protected final String TEXT_332 = ")instanceValue);";

-	protected final String TEXT_333 = NL + "\t\t\t\tString value = ";

-	protected final String TEXT_334 = ".convertToString(";

-	protected final String TEXT_335 = ", instanceValue);";

-	protected final String TEXT_336 = NL + "\t\t\t\tif (value != null) return value;" + NL + "\t\t\t}" + NL

-			+ "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_337 = NL + "\t\ttry" + NL + "\t\t{";

-	protected final String TEXT_338 = NL + "\t\t\tString value = convert";

-	protected final String TEXT_339 = "(instanceValue);";

-	protected final String TEXT_340 = NL + "\t\t\tString value = convert";

-	protected final String TEXT_341 = "ToString(";

-	protected final String TEXT_342 = ", ";

-	protected final String TEXT_343 = "new ";

-	protected final String TEXT_344 = "(instanceValue)";

-	protected final String TEXT_345 = "instanceValue";

-	protected final String TEXT_346 = ");";

-	protected final String TEXT_347 = NL + "\t\t\tString value = ";

-	protected final String TEXT_348 = ".convert";

-	protected final String TEXT_349 = "(instanceValue);";

-	protected final String TEXT_350 = NL + "\t\t\tString value = ";

-	protected final String TEXT_351 = ".convertToString(";

-	protected final String TEXT_352 = ", ";

-	protected final String TEXT_353 = "new ";

-	protected final String TEXT_354 = "(instanceValue)";

-	protected final String TEXT_355 = "instanceValue";

-	protected final String TEXT_356 = ");";

-	protected final String TEXT_357 = NL + "\t\t\tif (value != null) return value;" + NL + "\t\t}" + NL

-			+ "\t\tcatch (Exception e)" + NL + "\t\t{" + NL

-			+ "\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t}";

-	protected final String TEXT_358 = NL

-			+ "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+";

-	protected final String TEXT_359 = ".getName());";

-	protected final String TEXT_360 = NL + "\t\treturn super.convertToString(instanceValue);";

-	protected final String TEXT_361 = NL + "\t\t// TODO: implement this method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";

-	protected final String TEXT_362 = "();";

-	protected final String TEXT_363 = NL + "\t\treturn super.convertToString(";

-	protected final String TEXT_364 = ", new ";

-	protected final String TEXT_365 = "(instanceValue));";

-	protected final String TEXT_366 = NL + "\t\treturn super.convertToString(";

-	protected final String TEXT_367 = ", instanceValue);";

-	protected final String TEXT_368 = NL + "\t}" + NL;

-	protected final String TEXT_369 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_370 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_371 = NL + "\tpublic String convert";

-	protected final String TEXT_372 = "ToString(";

-	protected final String TEXT_373 = " eDataType, Object instanceValue)" + NL + "\t{";

-	protected final String TEXT_374 = NL + "\t\treturn convert";

-	protected final String TEXT_375 = "((";

-	protected final String TEXT_376 = ")instanceValue);";

-	protected final String TEXT_377 = NL + "\t\treturn instanceValue == null ? null : instanceValue.toString();";

-	protected final String TEXT_378 = NL + "\t\treturn convert";

-	protected final String TEXT_379 = "ToString(";

-	protected final String TEXT_380 = ", instanceValue);";

-	protected final String TEXT_381 = NL + "\t\treturn ";

-	protected final String TEXT_382 = ".convertToString(";

-	protected final String TEXT_383 = ", instanceValue);";

-	protected final String TEXT_384 = NL + "\t\treturn convert";

-	protected final String TEXT_385 = "((";

-	protected final String TEXT_386 = ")instanceValue);";

-	protected final String TEXT_387 = NL + "\t\tif (instanceValue == null) return null;" + NL + "\t\t";

-	protected final String TEXT_388 = " list = (";

-	protected final String TEXT_389 = ")instanceValue;" + NL + "\t\tif (list.isEmpty()) return \"\";" + NL + "\t\t";

-	protected final String TEXT_390 = " result = new ";

-	protected final String TEXT_391 = "();";

-	protected final String TEXT_392 = NL + "\t\tfor (";

-	protected final String TEXT_393 = " i = list.iterator(); i.hasNext(); )";

-	protected final String TEXT_394 = NL + "\t\tfor (";

-	protected final String TEXT_395 = " item : list)";

-	protected final String TEXT_396 = NL + "\t\t{";

-	protected final String TEXT_397 = NL + "\t\t\tresult.append(convert";

-	protected final String TEXT_398 = "ToString(";

-	protected final String TEXT_399 = ", ";

-	protected final String TEXT_400 = "));";

-	protected final String TEXT_401 = NL + "\t\t\tresult.append(";

-	protected final String TEXT_402 = ".convertToString(";

-	protected final String TEXT_403 = ", ";

-	protected final String TEXT_404 = "));";

-	protected final String TEXT_405 = NL + "\t\t\tresult.append(' ');" + NL + "\t\t}" + NL

-			+ "\t\treturn result.substring(0, result.length() - 1);";

-	protected final String TEXT_406 = NL + "\t\treturn instanceValue == null ? null : convert";

-	protected final String TEXT_407 = "(((";

-	protected final String TEXT_408 = ")instanceValue)";

-	protected final String TEXT_409 = ".";

-	protected final String TEXT_410 = "()";

-	protected final String TEXT_411 = ");";

-	protected final String TEXT_412 = NL + "\t\treturn convert";

-	protected final String TEXT_413 = "(instanceValue);";

-	protected final String TEXT_414 = NL + "\t\tif (instanceValue == null) return null;";

-	protected final String TEXT_415 = NL + "\t\tif (";

-	protected final String TEXT_416 = ".isInstance(instanceValue))" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{";

-	protected final String TEXT_417 = NL + "\t\t\t\tString value = convert";

-	protected final String TEXT_418 = "ToString(";

-	protected final String TEXT_419 = ", instanceValue);";

-	protected final String TEXT_420 = NL + "\t\t\t\tString value = ";

-	protected final String TEXT_421 = ".convertToString(";

-	protected final String TEXT_422 = ", instanceValue);";

-	protected final String TEXT_423 = NL + "\t\t\t\tif (value != null) return value;" + NL + "\t\t\t}" + NL

-			+ "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_424 = NL

-			+ "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+eDataType.getName());";

-	protected final String TEXT_425 = NL + "\t\treturn instanceValue == null ? null : convert";

-	protected final String TEXT_426 = "(";

-	protected final String TEXT_427 = "(";

-	protected final String TEXT_428 = "(";

-	protected final String TEXT_429 = ")instanceValue";

-	protected final String TEXT_430 = ").";

-	protected final String TEXT_431 = "()";

-	protected final String TEXT_432 = ");";

-	protected final String TEXT_433 = NL + "\t\treturn convert";

-	protected final String TEXT_434 = "((";

-	protected final String TEXT_435 = ")instanceValue);";

-	protected final String TEXT_436 = NL + "\t\treturn super.convertToString(instanceValue);";

-	protected final String TEXT_437 = NL + "\t\t// TODO: implement this method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";

-	protected final String TEXT_438 = "();";

-	protected final String TEXT_439 = NL + "\t\treturn super.convertToString(eDataType, instanceValue);";

-	protected final String TEXT_440 = NL + "\t}" + NL;

-	protected final String TEXT_441 = NL + "\t/**" + NL + "\t * Returns a new object of class '<em>";

-	protected final String TEXT_442 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return a new object of class '<em>";

-	protected final String TEXT_443 = "</em>'." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_444 = " create";

-	protected final String TEXT_445 = "();" + NL;

-	protected final String TEXT_446 = NL + "\t/**" + NL + "\t * Returns an instance of data type '<em>";

-	protected final String TEXT_447 = "</em>' corresponding the given literal." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param literal a literal of the data type." + NL

-			+ "\t * @return a new instance value of the data type." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_448 = " create";

-	protected final String TEXT_449 = "(String literal);" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Returns a literal representation of an instance of data type '<em>";

-	protected final String TEXT_450 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @param instanceValue an instance value of the data type." + NL

-			+ "\t * @return a literal representation of the instance value." + NL + "\t * @generated" + NL + "\t */"

-			+ NL + "\tString convert";

-	protected final String TEXT_451 = "(";

-	protected final String TEXT_452 = " instanceValue);" + NL;

-	protected final String TEXT_453 = NL + "\t/**" + NL + "\t * Returns the package supported by this factory." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the package supported by this factory." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_454 = " get";

-	protected final String TEXT_455 = "();" + NL;

-	protected final String TEXT_456 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_457 = " get";

-	protected final String TEXT_458 = "()" + NL + "\t{" + NL + "\t\treturn (";

-	protected final String TEXT_459 = ")getEPackage();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @deprecated" + NL

-			+ "\t * @generated" + NL + "\t */";

-	protected final String TEXT_460 = NL + "\t@Deprecated";

-	protected final String TEXT_461 = NL + "\tpublic static ";

-	protected final String TEXT_462 = " getPackage()" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_463 = ".eINSTANCE;" + NL + "\t}" + NL;

-	protected final String TEXT_464 = NL + "} //";

-	protected final String TEXT_465 = NL;

-	protected final String TEXT_466 = NL;

-	protected final String TEXT_467 = NL;

-

-	public FactoryInterface() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_466);

-		stringBuffer.append(TEXT_467);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getModelDirectory();

-		packageName = genPackage.getReflectionPackageName();

-		className = genPackage.getFactoryInterfaceName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = ((Object[]) new Object[] { new Object[] { genPackage, Boolean.TRUE, Boolean.FALSE } })[0];

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2010 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];

-		GenModel genModel = genPackage.getGenModel(); /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);

-		boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);

-		String publicStaticFinalFlag = isImplementation ? "public static final " : "";

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		if (isInterface || genModel.isSuppressInterfaces()) {

-			stringBuffer.append(TEXT_2);

-			stringBuffer.append(genPackage.getReflectionPackageName());

-			stringBuffer.append(TEXT_3);

-		} else {

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(genPackage.getClassPackageName());

-			stringBuffer.append(TEXT_5);

-		}

-		stringBuffer.append(TEXT_6);

-		if (isImplementation) {

-			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");

-			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");

-			genModel.addImport("org.eclipse.emf.ecore.EClass");

-			genModel.addImport("org.eclipse.emf.ecore.EObject");

-			if (!genPackage.hasJavaLangConflict() && !genPackage.hasInterfaceImplConflict()

-					&& !genPackage.getClassPackageName().equals(genPackage.getInterfacePackageName()))

-				genModel.addImport(genPackage.getInterfacePackageName() + ".*");

-		}

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_7);

-		if (isInterface) {

-			stringBuffer.append(TEXT_8);

-			if (!genModel.isSuppressEMFMetaData()) {

-				stringBuffer.append(TEXT_9);

-				stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-			}

-			stringBuffer.append(TEXT_10);

-		} else {

-			stringBuffer.append(TEXT_11);

-		}

-		if (isImplementation) {

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genPackage.getFactoryClassName());

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EFactoryImpl"));

-			if (!genModel.isSuppressInterfaces()) {

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genPackage.getImportedFactoryInterfaceName());

-			}

-		} else {

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genPackage.getFactoryInterfaceName());

-			if (!genModel.isSuppressEMFMetaData()) {

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EFactory"));

-			}

-		}

-		stringBuffer.append(TEXT_17);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_21);

-		}

-		if (isImplementation && (genModel.isSuppressEMFMetaData() || genModel.isSuppressInterfaces())) {

-			stringBuffer.append(TEXT_22);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genPackage.getFactoryClassName());

-			stringBuffer.append(TEXT_23);

-		}

-		if (isInterface && genModel.isSuppressEMFMetaData()) {

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genPackage.getFactoryInterfaceName());

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genPackage.getQualifiedFactoryClassName());

-			stringBuffer.append(TEXT_26);

-		} else if (isInterface && !genModel.isSuppressInterfaces()) {

-			stringBuffer.append(TEXT_27);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genPackage.getFactoryInterfaceName());

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(genPackage.getQualifiedFactoryClassName());

-			stringBuffer.append(TEXT_29);

-		}

-		if (isImplementation) {

-			stringBuffer.append(TEXT_30);

-			String factoryType = genModel.isSuppressEMFMetaData() ? genPackage.getFactoryClassName() : genPackage

-					.getImportedFactoryInterfaceName();

-			stringBuffer.append(TEXT_31);

-			stringBuffer.append(factoryType);

-			stringBuffer.append(TEXT_32);

-			stringBuffer.append(factoryType);

-			stringBuffer.append(TEXT_33);

-			stringBuffer.append(genPackage.getFactoryName());

-			stringBuffer.append(TEXT_34);

-			stringBuffer.append(factoryType);

-			stringBuffer.append(TEXT_35);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_36);

-			stringBuffer.append(genPackage.getPackageInterfaceName());

-			stringBuffer.append(TEXT_37);

-			stringBuffer.append(genPackage.getFactoryName());

-			stringBuffer.append(TEXT_38);

-			stringBuffer.append(genPackage.getFactoryName());

-			stringBuffer.append(TEXT_39);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

-			stringBuffer.append(TEXT_40);

-			stringBuffer.append(genPackage.getImportedFactoryClassName());

-			stringBuffer.append(TEXT_41);

-			stringBuffer.append(genPackage.getFactoryClassName());

-			stringBuffer.append(TEXT_42);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_43);

-			}

-			stringBuffer.append(TEXT_44);

-			for (GenClass genClass : genPackage.getGenClasses()) {

-				if (!genClass.isAbstract()) {

-					stringBuffer.append(TEXT_45);

-					stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(genClass.getClassifierID());

-					stringBuffer.append(TEXT_47);

-					stringBuffer.append(!genClass.isEObjectExtension() ? "(EObject)" : "");

-					stringBuffer.append(TEXT_48);

-					stringBuffer.append(genClass.getName());

-					stringBuffer.append(TEXT_49);

-				}

-			}

-			stringBuffer.append(TEXT_50);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(genModel.getNonNLS(2));

-			stringBuffer.append(TEXT_51);

-			if (!genPackage.getAllGenDataTypes().isEmpty()) {

-				stringBuffer.append(TEXT_52);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_53);

-				}

-				stringBuffer.append(TEXT_54);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

-				stringBuffer.append(TEXT_55);

-				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

-					if (genDataType.isSerializable()) {

-						stringBuffer.append(TEXT_56);

-						stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-						stringBuffer.append(TEXT_57);

-						stringBuffer.append(genDataType.getClassifierID());

-						stringBuffer.append(TEXT_58);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_59);

-					}

-				}

-				stringBuffer.append(TEXT_60);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(genModel.getNonNLS(2));

-				stringBuffer.append(TEXT_61);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_62);

-				}

-				stringBuffer.append(TEXT_63);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

-				stringBuffer.append(TEXT_64);

-				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

-					if (genDataType.isSerializable()) {

-						stringBuffer.append(TEXT_65);

-						stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-						stringBuffer.append(TEXT_66);

-						stringBuffer.append(genDataType.getClassifierID());

-						stringBuffer.append(TEXT_67);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_68);

-					}

-				}

-				stringBuffer.append(TEXT_69);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(genModel.getNonNLS(2));

-				stringBuffer.append(TEXT_70);

-			}

-			for (GenClass genClass : genPackage.getGenClasses()) {

-				if (!genClass.isAbstract()) {

-					stringBuffer.append(TEXT_71);

-					stringBuffer.append(genClass.getTypeParameters());

-					stringBuffer.append(genClass.getImportedInterfaceName());

-					stringBuffer.append(genClass.getInterfaceTypeArguments());

-					stringBuffer.append(TEXT_72);

-					stringBuffer.append(genClass.getName());

-					stringBuffer.append(TEXT_73);

-					if (genClass.isDynamic()) {

-						stringBuffer.append(TEXT_74);

-						stringBuffer.append(genClass.getImportedInterfaceName());

-						stringBuffer.append(genClass.getInterfaceTypeArguments());

-						stringBuffer.append(TEXT_75);

-						stringBuffer.append(genClass.getSafeUncapName());

-						stringBuffer.append(TEXT_76);

-						stringBuffer.append(genClass.getCastFromEObject());

-						stringBuffer.append(TEXT_77);

-						stringBuffer.append(genClass.getQualifiedClassifierAccessor());

-						stringBuffer.append(TEXT_78);

-					} else {

-						stringBuffer.append(TEXT_79);

-						stringBuffer.append(genClass.getImportedClassName());

-						stringBuffer.append(genClass.getClassTypeArguments());

-						stringBuffer.append(TEXT_80);

-						stringBuffer.append(genClass.getSafeUncapName());

-						stringBuffer.append(TEXT_81);

-						stringBuffer.append(genClass.getImportedClassName());

-						stringBuffer.append(genClass.getClassTypeArguments());

-						stringBuffer.append(TEXT_82);

-						if (genModel.isSuppressInterfaces()

-								&& !genPackage.getReflectionPackageName().equals(genPackage.getInterfacePackageName())) {

-							stringBuffer.append(TEXT_83);

-						}

-						stringBuffer.append(TEXT_84);

-					}

-					stringBuffer.append(TEXT_85);

-					stringBuffer.append(genClass.getSafeUncapName());

-					stringBuffer.append(TEXT_86);

-				}

-			}

-			for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

-				if (genDataType.isSerializable()) {

-					if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

-						String eDataType = genDataType.getQualifiedClassifierAccessor();

-						stringBuffer.append(TEXT_87);

-						if (genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_88);

-						}

-						stringBuffer.append(TEXT_89);

-						stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

-						stringBuffer.append(TEXT_90);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_91);

-						if (genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_92);

-						}

-						stringBuffer.append(TEXT_93);

-						if (genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_94);

-						} else {

-							stringBuffer.append(TEXT_95);

-						}

-						stringBuffer.append(TEXT_96);

-						if (genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_97);

-							stringBuffer.append(genDataType.getCreatorBody(genModel.getIndentation(stringBuffer)));

-						} else if (genDataType instanceof GenEnum) {

-							stringBuffer.append(TEXT_98);

-							stringBuffer.append(genDataType.getImportedInstanceClassName());

-							stringBuffer.append(TEXT_99);

-							stringBuffer.append(genDataType.getImportedInstanceClassName());

-							stringBuffer.append(TEXT_100);

-							stringBuffer.append(eDataType);

-							stringBuffer.append(TEXT_101);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(genModel.getNonNLS(2));

-							stringBuffer.append(genModel.getNonNLS(3));

-							stringBuffer.append(TEXT_102);

-						} else if (genDataType.getBaseType() != null) {

-							GenDataType genBaseType = genDataType.getBaseType();

-							boolean isPrimitiveConversion = !genDataType.isPrimitiveType()

-									&& genBaseType.isPrimitiveType();

-							if (genBaseType.getGenPackage() == genPackage) {

-								if (isPrimitiveConversion

-										&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-									stringBuffer.append(TEXT_103);

-									stringBuffer.append(genDataType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_104);

-									stringBuffer.append(genBaseType.getName());

-									stringBuffer.append(TEXT_105);

-								} else {

-									stringBuffer.append(TEXT_106);

-									stringBuffer.append(genBaseType.getName());

-									stringBuffer.append(TEXT_107);

-								}

-							} else if (genBaseType.getGenPackage().isDataTypeConverters()) {

-								if (isPrimitiveConversion

-										&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-									stringBuffer.append(TEXT_108);

-									stringBuffer.append(genDataType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_109);

-									stringBuffer.append(genBaseType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_110);

-									stringBuffer.append(genBaseType.getName());

-									stringBuffer.append(TEXT_111);

-								} else {

-									stringBuffer.append(TEXT_112);

-									stringBuffer.append(genBaseType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_113);

-									stringBuffer.append(genBaseType.getName());

-									stringBuffer.append(TEXT_114);

-								}

-							} else {

-								stringBuffer.append(TEXT_115);

-								if (!genDataType.isObjectType()) {

-									stringBuffer.append(TEXT_116);

-									stringBuffer.append(genDataType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_117);

-								}

-								stringBuffer.append(genBaseType.getGenPackage()

-										.getQualifiedEFactoryInternalInstanceAccessor());

-								stringBuffer.append(TEXT_118);

-								stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_119);

-							}

-						} else if (genDataType.getItemType() != null) {

-							GenDataType genItemType = genDataType.getItemType();

-							stringBuffer.append(TEXT_120);

-							stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

-							stringBuffer.append(TEXT_121);

-							stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));

-							if (genModel.useGenerics()) {

-								stringBuffer.append(TEXT_122);

-								stringBuffer.append(genItemType.getObjectType()

-										.getImportedParameterizedInstanceClassName());

-								stringBuffer.append(TEXT_123);

-							}

-							stringBuffer.append(TEXT_124);

-							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

-								stringBuffer.append(TEXT_125);

-								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

-								stringBuffer.append(TEXT_126);

-								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

-								stringBuffer.append(TEXT_127);

-							} else {

-								stringBuffer.append(TEXT_128);

-							}

-							stringBuffer.append(TEXT_129);

-							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

-								stringBuffer.append(TEXT_130);

-							}

-							if (genItemType.getGenPackage() == genPackage) {

-								if (genPackage.isDataTypeConverters()) {

-									genItemType = genItemType.getObjectType();

-									stringBuffer.append(TEXT_131);

-									stringBuffer.append(genItemType.getName());

-									stringBuffer.append(TEXT_132);

-								} else {

-									stringBuffer.append(TEXT_133);

-									stringBuffer.append(genItemType.getName());

-									stringBuffer.append(TEXT_134);

-									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_135);

-								}

-							} else {

-								if (genItemType.getGenPackage().isDataTypeConverters()) {

-									genItemType = genItemType.getObjectType();

-									stringBuffer.append(TEXT_136);

-									stringBuffer.append(genItemType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_137);

-									stringBuffer.append(genItemType.getName());

-									stringBuffer.append(TEXT_138);

-								} else {

-									stringBuffer.append(TEXT_139);

-									stringBuffer.append(genItemType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_140);

-									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_141);

-								}

-							}

-							stringBuffer.append(TEXT_142);

-						} else if (!genDataType.getMemberTypes().isEmpty()) {

-							stringBuffer.append(TEXT_143);

-							stringBuffer.append(genDataType.getStaticValue(null));

-							stringBuffer.append(TEXT_144);

-							stringBuffer.append(genDataType.getImportedInstanceClassName());

-							stringBuffer.append(TEXT_145);

-							stringBuffer.append(genDataType.getStaticValue(null));

-							stringBuffer.append(TEXT_146);

-							for (GenDataType genMemberType : genDataType.getMemberTypes()) {

-								stringBuffer.append(TEXT_147);

-								if (genMemberType.getGenPackage() == genPackage) {

-									if (genPackage.isDataTypeConverters()) {

-										if (!genDataType.isPrimitiveType())

-											genMemberType = genMemberType.getObjectType();

-										stringBuffer.append(TEXT_148);

-										stringBuffer.append(genMemberType.getName());

-										stringBuffer.append(TEXT_149);

-									} else {

-										stringBuffer.append(TEXT_150);

-										stringBuffer.append(genDataType.getObjectInstanceClassName());

-										stringBuffer.append(TEXT_151);

-										stringBuffer.append(genMemberType.getName());

-										stringBuffer.append(TEXT_152);

-										stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-										stringBuffer.append(TEXT_153);

-									}

-								} else {

-									if (genPackage.isDataTypeConverters()) {

-										if (!genDataType.isPrimitiveType())

-											genMemberType = genMemberType.getObjectType();

-										stringBuffer.append(TEXT_154);

-										stringBuffer.append(genMemberType.getGenPackage()

-												.getQualifiedEFactoryInternalInstanceAccessor());

-										stringBuffer.append(TEXT_155);

-										stringBuffer.append(genMemberType.getName());

-										stringBuffer.append(TEXT_156);

-									} else {

-										stringBuffer.append(TEXT_157);

-										stringBuffer.append(genDataType.getObjectInstanceClassName());

-										stringBuffer.append(TEXT_158);

-										stringBuffer.append(genMemberType.getGenPackage()

-												.getQualifiedEFactoryInternalInstanceAccessor());

-										stringBuffer.append(TEXT_159);

-										stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-										stringBuffer.append(TEXT_160);

-									}

-								}

-								stringBuffer.append(TEXT_161);

-								if (!genDataType.isPrimitiveType()) {

-									stringBuffer.append(TEXT_162);

-								}

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));

-								stringBuffer.append(TEXT_163);

-								stringBuffer.append(eDataType);

-								stringBuffer.append(TEXT_164);

-								if (genDataType.isPrimitiveType()

-										&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-									stringBuffer.append(TEXT_165);

-									stringBuffer.append(genDataType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_166);

-								} else {

-									stringBuffer.append(TEXT_167);

-								}

-								stringBuffer.append(TEXT_168);

-							}

-							stringBuffer.append(TEXT_169);

-							if (!genDataType.isPrimitiveType()) {

-								stringBuffer.append(TEXT_170);

-							}

-							stringBuffer.append(TEXT_171);

-						} else if (!genDataType.hasConversionDelegate()

-								&& genModel.useGenerics()

-								&& (genDataType.isArrayType()

-										|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType

-										.getEcoreDataType().getInstanceTypeName().contains("<"))) {

-							stringBuffer.append(TEXT_172);

-							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

-							stringBuffer.append(TEXT_173);

-						} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

-							stringBuffer.append(TEXT_174);

-							stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

-							stringBuffer.append(TEXT_175);

-						} else if (genDataType.isPrimitiveType()

-								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-							stringBuffer.append(TEXT_176);

-							stringBuffer.append(genDataType.getObjectInstanceClassName());

-							stringBuffer.append(TEXT_177);

-							stringBuffer.append(eDataType);

-							stringBuffer.append(TEXT_178);

-							stringBuffer.append(genDataType.getPrimitiveValueFunction());

-							stringBuffer.append(TEXT_179);

-						} else {

-							stringBuffer.append(TEXT_180);

-							if (!genDataType.isObjectType()) {

-								stringBuffer.append(TEXT_181);

-								stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

-								stringBuffer.append(TEXT_182);

-							}

-							stringBuffer.append(TEXT_183);

-							stringBuffer.append(eDataType);

-							stringBuffer.append(TEXT_184);

-						}

-						stringBuffer.append(TEXT_185);

-					}

-					stringBuffer.append(TEXT_186);

-					if (!genPackage.isDataTypeConverters() && genModel.useGenerics() && genDataType.isUncheckedCast()

-							&& !genDataType.hasCreatorBody()) {

-						stringBuffer.append(TEXT_187);

-					}

-					stringBuffer.append(TEXT_188);

-					stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

-					stringBuffer.append(TEXT_189);

-					stringBuffer.append(genDataType.getName());

-					stringBuffer.append(TEXT_190);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

-					stringBuffer.append(TEXT_191);

-					if (genDataType instanceof GenEnum) {

-						if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_192);

-							stringBuffer.append(genDataType.getName());

-							stringBuffer.append(TEXT_193);

-						} else {

-							stringBuffer.append(TEXT_194);

-							stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());

-							stringBuffer.append(TEXT_195);

-							stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());

-							stringBuffer.append(TEXT_196);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(genModel.getNonNLS(2));

-							stringBuffer.append(genModel.getNonNLS(3));

-							stringBuffer.append(TEXT_197);

-						}

-					} else if (genDataType.getBaseType() != null) {

-						GenDataType genBaseType = genDataType.getBaseType();

-						if (genBaseType.getGenPackage() == genPackage) {

-							stringBuffer.append(TEXT_198);

-							if (!genDataType.getObjectInstanceClassName().equals(

-									genBaseType.getObjectInstanceClassName())) {

-								stringBuffer.append(TEXT_199);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_200);

-							}

-							stringBuffer.append(TEXT_201);

-							stringBuffer.append(genBaseType.getName());

-							stringBuffer.append(TEXT_202);

-							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_203);

-						} else {

-							stringBuffer.append(TEXT_204);

-							if (!genDataType.isObjectType()) {

-								stringBuffer.append(TEXT_205);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_206);

-							}

-							stringBuffer.append(genBaseType.getGenPackage()

-									.getQualifiedEFactoryInternalInstanceAccessor());

-							stringBuffer.append(TEXT_207);

-							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_208);

-						}

-					} else if (genDataType.getItemType() != null) {

-						GenDataType genItemType = genDataType.getItemType();

-						if (genPackage.isDataTypeConverters()) {

-							stringBuffer.append(TEXT_209);

-							stringBuffer.append(genDataType.getName());

-							stringBuffer.append(TEXT_210);

-						} else {

-							stringBuffer.append(TEXT_211);

-							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

-							stringBuffer.append(TEXT_212);

-							stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));

-							if (genModel.useGenerics()) {

-								stringBuffer.append(TEXT_213);

-								stringBuffer.append(genItemType.getObjectType()

-										.getImportedParameterizedInstanceClassName());

-								stringBuffer.append(TEXT_214);

-							}

-							stringBuffer.append(TEXT_215);

-							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

-								stringBuffer.append(TEXT_216);

-								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

-								stringBuffer.append(TEXT_217);

-								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));

-								stringBuffer.append(TEXT_218);

-							} else {

-								stringBuffer.append(TEXT_219);

-							}

-							stringBuffer.append(TEXT_220);

-							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {

-								stringBuffer.append(TEXT_221);

-							}

-							if (genItemType.getGenPackage() == genPackage) {

-								stringBuffer.append(TEXT_222);

-								stringBuffer.append(genItemType.getName());

-								stringBuffer.append(TEXT_223);

-								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_224);

-							} else {

-								stringBuffer.append(TEXT_225);

-								if (!genItemType.isObjectType()) {

-									stringBuffer.append(TEXT_226);

-									stringBuffer.append(genItemType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_227);

-								}

-								stringBuffer.append(genItemType.getGenPackage()

-										.getQualifiedEFactoryInternalInstanceAccessor());

-								stringBuffer.append(TEXT_228);

-								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_229);

-							}

-							stringBuffer.append(TEXT_230);

-						}

-					} else if (!genDataType.getMemberTypes().isEmpty()) {

-						if (genPackage.isDataTypeConverters()) {

-							if (genDataType.isPrimitiveType()

-									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_231);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_232);

-								stringBuffer.append(genDataType.getName());

-								stringBuffer.append(TEXT_233);

-							} else {

-								stringBuffer.append(TEXT_234);

-								stringBuffer.append(genDataType.getName());

-								stringBuffer.append(TEXT_235);

-							}

-						} else {

-							stringBuffer.append(TEXT_236);

-							stringBuffer.append(genDataType.getObjectInstanceClassName());

-							stringBuffer.append(TEXT_237);

-							for (GenDataType genMemberType : genDataType.getMemberTypes()) {

-								stringBuffer.append(TEXT_238);

-								if (genMemberType.getGenPackage() == genPackage) {

-									stringBuffer.append(TEXT_239);

-									if (!genDataType.isObjectType()

-											&& !genDataType.getObjectInstanceClassName().equals(

-													genMemberType.getObjectInstanceClassName())) {

-										stringBuffer.append(TEXT_240);

-										stringBuffer.append(genDataType.getObjectInstanceClassName());

-										stringBuffer.append(TEXT_241);

-									}

-									stringBuffer.append(TEXT_242);

-									stringBuffer.append(genMemberType.getName());

-									stringBuffer.append(TEXT_243);

-									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_244);

-								} else {

-									stringBuffer.append(TEXT_245);

-									if (!genDataType.isObjectType()) {

-										stringBuffer.append(TEXT_246);

-										stringBuffer.append(genDataType.getObjectInstanceClassName());

-										stringBuffer.append(TEXT_247);

-									}

-									stringBuffer.append(genMemberType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_248);

-									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_249);

-								}

-								stringBuffer.append(TEXT_250);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));

-								stringBuffer.append(TEXT_251);

-							}

-							stringBuffer.append(TEXT_252);

-						}

-					} else if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

-						stringBuffer.append(TEXT_253);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_254);

-					} else if (!genDataType.hasConversionDelegate()

-							&& genModel.useGenerics()

-							&& (genDataType.isArrayType()

-									|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType

-									.getEcoreDataType().getInstanceTypeName().contains("<"))) {

-						stringBuffer.append(TEXT_255);

-						if (!genDataType.isObjectType()) {

-							stringBuffer.append(TEXT_256);

-							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

-							stringBuffer.append(TEXT_257);

-						}

-						stringBuffer.append(TEXT_258);

-					} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

-						stringBuffer.append(TEXT_259);

-						stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

-						stringBuffer.append(TEXT_260);

-					} else {

-						stringBuffer.append(TEXT_261);

-						if (!genDataType.isObjectType()) {

-							stringBuffer.append(TEXT_262);

-							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());

-							stringBuffer.append(TEXT_263);

-						}

-						stringBuffer.append(TEXT_264);

-					}

-					stringBuffer.append(TEXT_265);

-					if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

-						String eDataType = genDataType.getQualifiedClassifierAccessor();

-						stringBuffer.append(TEXT_266);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_267);

-						if (genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_268);

-						}

-						stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

-						stringBuffer.append(TEXT_269);

-						if (genDataType.hasConverterBody()) {

-							stringBuffer.append(TEXT_270);

-						} else {

-							stringBuffer.append(TEXT_271);

-						}

-						stringBuffer.append(TEXT_272);

-						if (genDataType.hasConverterBody()) {

-							stringBuffer.append(TEXT_273);

-							stringBuffer.append(genDataType.getConverterBody(genModel.getIndentation(stringBuffer)));

-						} else if (genDataType instanceof GenEnum) {

-							stringBuffer.append(TEXT_274);

-						} else if (genDataType.getBaseType() != null) {

-							GenDataType genBaseType = genDataType.getBaseType();

-							boolean isPrimitiveConversion = !genDataType.isPrimitiveType()

-									&& genBaseType.isPrimitiveType();

-							if (genBaseType.getGenPackage() == genPackage) {

-								if (isPrimitiveConversion) {

-									stringBuffer.append(TEXT_275);

-									stringBuffer.append(genBaseType.getName());

-									stringBuffer.append(TEXT_276);

-									if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-										stringBuffer.append(TEXT_277);

-										stringBuffer.append(genBaseType.getPrimitiveValueFunction());

-										stringBuffer.append(TEXT_278);

-									}

-									stringBuffer.append(TEXT_279);

-								} else {

-									stringBuffer.append(TEXT_280);

-									stringBuffer.append(genBaseType.getName());

-									stringBuffer.append(TEXT_281);

-								}

-							} else if (genBaseType.getGenPackage().isDataTypeConverters()) {

-								stringBuffer.append(TEXT_282);

-								stringBuffer.append(genBaseType.getGenPackage().getQualifiedFactoryInstanceAccessor());

-								stringBuffer.append(TEXT_283);

-								stringBuffer.append(genBaseType.getName());

-								stringBuffer.append(TEXT_284);

-							} else {

-								stringBuffer.append(TEXT_285);

-								stringBuffer.append(genBaseType.getGenPackage()

-										.getQualifiedEFactoryInternalInstanceAccessor());

-								stringBuffer.append(TEXT_286);

-								stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_287);

-							}

-						} else if (genDataType.getItemType() != null) {

-							GenDataType genItemType = genDataType.getItemType();

-							stringBuffer.append(TEXT_288);

-							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));

-							stringBuffer.append(TEXT_289);

-							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));

-							stringBuffer.append(TEXT_290);

-							String item;

-							if (!genModel.useGenerics()) {

-								item = "i.next()";

-								stringBuffer.append(TEXT_291);

-								stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

-								stringBuffer.append(TEXT_292);

-							} else {

-								item = "item";

-								stringBuffer.append(TEXT_293);

-								stringBuffer.append(genModel.getImportedName("java.lang.Object"));

-								stringBuffer.append(TEXT_294);

-							}

-							stringBuffer.append(TEXT_295);

-							if (genItemType.getGenPackage() == genPackage) {

-								if (genPackage.isDataTypeConverters()) {

-									genItemType = genItemType.getObjectType();

-									stringBuffer.append(TEXT_296);

-									stringBuffer.append(genItemType.getName());

-									stringBuffer.append(TEXT_297);

-									stringBuffer.append(genItemType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_298);

-									stringBuffer.append(item);

-									stringBuffer.append(TEXT_299);

-								} else {

-									stringBuffer.append(TEXT_300);

-									stringBuffer.append(genItemType.getName());

-									stringBuffer.append(TEXT_301);

-									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_302);

-									stringBuffer.append(item);

-									stringBuffer.append(TEXT_303);

-								}

-							} else {

-								if (genItemType.getGenPackage().isDataTypeConverters()) {

-									genItemType = genItemType.getObjectType();

-									stringBuffer.append(TEXT_304);

-									stringBuffer.append(genItemType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_305);

-									stringBuffer.append(genItemType.getName());

-									stringBuffer.append(TEXT_306);

-									stringBuffer.append(genItemType.getObjectInstanceClassName());

-									stringBuffer.append(TEXT_307);

-									stringBuffer.append(item);

-									stringBuffer.append(TEXT_308);

-								} else {

-									stringBuffer.append(TEXT_309);

-									stringBuffer.append(genItemType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_310);

-									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_311);

-									stringBuffer.append(item);

-									stringBuffer.append(TEXT_312);

-								}

-							}

-							stringBuffer.append(TEXT_313);

-						} else if (!genDataType.getMemberTypes().isEmpty()) {

-							if (!genDataType.isPrimitiveType()) {

-								stringBuffer.append(TEXT_314);

-								for (GenDataType genMemberType : genDataType.getMemberTypes()) {

-									stringBuffer.append(TEXT_315);

-									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_316);

-									if (genMemberType.getGenPackage() == genPackage) {

-										if (genPackage.isDataTypeConverters()) {

-											if (genMemberType.getQualifiedInstanceClassName().equals(

-													genDataType.getQualifiedInstanceClassName())) {

-												stringBuffer.append(TEXT_317);

-												stringBuffer.append(genMemberType.getName());

-												stringBuffer.append(TEXT_318);

-											} else if (genMemberType.isPrimitiveType()

-													&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-												stringBuffer.append(TEXT_319);

-												stringBuffer.append(genMemberType.getName());

-												stringBuffer.append(TEXT_320);

-												stringBuffer.append(genMemberType.getObjectType()

-														.getImportedInstanceClassName());

-												stringBuffer.append(TEXT_321);

-												stringBuffer.append(genMemberType.getPrimitiveValueFunction());

-												stringBuffer.append(TEXT_322);

-											} else {

-												stringBuffer.append(TEXT_323);

-												stringBuffer.append(genMemberType.getName());

-												stringBuffer.append(TEXT_324);

-												stringBuffer.append(genMemberType.getObjectType()

-														.getImportedBoundedWildcardInstanceClassName());

-												stringBuffer.append(TEXT_325);

-											}

-										} else {

-											stringBuffer.append(TEXT_326);

-											stringBuffer.append(genMemberType.getName());

-											stringBuffer.append(TEXT_327);

-											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-											stringBuffer.append(TEXT_328);

-										}

-									} else {

-										if (genMemberType.getGenPackage().isDataTypeConverters()) {

-											genMemberType = genMemberType.getObjectType();

-											stringBuffer.append(TEXT_329);

-											stringBuffer.append(genMemberType.getGenPackage()

-													.getQualifiedEFactoryInternalInstanceAccessor());

-											stringBuffer.append(TEXT_330);

-											stringBuffer.append(genMemberType.getName());

-											stringBuffer.append(TEXT_331);

-											stringBuffer.append(genMemberType.getObjectInstanceClassName());

-											stringBuffer.append(TEXT_332);

-										} else {

-											stringBuffer.append(TEXT_333);

-											stringBuffer.append(genMemberType.getGenPackage()

-													.getQualifiedEFactoryInternalInstanceAccessor());

-											stringBuffer.append(TEXT_334);

-											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-											stringBuffer.append(TEXT_335);

-										}

-									}

-									stringBuffer.append(TEXT_336);

-								}

-							} else {

-								for (GenDataType genMemberType : genDataType.getMemberTypes()) {

-									stringBuffer.append(TEXT_337);

-									if (genMemberType.getGenPackage() == genPackage) {

-										if (genPackage.isDataTypeConverters()) {

-											stringBuffer.append(TEXT_338);

-											stringBuffer.append(genMemberType.getName());

-											stringBuffer.append(TEXT_339);

-										} else {

-											stringBuffer.append(TEXT_340);

-											stringBuffer.append(genMemberType.getName());

-											stringBuffer.append(TEXT_341);

-											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-											stringBuffer.append(TEXT_342);

-											if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-												stringBuffer.append(TEXT_343);

-												stringBuffer.append(genMemberType.getObjectInstanceClassName());

-												stringBuffer.append(TEXT_344);

-											} else {

-												stringBuffer.append(TEXT_345);

-											}

-											stringBuffer.append(TEXT_346);

-										}

-									} else {

-										if (genMemberType.getGenPackage().isDataTypeConverters()) {

-											stringBuffer.append(TEXT_347);

-											stringBuffer.append(genMemberType.getGenPackage()

-													.getQualifiedEFactoryInternalInstanceAccessor());

-											stringBuffer.append(TEXT_348);

-											stringBuffer.append(genMemberType.getName());

-											stringBuffer.append(TEXT_349);

-										} else {

-											stringBuffer.append(TEXT_350);

-											stringBuffer.append(genMemberType.getGenPackage()

-													.getQualifiedEFactoryInternalInstanceAccessor());

-											stringBuffer.append(TEXT_351);

-											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-											stringBuffer.append(TEXT_352);

-											if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-												stringBuffer.append(TEXT_353);

-												stringBuffer.append(genMemberType.getObjectInstanceClassName());

-												stringBuffer.append(TEXT_354);

-											} else {

-												stringBuffer.append(TEXT_355);

-											}

-											stringBuffer.append(TEXT_356);

-										}

-									}

-									stringBuffer.append(TEXT_357);

-								}

-							}

-							stringBuffer.append(TEXT_358);

-							stringBuffer.append(eDataType);

-							stringBuffer.append(TEXT_359);

-						} else if (!genDataType.hasConversionDelegate()

-								&& genModel.useGenerics()

-								&& (genDataType.isArrayType()

-										|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType

-										.getEcoreDataType().getInstanceTypeName().contains("<"))) {

-							stringBuffer.append(TEXT_360);

-						} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

-							stringBuffer.append(TEXT_361);

-							stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

-							stringBuffer.append(TEXT_362);

-						} else if (genDataType.isPrimitiveType()

-								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-							stringBuffer.append(TEXT_363);

-							stringBuffer.append(eDataType);

-							stringBuffer.append(TEXT_364);

-							stringBuffer.append(genDataType.getObjectInstanceClassName());

-							stringBuffer.append(TEXT_365);

-						} else {

-							stringBuffer.append(TEXT_366);

-							stringBuffer.append(eDataType);

-							stringBuffer.append(TEXT_367);

-						}

-						stringBuffer.append(TEXT_368);

-					}

-					stringBuffer.append(TEXT_369);

-					if (genModel.useGenerics() && (genDataType.getItemType() != null || genDataType.isUncheckedCast())

-							&& (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody())) {

-						stringBuffer.append(TEXT_370);

-					}

-					stringBuffer.append(TEXT_371);

-					stringBuffer.append(genDataType.getName());

-					stringBuffer.append(TEXT_372);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));

-					stringBuffer.append(TEXT_373);

-					if (genDataType instanceof GenEnum) {

-						if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

-							stringBuffer.append(TEXT_374);

-							stringBuffer.append(genDataType.getName());

-							stringBuffer.append(TEXT_375);

-							stringBuffer.append(genDataType.getImportedInstanceClassName());

-							stringBuffer.append(TEXT_376);

-						} else {

-							stringBuffer.append(TEXT_377);

-						}

-					} else if (genDataType.getBaseType() != null) {

-						GenDataType genBaseType = genDataType.getBaseType();

-						if (genBaseType.getGenPackage() == genPackage) {

-							stringBuffer.append(TEXT_378);

-							stringBuffer.append(genBaseType.getName());

-							stringBuffer.append(TEXT_379);

-							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_380);

-						} else {

-							stringBuffer.append(TEXT_381);

-							stringBuffer.append(genBaseType.getGenPackage()

-									.getQualifiedEFactoryInternalInstanceAccessor());

-							stringBuffer.append(TEXT_382);

-							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_383);

-						}

-					} else if (genDataType.getItemType() != null) {

-						GenDataType genItemType = genDataType.getItemType();

-						if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {

-							stringBuffer.append(TEXT_384);

-							stringBuffer.append(genDataType.getName());

-							stringBuffer.append(TEXT_385);

-							stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

-							stringBuffer.append(TEXT_386);

-						} else {

-							final String singleWildcard = genModel.useGenerics() ? "<?>" : "";

-							stringBuffer.append(TEXT_387);

-							stringBuffer.append(genModel.getImportedName("java.util.List"));

-							stringBuffer.append(singleWildcard);

-							stringBuffer.append(TEXT_388);

-							stringBuffer.append(genModel.getImportedName("java.util.List"));

-							stringBuffer.append(singleWildcard);

-							stringBuffer.append(TEXT_389);

-							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));

-							stringBuffer.append(TEXT_390);

-							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));

-							stringBuffer.append(TEXT_391);

-							String item;

-							if (!genModel.useGenerics()) {

-								item = "i.next()";

-								stringBuffer.append(TEXT_392);

-								stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

-								stringBuffer.append(TEXT_393);

-							} else {

-								item = "item";

-								stringBuffer.append(TEXT_394);

-								stringBuffer.append(genModel.getImportedName("java.lang.Object"));

-								stringBuffer.append(TEXT_395);

-							}

-							stringBuffer.append(TEXT_396);

-							if (genItemType.getGenPackage() == genPackage) {

-								stringBuffer.append(TEXT_397);

-								stringBuffer.append(genItemType.getName());

-								stringBuffer.append(TEXT_398);

-								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_399);

-								stringBuffer.append(item);

-								stringBuffer.append(TEXT_400);

-							} else {

-								stringBuffer.append(TEXT_401);

-								stringBuffer.append(genItemType.getGenPackage()

-										.getQualifiedEFactoryInternalInstanceAccessor());

-								stringBuffer.append(TEXT_402);

-								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_403);

-								stringBuffer.append(item);

-								stringBuffer.append(TEXT_404);

-							}

-							stringBuffer.append(TEXT_405);

-						}

-					} else if (!genDataType.getMemberTypes().isEmpty()) {

-						if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

-							if (genDataType.isPrimitiveType()) {

-								stringBuffer.append(TEXT_406);

-								stringBuffer.append(genDataType.getName());

-								stringBuffer.append(TEXT_407);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_408);

-								if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-									stringBuffer.append(TEXT_409);

-									stringBuffer.append(genDataType.getPrimitiveValueFunction());

-									stringBuffer.append(TEXT_410);

-								}

-								stringBuffer.append(TEXT_411);

-							} else {

-								stringBuffer.append(TEXT_412);

-								stringBuffer.append(genDataType.getName());

-								stringBuffer.append(TEXT_413);

-							}

-						} else {

-							stringBuffer.append(TEXT_414);

-							for (GenDataType genMemberType : genDataType.getMemberTypes()) {

-								stringBuffer.append(TEXT_415);

-								stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_416);

-								if (genMemberType.getGenPackage() == genPackage) {

-									stringBuffer.append(TEXT_417);

-									stringBuffer.append(genMemberType.getName());

-									stringBuffer.append(TEXT_418);

-									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_419);

-								} else {

-									stringBuffer.append(TEXT_420);

-									stringBuffer.append(genMemberType.getGenPackage()

-											.getQualifiedEFactoryInternalInstanceAccessor());

-									stringBuffer.append(TEXT_421);

-									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());

-									stringBuffer.append(TEXT_422);

-								}

-								stringBuffer.append(TEXT_423);

-							}

-							stringBuffer.append(TEXT_424);

-						}

-					} else if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {

-						if (genDataType.isPrimitiveType()) {

-							stringBuffer.append(TEXT_425);

-							stringBuffer.append(genDataType.getName());

-							stringBuffer.append(TEXT_426);

-							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_427);

-							}

-							stringBuffer.append(TEXT_428);

-							stringBuffer.append(genDataType.getObjectInstanceClassName());

-							stringBuffer.append(TEXT_429);

-							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_430);

-								stringBuffer.append(genDataType.getPrimitiveValueFunction());

-								stringBuffer.append(TEXT_431);

-							}

-							stringBuffer.append(TEXT_432);

-						} else {

-							stringBuffer.append(TEXT_433);

-							stringBuffer.append(genDataType.getName());

-							stringBuffer.append(TEXT_434);

-							stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

-							stringBuffer.append(TEXT_435);

-						}

-					} else if (!genDataType.hasConversionDelegate()

-							&& genModel.useGenerics()

-							&& (genDataType.isArrayType()

-									|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty() || genDataType

-									.getEcoreDataType().getInstanceTypeName().contains("<"))) {

-						stringBuffer.append(TEXT_436);

-					} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {

-						stringBuffer.append(TEXT_437);

-						stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));

-						stringBuffer.append(TEXT_438);

-					} else {

-						stringBuffer.append(TEXT_439);

-					}

-					stringBuffer.append(TEXT_440);

-				}

-			}

-		} else {

-			for (GenClass genClass : genPackage.getGenClasses()) {

-				if (genClass.hasFactoryInterfaceCreateMethod()) {

-					stringBuffer.append(TEXT_441);

-					stringBuffer.append(genClass.getFormattedName());

-					stringBuffer.append(TEXT_442);

-					stringBuffer.append(genClass.getFormattedName());

-					stringBuffer.append(TEXT_443);

-					stringBuffer.append(genClass.getTypeParameters());

-					stringBuffer.append(genClass.getImportedInterfaceName());

-					stringBuffer.append(genClass.getInterfaceTypeArguments());

-					stringBuffer.append(TEXT_444);

-					stringBuffer.append(genClass.getName());

-					stringBuffer.append(TEXT_445);

-				}

-			}

-			if (genPackage.isDataTypeConverters()) {

-				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

-					if (genDataType.isSerializable()) {

-						stringBuffer.append(TEXT_446);

-						stringBuffer.append(genDataType.getFormattedName());

-						stringBuffer.append(TEXT_447);

-						stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

-						stringBuffer.append(TEXT_448);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_449);

-						stringBuffer.append(genDataType.getFormattedName());

-						stringBuffer.append(TEXT_450);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_451);

-						stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());

-						stringBuffer.append(TEXT_452);

-					}

-				}

-			}

-		}

-		if (!isImplementation && !genModel.isSuppressEMFMetaData()) {

-			stringBuffer.append(TEXT_453);

-			stringBuffer.append(genPackage.getPackageInterfaceName());

-			stringBuffer.append(TEXT_454);

-			stringBuffer.append(genPackage.getBasicPackageName());

-			stringBuffer.append(TEXT_455);

-		} else if (isImplementation) {

-			stringBuffer.append(TEXT_456);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_457);

-			stringBuffer.append(genPackage.getBasicPackageName());

-			stringBuffer.append(TEXT_458);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_459);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_460);

-			}

-			stringBuffer.append(TEXT_461);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_462);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_463);

-		}

-		stringBuffer.append(TEXT_464);

-		stringBuffer.append(isInterface ? genPackage.getFactoryInterfaceName() : genPackage.getFactoryClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_465);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate && (genPackage.hasClassifiers() && !genModel.isSuppressInterfaces());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class FactoryInterface extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized FactoryInterface create(String lineSeparator) {
+		nl = lineSeparator;
+		FactoryInterface result = new FactoryInterface();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";";
+	protected final String TEXT_4 = NL + "package ";
+	protected final String TEXT_5 = ";";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL;
+	protected final String TEXT_8 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * The <b>Factory</b> for the model." + NL
+			+ " * It provides a create method for each non-abstract class of the model." + NL
+			+ " * <!-- end-user-doc -->";
+	protected final String TEXT_9 = NL + " * @see ";
+	protected final String TEXT_10 = NL + " * @generated" + NL + " */";
+	protected final String TEXT_11 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * An implementation of the model <b>Factory</b>." + NL + " * <!-- end-user-doc -->" + NL
+			+ " * @generated" + NL + " */";
+	protected final String TEXT_12 = NL + "public class ";
+	protected final String TEXT_13 = " extends ";
+	protected final String TEXT_14 = " implements ";
+	protected final String TEXT_15 = NL + "public interface ";
+	protected final String TEXT_16 = " extends ";
+	protected final String TEXT_17 = NL + "{";
+	protected final String TEXT_18 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_19 = " copyright = ";
+	protected final String TEXT_20 = ";";
+	protected final String TEXT_21 = NL;
+	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_23 = " eINSTANCE = init();" + NL;
+	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_25 = " INSTANCE = ";
+	protected final String TEXT_26 = ".eINSTANCE;" + NL;
+	protected final String TEXT_27 = NL + "\t/**" + NL + "\t * The singleton instance of the factory." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_28 = " eINSTANCE = ";
+	protected final String TEXT_29 = ".init();" + NL;
+	protected final String TEXT_30 = NL + "\t/**" + NL + "\t * Creates the default factory implementation." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_31 = NL + "\tpublic static ";
+	protected final String TEXT_32 = " init()" + NL + "\t{" + NL + "\t\ttry" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_33 = " the";
+	protected final String TEXT_34 = " = (";
+	protected final String TEXT_35 = ")";
+	protected final String TEXT_36 = ".Registry.INSTANCE.getEFactory(";
+	protected final String TEXT_37 = ".eNS_URI);" + NL + "\t\t\tif (the";
+	protected final String TEXT_38 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\treturn the";
+	protected final String TEXT_39 = ";" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL
+			+ "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_40 = ".INSTANCE.log(exception);" + NL + "\t\t}" + NL + "\t\treturn new ";
+	protected final String TEXT_41 = "();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Creates an instance of the factory." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_42 = "()" + NL + "\t{" + NL + "\t\tsuper();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_43 = NL + "\t@Override";
+	protected final String TEXT_44 = NL + "\tpublic EObject create(EClass eClass)" + NL + "\t{" + NL
+			+ "\t\tswitch (eClass.getClassifierID())" + NL + "\t\t{";
+	protected final String TEXT_45 = NL + "\t\t\tcase ";
+	protected final String TEXT_46 = ".";
+	protected final String TEXT_47 = ": return ";
+	protected final String TEXT_48 = "create";
+	protected final String TEXT_49 = "();";
+	protected final String TEXT_50 = NL + "\t\t\tdefault:" + NL
+			+ "\t\t\t\tthrow new IllegalArgumentException(\"The class '\" + eClass.getName() + \"' is not a valid classifier\");";
+	protected final String TEXT_51 = NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_52 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_53 = NL + "\t@Override";
+	protected final String TEXT_54 = NL + "\tpublic Object createFromString(";
+	protected final String TEXT_55 = " eDataType, String initialValue)" + NL + "\t{" + NL
+			+ "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";
+	protected final String TEXT_56 = NL + "\t\t\tcase ";
+	protected final String TEXT_57 = ".";
+	protected final String TEXT_58 = ":" + NL + "\t\t\t\treturn create";
+	protected final String TEXT_59 = "FromString(eDataType, initialValue);";
+	protected final String TEXT_60 = NL + "\t\t\tdefault:" + NL
+			+ "\t\t\t\tthrow new IllegalArgumentException(\"The datatype '\" + eDataType.getName() + \"' is not a valid classifier\");";
+	protected final String TEXT_61 = NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_62 = NL + "\t@Override";
+	protected final String TEXT_63 = NL + "\tpublic String convertToString(";
+	protected final String TEXT_64 = " eDataType, Object instanceValue)" + NL + "\t{" + NL
+			+ "\t\tswitch (eDataType.getClassifierID())" + NL + "\t\t{";
+	protected final String TEXT_65 = NL + "\t\t\tcase ";
+	protected final String TEXT_66 = ".";
+	protected final String TEXT_67 = ":" + NL + "\t\t\t\treturn convert";
+	protected final String TEXT_68 = "ToString(eDataType, instanceValue);";
+	protected final String TEXT_69 = NL + "\t\t\tdefault:" + NL
+			+ "\t\t\t\tthrow new IllegalArgumentException(\"The datatype '\" + eDataType.getName() + \"' is not a valid classifier\");";
+	protected final String TEXT_70 = NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_71 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_72 = " create";
+	protected final String TEXT_73 = "()" + NL + "\t{";
+	protected final String TEXT_74 = NL + "\t\t";
+	protected final String TEXT_75 = " ";
+	protected final String TEXT_76 = " = ";
+	protected final String TEXT_77 = "super.create(";
+	protected final String TEXT_78 = ");";
+	protected final String TEXT_79 = NL + "\t\t";
+	protected final String TEXT_80 = " ";
+	protected final String TEXT_81 = " = new ";
+	protected final String TEXT_82 = "()";
+	protected final String TEXT_83 = "{}";
+	protected final String TEXT_84 = ";";
+	protected final String TEXT_85 = NL + "\t\treturn ";
+	protected final String TEXT_86 = ";" + NL + "\t}" + NL;
+	protected final String TEXT_87 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_88 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_89 = NL + "\tpublic ";
+	protected final String TEXT_90 = " create";
+	protected final String TEXT_91 = "(";
+	protected final String TEXT_92 = "final ";
+	protected final String TEXT_93 = "String ";
+	protected final String TEXT_94 = "it";
+	protected final String TEXT_95 = "literal";
+	protected final String TEXT_96 = ")" + NL + "\t{";
+	protected final String TEXT_97 = NL + "\t\t";
+	protected final String TEXT_98 = NL + "\t\t";
+	protected final String TEXT_99 = " result = ";
+	protected final String TEXT_100 = ".get(literal);" + NL
+			+ "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + literal + \"' is not a valid enumerator of '\" + ";
+	protected final String TEXT_101 = ".getName() + \"'\");";
+	protected final String TEXT_102 = NL + "\t\treturn result;";
+	protected final String TEXT_103 = NL + "\t\treturn new ";
+	protected final String TEXT_104 = "(create";
+	protected final String TEXT_105 = "(literal));";
+	protected final String TEXT_106 = NL + "\t\treturn create";
+	protected final String TEXT_107 = "(literal);";
+	protected final String TEXT_108 = NL + "\t\treturn new ";
+	protected final String TEXT_109 = "(";
+	protected final String TEXT_110 = ".create";
+	protected final String TEXT_111 = "(literal));";
+	protected final String TEXT_112 = NL + "\t\treturn ";
+	protected final String TEXT_113 = ".create";
+	protected final String TEXT_114 = "(literal);";
+	protected final String TEXT_115 = NL + "\t\treturn ";
+	protected final String TEXT_116 = "(";
+	protected final String TEXT_117 = ")";
+	protected final String TEXT_118 = ".createFromString(";
+	protected final String TEXT_119 = ", literal);";
+	protected final String TEXT_120 = NL + "\t\tif (literal == null) return null;" + NL + "\t\t";
+	protected final String TEXT_121 = " result = new ";
+	protected final String TEXT_122 = "<";
+	protected final String TEXT_123 = ">";
+	protected final String TEXT_124 = "();";
+	protected final String TEXT_125 = NL + "\t\tfor (";
+	protected final String TEXT_126 = " stringTokenizer = new ";
+	protected final String TEXT_127 = "(literal); stringTokenizer.hasMoreTokens(); )";
+	protected final String TEXT_128 = NL + "\t\tfor (String item : split(literal))";
+	protected final String TEXT_129 = NL + "\t\t{";
+	protected final String TEXT_130 = NL + "\t\t\tString item = stringTokenizer.nextToken();";
+	protected final String TEXT_131 = NL + "\t\t\tresult.add(create";
+	protected final String TEXT_132 = "(item));";
+	protected final String TEXT_133 = NL + "\t\t\tresult.add(create";
+	protected final String TEXT_134 = "FromString(";
+	protected final String TEXT_135 = ", item));";
+	protected final String TEXT_136 = NL + "\t\t\tresult.add(";
+	protected final String TEXT_137 = ".create";
+	protected final String TEXT_138 = "(item));";
+	protected final String TEXT_139 = NL + "\t\t\tresult.add(";
+	protected final String TEXT_140 = ".createFromString(";
+	protected final String TEXT_141 = ", item));";
+	protected final String TEXT_142 = NL + "\t\t}" + NL + "\t\treturn result;";
+	protected final String TEXT_143 = NL + "\t\tif (literal == null) return ";
+	protected final String TEXT_144 = ";" + NL + "\t\t";
+	protected final String TEXT_145 = " result = ";
+	protected final String TEXT_146 = ";" + NL + "\t\tRuntimeException exception = null;";
+	protected final String TEXT_147 = NL + "\t\ttry" + NL + "\t\t{";
+	protected final String TEXT_148 = NL + "\t\t\tresult = create";
+	protected final String TEXT_149 = "(literal);";
+	protected final String TEXT_150 = NL + "\t\t\tresult = (";
+	protected final String TEXT_151 = ")create";
+	protected final String TEXT_152 = "FromString(";
+	protected final String TEXT_153 = ", literal);";
+	protected final String TEXT_154 = NL + "\t\t\tresult = ";
+	protected final String TEXT_155 = ".create";
+	protected final String TEXT_156 = "(literal);";
+	protected final String TEXT_157 = NL + "\t\t\tresult = (";
+	protected final String TEXT_158 = ")";
+	protected final String TEXT_159 = ".createFromString(";
+	protected final String TEXT_160 = ", literal);";
+	protected final String TEXT_161 = NL + "\t\t\tif (";
+	protected final String TEXT_162 = "result != null && ";
+	protected final String TEXT_163 = ".INSTANCE.validate(";
+	protected final String TEXT_164 = ", ";
+	protected final String TEXT_165 = "new ";
+	protected final String TEXT_166 = "(result)";
+	protected final String TEXT_167 = "result";
+	protected final String TEXT_168 = ", null, null))" + NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}"
+			+ NL + "\t\t}" + NL + "\t\tcatch (RuntimeException e)" + NL + "\t\t{" + NL + "\t\t\texception = e;" + NL
+			+ "\t\t}";
+	protected final String TEXT_169 = NL + "\t\tif (";
+	protected final String TEXT_170 = "result != null || ";
+	protected final String TEXT_171 = "exception == null) return result;" + NL + "    " + NL + "\t\tthrow exception;";
+	protected final String TEXT_172 = NL + "\t\treturn (";
+	protected final String TEXT_173 = ")super.createFromString(literal);";
+	protected final String TEXT_174 = NL + "\t\t// TODO: implement this method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";
+	protected final String TEXT_175 = "();";
+	protected final String TEXT_176 = NL + "\t\treturn ((";
+	protected final String TEXT_177 = ")super.createFromString(";
+	protected final String TEXT_178 = ", literal)).";
+	protected final String TEXT_179 = "();";
+	protected final String TEXT_180 = NL + "\t\treturn ";
+	protected final String TEXT_181 = "(";
+	protected final String TEXT_182 = ")";
+	protected final String TEXT_183 = "super.createFromString(";
+	protected final String TEXT_184 = ", literal);";
+	protected final String TEXT_185 = NL + "\t}" + NL;
+	protected final String TEXT_186 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_187 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_188 = NL + "\tpublic ";
+	protected final String TEXT_189 = " create";
+	protected final String TEXT_190 = "FromString(";
+	protected final String TEXT_191 = " eDataType, String initialValue)" + NL + "\t{";
+	protected final String TEXT_192 = NL + "\t\treturn create";
+	protected final String TEXT_193 = "(initialValue);";
+	protected final String TEXT_194 = NL + "\t\t";
+	protected final String TEXT_195 = " result = ";
+	protected final String TEXT_196 = ".get(initialValue);" + NL
+			+ "\t\tif (result == null) throw new IllegalArgumentException(\"The value '\" + initialValue + \"' is not a valid enumerator of '\" + eDataType.getName() + \"'\");";
+	protected final String TEXT_197 = NL + "\t\treturn result;";
+	protected final String TEXT_198 = NL + "\t\treturn ";
+	protected final String TEXT_199 = "(";
+	protected final String TEXT_200 = ")";
+	protected final String TEXT_201 = "create";
+	protected final String TEXT_202 = "FromString(";
+	protected final String TEXT_203 = ", initialValue);";
+	protected final String TEXT_204 = NL + "\t\treturn ";
+	protected final String TEXT_205 = "(";
+	protected final String TEXT_206 = ")";
+	protected final String TEXT_207 = ".createFromString(";
+	protected final String TEXT_208 = ", initialValue);";
+	protected final String TEXT_209 = NL + "\t\treturn create";
+	protected final String TEXT_210 = "(initialValue);";
+	protected final String TEXT_211 = NL + "\t\tif (initialValue == null) return null;" + NL + "\t\t";
+	protected final String TEXT_212 = " result = new ";
+	protected final String TEXT_213 = "<";
+	protected final String TEXT_214 = ">";
+	protected final String TEXT_215 = "();";
+	protected final String TEXT_216 = NL + "\t\tfor (";
+	protected final String TEXT_217 = " stringTokenizer = new ";
+	protected final String TEXT_218 = "(initialValue); stringTokenizer.hasMoreTokens(); )";
+	protected final String TEXT_219 = NL + "\t\tfor (String item : split(initialValue))";
+	protected final String TEXT_220 = NL + "\t\t{";
+	protected final String TEXT_221 = NL + "\t\t\tString item = stringTokenizer.nextToken();";
+	protected final String TEXT_222 = NL + "\t\t\tresult.add(create";
+	protected final String TEXT_223 = "FromString(";
+	protected final String TEXT_224 = ", item));";
+	protected final String TEXT_225 = NL + "\t\t\tresult.add(";
+	protected final String TEXT_226 = "(";
+	protected final String TEXT_227 = ")";
+	protected final String TEXT_228 = ".createFromString(";
+	protected final String TEXT_229 = ", item));";
+	protected final String TEXT_230 = NL + "\t\t}" + NL + "\t\treturn result;";
+	protected final String TEXT_231 = NL + "\t\treturn new ";
+	protected final String TEXT_232 = "(create";
+	protected final String TEXT_233 = "(initialValue));";
+	protected final String TEXT_234 = NL + "\t\treturn create";
+	protected final String TEXT_235 = "(initialValue);";
+	protected final String TEXT_236 = NL + "\t\tif (initialValue == null) return null;" + NL + "\t\t";
+	protected final String TEXT_237 = " result = null;" + NL + "\t\tRuntimeException exception = null;";
+	protected final String TEXT_238 = NL + "\t\ttry" + NL + "\t\t{";
+	protected final String TEXT_239 = NL + "\t\t\tresult = ";
+	protected final String TEXT_240 = "(";
+	protected final String TEXT_241 = ")";
+	protected final String TEXT_242 = "create";
+	protected final String TEXT_243 = "FromString(";
+	protected final String TEXT_244 = ", initialValue);";
+	protected final String TEXT_245 = NL + "\t\t\tresult = ";
+	protected final String TEXT_246 = "(";
+	protected final String TEXT_247 = ")";
+	protected final String TEXT_248 = ".createFromString(";
+	protected final String TEXT_249 = ", initialValue);";
+	protected final String TEXT_250 = NL + "\t\t\tif (result != null && ";
+	protected final String TEXT_251 = ".INSTANCE.validate(eDataType, result, null, null))" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\tcatch (RuntimeException e)" + NL
+			+ "\t\t{" + NL + "\t\t\texception = e;" + NL + "\t\t}";
+	protected final String TEXT_252 = NL + "\t\tif (result != null || exception == null) return result;" + NL + "    "
+			+ NL + "\t\tthrow exception;";
+	protected final String TEXT_253 = NL + "\t\treturn create";
+	protected final String TEXT_254 = "(initialValue);";
+	protected final String TEXT_255 = NL + "\t\treturn ";
+	protected final String TEXT_256 = "(";
+	protected final String TEXT_257 = ")";
+	protected final String TEXT_258 = "super.createFromString(initialValue);";
+	protected final String TEXT_259 = NL + "\t\t// TODO: implement this method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";
+	protected final String TEXT_260 = "();";
+	protected final String TEXT_261 = NL + "\t\treturn ";
+	protected final String TEXT_262 = "(";
+	protected final String TEXT_263 = ")";
+	protected final String TEXT_264 = "super.createFromString(eDataType, initialValue);";
+	protected final String TEXT_265 = NL + "\t}" + NL;
+	protected final String TEXT_266 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic String convert";
+	protected final String TEXT_267 = "(";
+	protected final String TEXT_268 = "final ";
+	protected final String TEXT_269 = " ";
+	protected final String TEXT_270 = "it";
+	protected final String TEXT_271 = "instanceValue";
+	protected final String TEXT_272 = ")" + NL + "\t{";
+	protected final String TEXT_273 = NL + "\t\t";
+	protected final String TEXT_274 = NL + "\t\treturn instanceValue == null ? null : instanceValue.toString();";
+	protected final String TEXT_275 = NL + "\t\treturn instanceValue == null ? null : convert";
+	protected final String TEXT_276 = "(instanceValue";
+	protected final String TEXT_277 = ".";
+	protected final String TEXT_278 = "()";
+	protected final String TEXT_279 = ");";
+	protected final String TEXT_280 = NL + "\t\treturn convert";
+	protected final String TEXT_281 = "(instanceValue);";
+	protected final String TEXT_282 = NL + "\t\treturn ";
+	protected final String TEXT_283 = ".convert";
+	protected final String TEXT_284 = "(instanceValue);";
+	protected final String TEXT_285 = NL + "\t\treturn ";
+	protected final String TEXT_286 = ".convertToString(";
+	protected final String TEXT_287 = ", instanceValue);";
+	protected final String TEXT_288 = NL + "\t\tif (instanceValue == null) return null;" + NL
+			+ "\t\tif (instanceValue.isEmpty()) return \"\";" + NL + "\t\t";
+	protected final String TEXT_289 = " result = new ";
+	protected final String TEXT_290 = "();";
+	protected final String TEXT_291 = NL + "\t\tfor (";
+	protected final String TEXT_292 = " i = instanceValue.iterator(); i.hasNext(); )";
+	protected final String TEXT_293 = NL + "\t\tfor (";
+	protected final String TEXT_294 = " item : instanceValue)";
+	protected final String TEXT_295 = NL + "\t\t{";
+	protected final String TEXT_296 = NL + "\t\t\tresult.append(convert";
+	protected final String TEXT_297 = "((";
+	protected final String TEXT_298 = ")";
+	protected final String TEXT_299 = "));";
+	protected final String TEXT_300 = NL + "\t\t\tresult.append(convert";
+	protected final String TEXT_301 = "ToString(";
+	protected final String TEXT_302 = ", ";
+	protected final String TEXT_303 = "));";
+	protected final String TEXT_304 = NL + "\t\t\tresult.append(";
+	protected final String TEXT_305 = ".convert";
+	protected final String TEXT_306 = "((";
+	protected final String TEXT_307 = ")";
+	protected final String TEXT_308 = "));";
+	protected final String TEXT_309 = NL + "\t\t\tresult.append(";
+	protected final String TEXT_310 = ".convertToString(";
+	protected final String TEXT_311 = ", ";
+	protected final String TEXT_312 = "));";
+	protected final String TEXT_313 = NL + "\t\t\tresult.append(' ');" + NL + "\t\t}" + NL
+			+ "\t\treturn result.substring(0, result.length() - 1);";
+	protected final String TEXT_314 = NL + "\t\tif (instanceValue == null) return null;";
+	protected final String TEXT_315 = NL + "\t\tif (";
+	protected final String TEXT_316 = ".isInstance(instanceValue))" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{";
+	protected final String TEXT_317 = NL + "\t\t\t\tString value = convert";
+	protected final String TEXT_318 = "(instanceValue);";
+	protected final String TEXT_319 = NL + "\t\t\t\tString value = convert";
+	protected final String TEXT_320 = "(((";
+	protected final String TEXT_321 = ")instanceValue).";
+	protected final String TEXT_322 = "());";
+	protected final String TEXT_323 = NL + "\t\t\t\tString value = convert";
+	protected final String TEXT_324 = "((";
+	protected final String TEXT_325 = ")instanceValue);";
+	protected final String TEXT_326 = NL + "\t\t\t\tString value = convert";
+	protected final String TEXT_327 = "ToString(";
+	protected final String TEXT_328 = ", instanceValue);";
+	protected final String TEXT_329 = NL + "\t\t\t\tString value = ";
+	protected final String TEXT_330 = ".convert";
+	protected final String TEXT_331 = "((";
+	protected final String TEXT_332 = ")instanceValue);";
+	protected final String TEXT_333 = NL + "\t\t\t\tString value = ";
+	protected final String TEXT_334 = ".convertToString(";
+	protected final String TEXT_335 = ", instanceValue);";
+	protected final String TEXT_336 = NL + "\t\t\t\tif (value != null) return value;" + NL + "\t\t\t}" + NL
+			+ "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_337 = NL + "\t\ttry" + NL + "\t\t{";
+	protected final String TEXT_338 = NL + "\t\t\tString value = convert";
+	protected final String TEXT_339 = "(instanceValue);";
+	protected final String TEXT_340 = NL + "\t\t\tString value = convert";
+	protected final String TEXT_341 = "ToString(";
+	protected final String TEXT_342 = ", ";
+	protected final String TEXT_343 = "new ";
+	protected final String TEXT_344 = "(instanceValue)";
+	protected final String TEXT_345 = "instanceValue";
+	protected final String TEXT_346 = ");";
+	protected final String TEXT_347 = NL + "\t\t\tString value = ";
+	protected final String TEXT_348 = ".convert";
+	protected final String TEXT_349 = "(instanceValue);";
+	protected final String TEXT_350 = NL + "\t\t\tString value = ";
+	protected final String TEXT_351 = ".convertToString(";
+	protected final String TEXT_352 = ", ";
+	protected final String TEXT_353 = "new ";
+	protected final String TEXT_354 = "(instanceValue)";
+	protected final String TEXT_355 = "instanceValue";
+	protected final String TEXT_356 = ");";
+	protected final String TEXT_357 = NL + "\t\t\tif (value != null) return value;" + NL + "\t\t}" + NL
+			+ "\t\tcatch (Exception e)" + NL + "\t\t{" + NL
+			+ "\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t}";
+	protected final String TEXT_358 = NL
+			+ "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+";
+	protected final String TEXT_359 = ".getName());";
+	protected final String TEXT_360 = NL + "\t\treturn super.convertToString(instanceValue);";
+	protected final String TEXT_361 = NL + "\t\t// TODO: implement this method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";
+	protected final String TEXT_362 = "();";
+	protected final String TEXT_363 = NL + "\t\treturn super.convertToString(";
+	protected final String TEXT_364 = ", new ";
+	protected final String TEXT_365 = "(instanceValue));";
+	protected final String TEXT_366 = NL + "\t\treturn super.convertToString(";
+	protected final String TEXT_367 = ", instanceValue);";
+	protected final String TEXT_368 = NL + "\t}" + NL;
+	protected final String TEXT_369 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_370 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_371 = NL + "\tpublic String convert";
+	protected final String TEXT_372 = "ToString(";
+	protected final String TEXT_373 = " eDataType, Object instanceValue)" + NL + "\t{";
+	protected final String TEXT_374 = NL + "\t\treturn convert";
+	protected final String TEXT_375 = "((";
+	protected final String TEXT_376 = ")instanceValue);";
+	protected final String TEXT_377 = NL + "\t\treturn instanceValue == null ? null : instanceValue.toString();";
+	protected final String TEXT_378 = NL + "\t\treturn convert";
+	protected final String TEXT_379 = "ToString(";
+	protected final String TEXT_380 = ", instanceValue);";
+	protected final String TEXT_381 = NL + "\t\treturn ";
+	protected final String TEXT_382 = ".convertToString(";
+	protected final String TEXT_383 = ", instanceValue);";
+	protected final String TEXT_384 = NL + "\t\treturn convert";
+	protected final String TEXT_385 = "((";
+	protected final String TEXT_386 = ")instanceValue);";
+	protected final String TEXT_387 = NL + "\t\tif (instanceValue == null) return null;" + NL + "\t\t";
+	protected final String TEXT_388 = " list = (";
+	protected final String TEXT_389 = ")instanceValue;" + NL + "\t\tif (list.isEmpty()) return \"\";" + NL + "\t\t";
+	protected final String TEXT_390 = " result = new ";
+	protected final String TEXT_391 = "();";
+	protected final String TEXT_392 = NL + "\t\tfor (";
+	protected final String TEXT_393 = " i = list.iterator(); i.hasNext(); )";
+	protected final String TEXT_394 = NL + "\t\tfor (";
+	protected final String TEXT_395 = " item : list)";
+	protected final String TEXT_396 = NL + "\t\t{";
+	protected final String TEXT_397 = NL + "\t\t\tresult.append(convert";
+	protected final String TEXT_398 = "ToString(";
+	protected final String TEXT_399 = ", ";
+	protected final String TEXT_400 = "));";
+	protected final String TEXT_401 = NL + "\t\t\tresult.append(";
+	protected final String TEXT_402 = ".convertToString(";
+	protected final String TEXT_403 = ", ";
+	protected final String TEXT_404 = "));";
+	protected final String TEXT_405 = NL + "\t\t\tresult.append(' ');" + NL + "\t\t}" + NL
+			+ "\t\treturn result.substring(0, result.length() - 1);";
+	protected final String TEXT_406 = NL + "\t\treturn instanceValue == null ? null : convert";
+	protected final String TEXT_407 = "(((";
+	protected final String TEXT_408 = ")instanceValue)";
+	protected final String TEXT_409 = ".";
+	protected final String TEXT_410 = "()";
+	protected final String TEXT_411 = ");";
+	protected final String TEXT_412 = NL + "\t\treturn convert";
+	protected final String TEXT_413 = "(instanceValue);";
+	protected final String TEXT_414 = NL + "\t\tif (instanceValue == null) return null;";
+	protected final String TEXT_415 = NL + "\t\tif (";
+	protected final String TEXT_416 = ".isInstance(instanceValue))" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{";
+	protected final String TEXT_417 = NL + "\t\t\t\tString value = convert";
+	protected final String TEXT_418 = "ToString(";
+	protected final String TEXT_419 = ", instanceValue);";
+	protected final String TEXT_420 = NL + "\t\t\t\tString value = ";
+	protected final String TEXT_421 = ".convertToString(";
+	protected final String TEXT_422 = ", instanceValue);";
+	protected final String TEXT_423 = NL + "\t\t\t\tif (value != null) return value;" + NL + "\t\t\t}" + NL
+			+ "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t// Keep trying other member types until all have failed." + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_424 = NL
+			+ "\t\tthrow new IllegalArgumentException(\"Invalid value: '\"+instanceValue+\"' for datatype :\"+eDataType.getName());";
+	protected final String TEXT_425 = NL + "\t\treturn instanceValue == null ? null : convert";
+	protected final String TEXT_426 = "(";
+	protected final String TEXT_427 = "(";
+	protected final String TEXT_428 = "(";
+	protected final String TEXT_429 = ")instanceValue";
+	protected final String TEXT_430 = ").";
+	protected final String TEXT_431 = "()";
+	protected final String TEXT_432 = ");";
+	protected final String TEXT_433 = NL + "\t\treturn convert";
+	protected final String TEXT_434 = "((";
+	protected final String TEXT_435 = ")instanceValue);";
+	protected final String TEXT_436 = NL + "\t\treturn super.convertToString(instanceValue);";
+	protected final String TEXT_437 = NL + "\t\t// TODO: implement this method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new ";
+	protected final String TEXT_438 = "();";
+	protected final String TEXT_439 = NL + "\t\treturn super.convertToString(eDataType, instanceValue);";
+	protected final String TEXT_440 = NL + "\t}" + NL;
+	protected final String TEXT_441 = NL + "\t/**" + NL + "\t * Returns a new object of class '<em>";
+	protected final String TEXT_442 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return a new object of class '<em>";
+	protected final String TEXT_443 = "</em>'." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_444 = " create";
+	protected final String TEXT_445 = "();" + NL;
+	protected final String TEXT_446 = NL + "\t/**" + NL + "\t * Returns an instance of data type '<em>";
+	protected final String TEXT_447 = "</em>' corresponding the given literal." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param literal a literal of the data type." + NL
+			+ "\t * @return a new instance value of the data type." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_448 = " create";
+	protected final String TEXT_449 = "(String literal);" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Returns a literal representation of an instance of data type '<em>";
+	protected final String TEXT_450 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @param instanceValue an instance value of the data type." + NL
+			+ "\t * @return a literal representation of the instance value." + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tString convert";
+	protected final String TEXT_451 = "(";
+	protected final String TEXT_452 = " instanceValue);" + NL;
+	protected final String TEXT_453 = NL + "\t/**" + NL + "\t * Returns the package supported by this factory." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the package supported by this factory." + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_454 = " get";
+	protected final String TEXT_455 = "();" + NL;
+	protected final String TEXT_456 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_457 = " get";
+	protected final String TEXT_458 = "()" + NL + "\t{" + NL + "\t\treturn (";
+	protected final String TEXT_459 = ")getEPackage();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @deprecated" + NL
+			+ "\t * @generated" + NL + "\t */";
+	protected final String TEXT_460 = NL + "\t@Deprecated";
+	protected final String TEXT_461 = NL + "\tpublic static ";
+	protected final String TEXT_462 = " getPackage()" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_463 = ".eINSTANCE;" + NL + "\t}" + NL;
+	protected final String TEXT_464 = NL + "} //";
+	protected final String TEXT_465 = NL;
+	protected final String TEXT_466 = NL;
+	protected final String TEXT_467 = NL;
+
+	public FactoryInterface() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_466);
+		stringBuffer.append(TEXT_467);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getModelDirectory();
+		packageName = genPackage.getReflectionPackageName();
+		className = genPackage.getFactoryInterfaceName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = ((Object[]) new Object[] { new Object[] { genPackage, Boolean.TRUE, Boolean.FALSE } })[0];
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2010 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];
+		GenModel genModel = genPackage.getGenModel();
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
+		boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
+		String publicStaticFinalFlag = isImplementation ? "public static final " : "";
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		if (isInterface || genModel.isSuppressInterfaces()) {
+			stringBuffer.append(TEXT_2);
+			stringBuffer.append(genPackage.getReflectionPackageName());
+			stringBuffer.append(TEXT_3);
+		} else {
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(genPackage.getClassPackageName());
+			stringBuffer.append(TEXT_5);
+		}
+		stringBuffer.append(TEXT_6);
+		if (isImplementation) {
+			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");
+			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");
+			genModel.addImport("org.eclipse.emf.ecore.EClass");
+			genModel.addImport("org.eclipse.emf.ecore.EObject");
+			if (!genPackage.hasJavaLangConflict() && !genPackage.hasInterfaceImplConflict()
+					&& !genPackage.getClassPackageName().equals(genPackage.getInterfacePackageName()))
+				genModel.addImport(genPackage.getInterfacePackageName() + ".*");
+		}
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_7);
+		if (isInterface) {
+			stringBuffer.append(TEXT_8);
+			if (!genModel.isSuppressEMFMetaData()) {
+				stringBuffer.append(TEXT_9);
+				stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+			}
+			stringBuffer.append(TEXT_10);
+		} else {
+			stringBuffer.append(TEXT_11);
+		}
+		if (isImplementation) {
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genPackage.getFactoryClassName());
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EFactoryImpl"));
+			if (!genModel.isSuppressInterfaces()) {
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
+			}
+		} else {
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genPackage.getFactoryInterfaceName());
+			if (!genModel.isSuppressEMFMetaData()) {
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EFactory"));
+			}
+		}
+		stringBuffer.append(TEXT_17);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_21);
+		}
+		if (isImplementation && (genModel.isSuppressEMFMetaData() || genModel.isSuppressInterfaces())) {
+			stringBuffer.append(TEXT_22);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genPackage.getFactoryClassName());
+			stringBuffer.append(TEXT_23);
+		}
+		if (isInterface && genModel.isSuppressEMFMetaData()) {
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genPackage.getFactoryInterfaceName());
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genPackage.getQualifiedFactoryClassName());
+			stringBuffer.append(TEXT_26);
+		} else if (isInterface && !genModel.isSuppressInterfaces()) {
+			stringBuffer.append(TEXT_27);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genPackage.getFactoryInterfaceName());
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(genPackage.getQualifiedFactoryClassName());
+			stringBuffer.append(TEXT_29);
+		}
+		if (isImplementation) {
+			stringBuffer.append(TEXT_30);
+			String factoryType = genModel.isSuppressEMFMetaData() ? genPackage.getFactoryClassName()
+					: genPackage.getImportedFactoryInterfaceName();
+			stringBuffer.append(TEXT_31);
+			stringBuffer.append(factoryType);
+			stringBuffer.append(TEXT_32);
+			stringBuffer.append(factoryType);
+			stringBuffer.append(TEXT_33);
+			stringBuffer.append(genPackage.getFactoryName());
+			stringBuffer.append(TEXT_34);
+			stringBuffer.append(factoryType);
+			stringBuffer.append(TEXT_35);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_36);
+			stringBuffer.append(genPackage.getPackageInterfaceName());
+			stringBuffer.append(TEXT_37);
+			stringBuffer.append(genPackage.getFactoryName());
+			stringBuffer.append(TEXT_38);
+			stringBuffer.append(genPackage.getFactoryName());
+			stringBuffer.append(TEXT_39);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+			stringBuffer.append(TEXT_40);
+			stringBuffer.append(genPackage.getImportedFactoryClassName());
+			stringBuffer.append(TEXT_41);
+			stringBuffer.append(genPackage.getFactoryClassName());
+			stringBuffer.append(TEXT_42);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_43);
+			}
+			stringBuffer.append(TEXT_44);
+			for (GenClass genClass : genPackage.getGenClasses()) {
+				if (!genClass.isAbstract()) {
+					stringBuffer.append(TEXT_45);
+					stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(genClass.getClassifierID());
+					stringBuffer.append(TEXT_47);
+					stringBuffer.append(!genClass.isEObjectExtension() ? "(EObject)" : "");
+					stringBuffer.append(TEXT_48);
+					stringBuffer.append(genClass.getName());
+					stringBuffer.append(TEXT_49);
+				}
+			}
+			stringBuffer.append(TEXT_50);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(genModel.getNonNLS(2));
+			stringBuffer.append(TEXT_51);
+			if (!genPackage.getAllGenDataTypes().isEmpty()) {
+				stringBuffer.append(TEXT_52);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_53);
+				}
+				stringBuffer.append(TEXT_54);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+				stringBuffer.append(TEXT_55);
+				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+					if (genDataType.isSerializable()) {
+						stringBuffer.append(TEXT_56);
+						stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+						stringBuffer.append(TEXT_57);
+						stringBuffer.append(genDataType.getClassifierID());
+						stringBuffer.append(TEXT_58);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_59);
+					}
+				}
+				stringBuffer.append(TEXT_60);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(genModel.getNonNLS(2));
+				stringBuffer.append(TEXT_61);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_62);
+				}
+				stringBuffer.append(TEXT_63);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+				stringBuffer.append(TEXT_64);
+				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+					if (genDataType.isSerializable()) {
+						stringBuffer.append(TEXT_65);
+						stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+						stringBuffer.append(TEXT_66);
+						stringBuffer.append(genDataType.getClassifierID());
+						stringBuffer.append(TEXT_67);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_68);
+					}
+				}
+				stringBuffer.append(TEXT_69);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(genModel.getNonNLS(2));
+				stringBuffer.append(TEXT_70);
+			}
+			for (GenClass genClass : genPackage.getGenClasses()) {
+				if (!genClass.isAbstract()) {
+					stringBuffer.append(TEXT_71);
+					stringBuffer.append(genClass.getTypeParameters());
+					stringBuffer.append(genClass.getImportedInterfaceName());
+					stringBuffer.append(genClass.getInterfaceTypeArguments());
+					stringBuffer.append(TEXT_72);
+					stringBuffer.append(genClass.getName());
+					stringBuffer.append(TEXT_73);
+					if (genClass.isDynamic()) {
+						stringBuffer.append(TEXT_74);
+						stringBuffer.append(genClass.getImportedInterfaceName());
+						stringBuffer.append(genClass.getInterfaceTypeArguments());
+						stringBuffer.append(TEXT_75);
+						stringBuffer.append(genClass.getSafeUncapName());
+						stringBuffer.append(TEXT_76);
+						stringBuffer.append(genClass.getCastFromEObject());
+						stringBuffer.append(TEXT_77);
+						stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+						stringBuffer.append(TEXT_78);
+					} else {
+						stringBuffer.append(TEXT_79);
+						stringBuffer.append(genClass.getImportedClassName());
+						stringBuffer.append(genClass.getClassTypeArguments());
+						stringBuffer.append(TEXT_80);
+						stringBuffer.append(genClass.getSafeUncapName());
+						stringBuffer.append(TEXT_81);
+						stringBuffer.append(genClass.getImportedClassName());
+						stringBuffer.append(genClass.getClassTypeArguments());
+						stringBuffer.append(TEXT_82);
+						if (genModel.isSuppressInterfaces() && !genPackage.getReflectionPackageName()
+								.equals(genPackage.getInterfacePackageName())) {
+							stringBuffer.append(TEXT_83);
+						}
+						stringBuffer.append(TEXT_84);
+					}
+					stringBuffer.append(TEXT_85);
+					stringBuffer.append(genClass.getSafeUncapName());
+					stringBuffer.append(TEXT_86);
+				}
+			}
+			for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+				if (genDataType.isSerializable()) {
+					if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+						String eDataType = genDataType.getQualifiedClassifierAccessor();
+						stringBuffer.append(TEXT_87);
+						if (genModel.useGenerics() && genDataType.isUncheckedCast() && !genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_88);
+						}
+						stringBuffer.append(TEXT_89);
+						stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+						stringBuffer.append(TEXT_90);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_91);
+						if (genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_92);
+						}
+						stringBuffer.append(TEXT_93);
+						if (genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_94);
+						} else {
+							stringBuffer.append(TEXT_95);
+						}
+						stringBuffer.append(TEXT_96);
+						if (genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_97);
+							stringBuffer.append(genDataType.getCreatorBody(genModel.getIndentation(stringBuffer)));
+						} else if (genDataType instanceof GenEnum) {
+							stringBuffer.append(TEXT_98);
+							stringBuffer.append(genDataType.getImportedInstanceClassName());
+							stringBuffer.append(TEXT_99);
+							stringBuffer.append(genDataType.getImportedInstanceClassName());
+							stringBuffer.append(TEXT_100);
+							stringBuffer.append(eDataType);
+							stringBuffer.append(TEXT_101);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(genModel.getNonNLS(2));
+							stringBuffer.append(genModel.getNonNLS(3));
+							stringBuffer.append(TEXT_102);
+						} else if (genDataType.getBaseType() != null) {
+							GenDataType genBaseType = genDataType.getBaseType();
+							boolean isPrimitiveConversion = !genDataType.isPrimitiveType()
+									&& genBaseType.isPrimitiveType();
+							if (genBaseType.getGenPackage() == genPackage) {
+								if (isPrimitiveConversion
+										&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+									stringBuffer.append(TEXT_103);
+									stringBuffer.append(genDataType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_104);
+									stringBuffer.append(genBaseType.getName());
+									stringBuffer.append(TEXT_105);
+								} else {
+									stringBuffer.append(TEXT_106);
+									stringBuffer.append(genBaseType.getName());
+									stringBuffer.append(TEXT_107);
+								}
+							} else if (genBaseType.getGenPackage().isDataTypeConverters()) {
+								if (isPrimitiveConversion
+										&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+									stringBuffer.append(TEXT_108);
+									stringBuffer.append(genDataType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_109);
+									stringBuffer.append(
+											genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_110);
+									stringBuffer.append(genBaseType.getName());
+									stringBuffer.append(TEXT_111);
+								} else {
+									stringBuffer.append(TEXT_112);
+									stringBuffer.append(
+											genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_113);
+									stringBuffer.append(genBaseType.getName());
+									stringBuffer.append(TEXT_114);
+								}
+							} else {
+								stringBuffer.append(TEXT_115);
+								if (!genDataType.isObjectType()) {
+									stringBuffer.append(TEXT_116);
+									stringBuffer.append(genDataType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_117);
+								}
+								stringBuffer.append(
+										genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+								stringBuffer.append(TEXT_118);
+								stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_119);
+							}
+						} else if (genDataType.getItemType() != null) {
+							GenDataType genItemType = genDataType.getItemType();
+							stringBuffer.append(TEXT_120);
+							stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+							stringBuffer.append(TEXT_121);
+							stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));
+							if (genModel.useGenerics()) {
+								stringBuffer.append(TEXT_122);
+								stringBuffer.append(
+										genItemType.getObjectType().getImportedParameterizedInstanceClassName());
+								stringBuffer.append(TEXT_123);
+							}
+							stringBuffer.append(TEXT_124);
+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+								stringBuffer.append(TEXT_125);
+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+								stringBuffer.append(TEXT_126);
+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+								stringBuffer.append(TEXT_127);
+							} else {
+								stringBuffer.append(TEXT_128);
+							}
+							stringBuffer.append(TEXT_129);
+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+								stringBuffer.append(TEXT_130);
+							}
+							if (genItemType.getGenPackage() == genPackage) {
+								if (genPackage.isDataTypeConverters()) {
+									genItemType = genItemType.getObjectType();
+									stringBuffer.append(TEXT_131);
+									stringBuffer.append(genItemType.getName());
+									stringBuffer.append(TEXT_132);
+								} else {
+									stringBuffer.append(TEXT_133);
+									stringBuffer.append(genItemType.getName());
+									stringBuffer.append(TEXT_134);
+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_135);
+								}
+							} else {
+								if (genItemType.getGenPackage().isDataTypeConverters()) {
+									genItemType = genItemType.getObjectType();
+									stringBuffer.append(TEXT_136);
+									stringBuffer.append(
+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_137);
+									stringBuffer.append(genItemType.getName());
+									stringBuffer.append(TEXT_138);
+								} else {
+									stringBuffer.append(TEXT_139);
+									stringBuffer.append(
+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_140);
+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_141);
+								}
+							}
+							stringBuffer.append(TEXT_142);
+						} else if (!genDataType.getMemberTypes().isEmpty()) {
+							stringBuffer.append(TEXT_143);
+							stringBuffer.append(genDataType.getStaticValue(null));
+							stringBuffer.append(TEXT_144);
+							stringBuffer.append(genDataType.getImportedInstanceClassName());
+							stringBuffer.append(TEXT_145);
+							stringBuffer.append(genDataType.getStaticValue(null));
+							stringBuffer.append(TEXT_146);
+							for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+								stringBuffer.append(TEXT_147);
+								if (genMemberType.getGenPackage() == genPackage) {
+									if (genPackage.isDataTypeConverters()) {
+										if (!genDataType.isPrimitiveType())
+											genMemberType = genMemberType.getObjectType();
+										stringBuffer.append(TEXT_148);
+										stringBuffer.append(genMemberType.getName());
+										stringBuffer.append(TEXT_149);
+									} else {
+										stringBuffer.append(TEXT_150);
+										stringBuffer.append(genDataType.getObjectInstanceClassName());
+										stringBuffer.append(TEXT_151);
+										stringBuffer.append(genMemberType.getName());
+										stringBuffer.append(TEXT_152);
+										stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+										stringBuffer.append(TEXT_153);
+									}
+								} else {
+									if (genPackage.isDataTypeConverters()) {
+										if (!genDataType.isPrimitiveType())
+											genMemberType = genMemberType.getObjectType();
+										stringBuffer.append(TEXT_154);
+										stringBuffer.append(genMemberType.getGenPackage()
+												.getQualifiedEFactoryInternalInstanceAccessor());
+										stringBuffer.append(TEXT_155);
+										stringBuffer.append(genMemberType.getName());
+										stringBuffer.append(TEXT_156);
+									} else {
+										stringBuffer.append(TEXT_157);
+										stringBuffer.append(genDataType.getObjectInstanceClassName());
+										stringBuffer.append(TEXT_158);
+										stringBuffer.append(genMemberType.getGenPackage()
+												.getQualifiedEFactoryInternalInstanceAccessor());
+										stringBuffer.append(TEXT_159);
+										stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+										stringBuffer.append(TEXT_160);
+									}
+								}
+								stringBuffer.append(TEXT_161);
+								if (!genDataType.isPrimitiveType()) {
+									stringBuffer.append(TEXT_162);
+								}
+								stringBuffer
+										.append(genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));
+								stringBuffer.append(TEXT_163);
+								stringBuffer.append(eDataType);
+								stringBuffer.append(TEXT_164);
+								if (genDataType.isPrimitiveType()
+										&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+									stringBuffer.append(TEXT_165);
+									stringBuffer.append(genDataType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_166);
+								} else {
+									stringBuffer.append(TEXT_167);
+								}
+								stringBuffer.append(TEXT_168);
+							}
+							stringBuffer.append(TEXT_169);
+							if (!genDataType.isPrimitiveType()) {
+								stringBuffer.append(TEXT_170);
+							}
+							stringBuffer.append(TEXT_171);
+						} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+								&& (genDataType.isArrayType()
+										|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+										|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+							stringBuffer.append(TEXT_172);
+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+							stringBuffer.append(TEXT_173);
+						} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+							stringBuffer.append(TEXT_174);
+							stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+							stringBuffer.append(TEXT_175);
+						} else if (genDataType.isPrimitiveType()
+								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+							stringBuffer.append(TEXT_176);
+							stringBuffer.append(genDataType.getObjectInstanceClassName());
+							stringBuffer.append(TEXT_177);
+							stringBuffer.append(eDataType);
+							stringBuffer.append(TEXT_178);
+							stringBuffer.append(genDataType.getPrimitiveValueFunction());
+							stringBuffer.append(TEXT_179);
+						} else {
+							stringBuffer.append(TEXT_180);
+							if (!genDataType.isObjectType()) {
+								stringBuffer.append(TEXT_181);
+								stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+								stringBuffer.append(TEXT_182);
+							}
+							stringBuffer.append(TEXT_183);
+							stringBuffer.append(eDataType);
+							stringBuffer.append(TEXT_184);
+						}
+						stringBuffer.append(TEXT_185);
+					}
+					stringBuffer.append(TEXT_186);
+					if (!genPackage.isDataTypeConverters() && genModel.useGenerics() && genDataType.isUncheckedCast()
+							&& !genDataType.hasCreatorBody()) {
+						stringBuffer.append(TEXT_187);
+					}
+					stringBuffer.append(TEXT_188);
+					stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+					stringBuffer.append(TEXT_189);
+					stringBuffer.append(genDataType.getName());
+					stringBuffer.append(TEXT_190);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+					stringBuffer.append(TEXT_191);
+					if (genDataType instanceof GenEnum) {
+						if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_192);
+							stringBuffer.append(genDataType.getName());
+							stringBuffer.append(TEXT_193);
+						} else {
+							stringBuffer.append(TEXT_194);
+							stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());
+							stringBuffer.append(TEXT_195);
+							stringBuffer.append(((GenEnum) genDataType).getImportedInstanceClassName());
+							stringBuffer.append(TEXT_196);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(genModel.getNonNLS(2));
+							stringBuffer.append(genModel.getNonNLS(3));
+							stringBuffer.append(TEXT_197);
+						}
+					} else if (genDataType.getBaseType() != null) {
+						GenDataType genBaseType = genDataType.getBaseType();
+						if (genBaseType.getGenPackage() == genPackage) {
+							stringBuffer.append(TEXT_198);
+							if (!genDataType.getObjectInstanceClassName()
+									.equals(genBaseType.getObjectInstanceClassName())) {
+								stringBuffer.append(TEXT_199);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_200);
+							}
+							stringBuffer.append(TEXT_201);
+							stringBuffer.append(genBaseType.getName());
+							stringBuffer.append(TEXT_202);
+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_203);
+						} else {
+							stringBuffer.append(TEXT_204);
+							if (!genDataType.isObjectType()) {
+								stringBuffer.append(TEXT_205);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_206);
+							}
+							stringBuffer
+									.append(genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+							stringBuffer.append(TEXT_207);
+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_208);
+						}
+					} else if (genDataType.getItemType() != null) {
+						GenDataType genItemType = genDataType.getItemType();
+						if (genPackage.isDataTypeConverters()) {
+							stringBuffer.append(TEXT_209);
+							stringBuffer.append(genDataType.getName());
+							stringBuffer.append(TEXT_210);
+						} else {
+							stringBuffer.append(TEXT_211);
+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+							stringBuffer.append(TEXT_212);
+							stringBuffer.append(genModel.getImportedName("java.util.ArrayList"));
+							if (genModel.useGenerics()) {
+								stringBuffer.append(TEXT_213);
+								stringBuffer.append(
+										genItemType.getObjectType().getImportedParameterizedInstanceClassName());
+								stringBuffer.append(TEXT_214);
+							}
+							stringBuffer.append(TEXT_215);
+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+								stringBuffer.append(TEXT_216);
+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+								stringBuffer.append(TEXT_217);
+								stringBuffer.append(genModel.getImportedName("java.util.StringTokenizer"));
+								stringBuffer.append(TEXT_218);
+							} else {
+								stringBuffer.append(TEXT_219);
+							}
+							stringBuffer.append(TEXT_220);
+							if (genModel.getRuntimeVersion().getValue() < GenRuntimeVersion.EMF26_VALUE) {
+								stringBuffer.append(TEXT_221);
+							}
+							if (genItemType.getGenPackage() == genPackage) {
+								stringBuffer.append(TEXT_222);
+								stringBuffer.append(genItemType.getName());
+								stringBuffer.append(TEXT_223);
+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_224);
+							} else {
+								stringBuffer.append(TEXT_225);
+								if (!genItemType.isObjectType()) {
+									stringBuffer.append(TEXT_226);
+									stringBuffer.append(genItemType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_227);
+								}
+								stringBuffer.append(
+										genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+								stringBuffer.append(TEXT_228);
+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_229);
+							}
+							stringBuffer.append(TEXT_230);
+						}
+					} else if (!genDataType.getMemberTypes().isEmpty()) {
+						if (genPackage.isDataTypeConverters()) {
+							if (genDataType.isPrimitiveType()
+									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_231);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_232);
+								stringBuffer.append(genDataType.getName());
+								stringBuffer.append(TEXT_233);
+							} else {
+								stringBuffer.append(TEXT_234);
+								stringBuffer.append(genDataType.getName());
+								stringBuffer.append(TEXT_235);
+							}
+						} else {
+							stringBuffer.append(TEXT_236);
+							stringBuffer.append(genDataType.getObjectInstanceClassName());
+							stringBuffer.append(TEXT_237);
+							for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+								stringBuffer.append(TEXT_238);
+								if (genMemberType.getGenPackage() == genPackage) {
+									stringBuffer.append(TEXT_239);
+									if (!genDataType.isObjectType() && !genDataType.getObjectInstanceClassName()
+											.equals(genMemberType.getObjectInstanceClassName())) {
+										stringBuffer.append(TEXT_240);
+										stringBuffer.append(genDataType.getObjectInstanceClassName());
+										stringBuffer.append(TEXT_241);
+									}
+									stringBuffer.append(TEXT_242);
+									stringBuffer.append(genMemberType.getName());
+									stringBuffer.append(TEXT_243);
+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_244);
+								} else {
+									stringBuffer.append(TEXT_245);
+									if (!genDataType.isObjectType()) {
+										stringBuffer.append(TEXT_246);
+										stringBuffer.append(genDataType.getObjectInstanceClassName());
+										stringBuffer.append(TEXT_247);
+									}
+									stringBuffer.append(genMemberType.getGenPackage()
+											.getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_248);
+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_249);
+								}
+								stringBuffer.append(TEXT_250);
+								stringBuffer
+										.append(genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician"));
+								stringBuffer.append(TEXT_251);
+							}
+							stringBuffer.append(TEXT_252);
+						}
+					} else if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+						stringBuffer.append(TEXT_253);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_254);
+					} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+							&& (genDataType.isArrayType()
+									|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+									|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+						stringBuffer.append(TEXT_255);
+						if (!genDataType.isObjectType()) {
+							stringBuffer.append(TEXT_256);
+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+							stringBuffer.append(TEXT_257);
+						}
+						stringBuffer.append(TEXT_258);
+					} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+						stringBuffer.append(TEXT_259);
+						stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+						stringBuffer.append(TEXT_260);
+					} else {
+						stringBuffer.append(TEXT_261);
+						if (!genDataType.isObjectType()) {
+							stringBuffer.append(TEXT_262);
+							stringBuffer.append(genDataType.getImportedParameterizedObjectInstanceClassName());
+							stringBuffer.append(TEXT_263);
+						}
+						stringBuffer.append(TEXT_264);
+					}
+					stringBuffer.append(TEXT_265);
+					if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+						String eDataType = genDataType.getQualifiedClassifierAccessor();
+						stringBuffer.append(TEXT_266);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_267);
+						if (genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_268);
+						}
+						stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+						stringBuffer.append(TEXT_269);
+						if (genDataType.hasConverterBody()) {
+							stringBuffer.append(TEXT_270);
+						} else {
+							stringBuffer.append(TEXT_271);
+						}
+						stringBuffer.append(TEXT_272);
+						if (genDataType.hasConverterBody()) {
+							stringBuffer.append(TEXT_273);
+							stringBuffer.append(genDataType.getConverterBody(genModel.getIndentation(stringBuffer)));
+						} else if (genDataType instanceof GenEnum) {
+							stringBuffer.append(TEXT_274);
+						} else if (genDataType.getBaseType() != null) {
+							GenDataType genBaseType = genDataType.getBaseType();
+							boolean isPrimitiveConversion = !genDataType.isPrimitiveType()
+									&& genBaseType.isPrimitiveType();
+							if (genBaseType.getGenPackage() == genPackage) {
+								if (isPrimitiveConversion) {
+									stringBuffer.append(TEXT_275);
+									stringBuffer.append(genBaseType.getName());
+									stringBuffer.append(TEXT_276);
+									if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+										stringBuffer.append(TEXT_277);
+										stringBuffer.append(genBaseType.getPrimitiveValueFunction());
+										stringBuffer.append(TEXT_278);
+									}
+									stringBuffer.append(TEXT_279);
+								} else {
+									stringBuffer.append(TEXT_280);
+									stringBuffer.append(genBaseType.getName());
+									stringBuffer.append(TEXT_281);
+								}
+							} else if (genBaseType.getGenPackage().isDataTypeConverters()) {
+								stringBuffer.append(TEXT_282);
+								stringBuffer.append(genBaseType.getGenPackage().getQualifiedFactoryInstanceAccessor());
+								stringBuffer.append(TEXT_283);
+								stringBuffer.append(genBaseType.getName());
+								stringBuffer.append(TEXT_284);
+							} else {
+								stringBuffer.append(TEXT_285);
+								stringBuffer.append(
+										genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+								stringBuffer.append(TEXT_286);
+								stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_287);
+							}
+						} else if (genDataType.getItemType() != null) {
+							GenDataType genItemType = genDataType.getItemType();
+							stringBuffer.append(TEXT_288);
+							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));
+							stringBuffer.append(TEXT_289);
+							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));
+							stringBuffer.append(TEXT_290);
+							String item;
+							if (!genModel.useGenerics()) {
+								item = "i.next()";
+								stringBuffer.append(TEXT_291);
+								stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+								stringBuffer.append(TEXT_292);
+							} else {
+								item = "item";
+								stringBuffer.append(TEXT_293);
+								stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+								stringBuffer.append(TEXT_294);
+							}
+							stringBuffer.append(TEXT_295);
+							if (genItemType.getGenPackage() == genPackage) {
+								if (genPackage.isDataTypeConverters()) {
+									genItemType = genItemType.getObjectType();
+									stringBuffer.append(TEXT_296);
+									stringBuffer.append(genItemType.getName());
+									stringBuffer.append(TEXT_297);
+									stringBuffer.append(genItemType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_298);
+									stringBuffer.append(item);
+									stringBuffer.append(TEXT_299);
+								} else {
+									stringBuffer.append(TEXT_300);
+									stringBuffer.append(genItemType.getName());
+									stringBuffer.append(TEXT_301);
+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_302);
+									stringBuffer.append(item);
+									stringBuffer.append(TEXT_303);
+								}
+							} else {
+								if (genItemType.getGenPackage().isDataTypeConverters()) {
+									genItemType = genItemType.getObjectType();
+									stringBuffer.append(TEXT_304);
+									stringBuffer.append(
+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_305);
+									stringBuffer.append(genItemType.getName());
+									stringBuffer.append(TEXT_306);
+									stringBuffer.append(genItemType.getObjectInstanceClassName());
+									stringBuffer.append(TEXT_307);
+									stringBuffer.append(item);
+									stringBuffer.append(TEXT_308);
+								} else {
+									stringBuffer.append(TEXT_309);
+									stringBuffer.append(
+											genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_310);
+									stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_311);
+									stringBuffer.append(item);
+									stringBuffer.append(TEXT_312);
+								}
+							}
+							stringBuffer.append(TEXT_313);
+						} else if (!genDataType.getMemberTypes().isEmpty()) {
+							if (!genDataType.isPrimitiveType()) {
+								stringBuffer.append(TEXT_314);
+								for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+									stringBuffer.append(TEXT_315);
+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_316);
+									if (genMemberType.getGenPackage() == genPackage) {
+										if (genPackage.isDataTypeConverters()) {
+											if (genMemberType.getQualifiedInstanceClassName()
+													.equals(genDataType.getQualifiedInstanceClassName())) {
+												stringBuffer.append(TEXT_317);
+												stringBuffer.append(genMemberType.getName());
+												stringBuffer.append(TEXT_318);
+											} else if (genMemberType.isPrimitiveType()
+													&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+												stringBuffer.append(TEXT_319);
+												stringBuffer.append(genMemberType.getName());
+												stringBuffer.append(TEXT_320);
+												stringBuffer.append(
+														genMemberType.getObjectType().getImportedInstanceClassName());
+												stringBuffer.append(TEXT_321);
+												stringBuffer.append(genMemberType.getPrimitiveValueFunction());
+												stringBuffer.append(TEXT_322);
+											} else {
+												stringBuffer.append(TEXT_323);
+												stringBuffer.append(genMemberType.getName());
+												stringBuffer.append(TEXT_324);
+												stringBuffer.append(genMemberType.getObjectType()
+														.getImportedBoundedWildcardInstanceClassName());
+												stringBuffer.append(TEXT_325);
+											}
+										} else {
+											stringBuffer.append(TEXT_326);
+											stringBuffer.append(genMemberType.getName());
+											stringBuffer.append(TEXT_327);
+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+											stringBuffer.append(TEXT_328);
+										}
+									} else {
+										if (genMemberType.getGenPackage().isDataTypeConverters()) {
+											genMemberType = genMemberType.getObjectType();
+											stringBuffer.append(TEXT_329);
+											stringBuffer.append(genMemberType.getGenPackage()
+													.getQualifiedEFactoryInternalInstanceAccessor());
+											stringBuffer.append(TEXT_330);
+											stringBuffer.append(genMemberType.getName());
+											stringBuffer.append(TEXT_331);
+											stringBuffer.append(genMemberType.getObjectInstanceClassName());
+											stringBuffer.append(TEXT_332);
+										} else {
+											stringBuffer.append(TEXT_333);
+											stringBuffer.append(genMemberType.getGenPackage()
+													.getQualifiedEFactoryInternalInstanceAccessor());
+											stringBuffer.append(TEXT_334);
+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+											stringBuffer.append(TEXT_335);
+										}
+									}
+									stringBuffer.append(TEXT_336);
+								}
+							} else {
+								for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+									stringBuffer.append(TEXT_337);
+									if (genMemberType.getGenPackage() == genPackage) {
+										if (genPackage.isDataTypeConverters()) {
+											stringBuffer.append(TEXT_338);
+											stringBuffer.append(genMemberType.getName());
+											stringBuffer.append(TEXT_339);
+										} else {
+											stringBuffer.append(TEXT_340);
+											stringBuffer.append(genMemberType.getName());
+											stringBuffer.append(TEXT_341);
+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+											stringBuffer.append(TEXT_342);
+											if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+												stringBuffer.append(TEXT_343);
+												stringBuffer.append(genMemberType.getObjectInstanceClassName());
+												stringBuffer.append(TEXT_344);
+											} else {
+												stringBuffer.append(TEXT_345);
+											}
+											stringBuffer.append(TEXT_346);
+										}
+									} else {
+										if (genMemberType.getGenPackage().isDataTypeConverters()) {
+											stringBuffer.append(TEXT_347);
+											stringBuffer.append(genMemberType.getGenPackage()
+													.getQualifiedEFactoryInternalInstanceAccessor());
+											stringBuffer.append(TEXT_348);
+											stringBuffer.append(genMemberType.getName());
+											stringBuffer.append(TEXT_349);
+										} else {
+											stringBuffer.append(TEXT_350);
+											stringBuffer.append(genMemberType.getGenPackage()
+													.getQualifiedEFactoryInternalInstanceAccessor());
+											stringBuffer.append(TEXT_351);
+											stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+											stringBuffer.append(TEXT_352);
+											if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+												stringBuffer.append(TEXT_353);
+												stringBuffer.append(genMemberType.getObjectInstanceClassName());
+												stringBuffer.append(TEXT_354);
+											} else {
+												stringBuffer.append(TEXT_355);
+											}
+											stringBuffer.append(TEXT_356);
+										}
+									}
+									stringBuffer.append(TEXT_357);
+								}
+							}
+							stringBuffer.append(TEXT_358);
+							stringBuffer.append(eDataType);
+							stringBuffer.append(TEXT_359);
+						} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+								&& (genDataType.isArrayType()
+										|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+										|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+							stringBuffer.append(TEXT_360);
+						} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+							stringBuffer.append(TEXT_361);
+							stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+							stringBuffer.append(TEXT_362);
+						} else if (genDataType.isPrimitiveType()
+								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+							stringBuffer.append(TEXT_363);
+							stringBuffer.append(eDataType);
+							stringBuffer.append(TEXT_364);
+							stringBuffer.append(genDataType.getObjectInstanceClassName());
+							stringBuffer.append(TEXT_365);
+						} else {
+							stringBuffer.append(TEXT_366);
+							stringBuffer.append(eDataType);
+							stringBuffer.append(TEXT_367);
+						}
+						stringBuffer.append(TEXT_368);
+					}
+					stringBuffer.append(TEXT_369);
+					if (genModel.useGenerics() && (genDataType.getItemType() != null || genDataType.isUncheckedCast())
+							&& (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody())) {
+						stringBuffer.append(TEXT_370);
+					}
+					stringBuffer.append(TEXT_371);
+					stringBuffer.append(genDataType.getName());
+					stringBuffer.append(TEXT_372);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EDataType"));
+					stringBuffer.append(TEXT_373);
+					if (genDataType instanceof GenEnum) {
+						if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+							stringBuffer.append(TEXT_374);
+							stringBuffer.append(genDataType.getName());
+							stringBuffer.append(TEXT_375);
+							stringBuffer.append(genDataType.getImportedInstanceClassName());
+							stringBuffer.append(TEXT_376);
+						} else {
+							stringBuffer.append(TEXT_377);
+						}
+					} else if (genDataType.getBaseType() != null) {
+						GenDataType genBaseType = genDataType.getBaseType();
+						if (genBaseType.getGenPackage() == genPackage) {
+							stringBuffer.append(TEXT_378);
+							stringBuffer.append(genBaseType.getName());
+							stringBuffer.append(TEXT_379);
+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_380);
+						} else {
+							stringBuffer.append(TEXT_381);
+							stringBuffer
+									.append(genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+							stringBuffer.append(TEXT_382);
+							stringBuffer.append(genBaseType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_383);
+						}
+					} else if (genDataType.getItemType() != null) {
+						GenDataType genItemType = genDataType.getItemType();
+						if (genPackage.isDataTypeConverters() || genDataType.hasCreatorBody()) {
+							stringBuffer.append(TEXT_384);
+							stringBuffer.append(genDataType.getName());
+							stringBuffer.append(TEXT_385);
+							stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+							stringBuffer.append(TEXT_386);
+						} else {
+							final String singleWildcard = genModel.useGenerics() ? "<?>" : "";
+							stringBuffer.append(TEXT_387);
+							stringBuffer.append(genModel.getImportedName("java.util.List"));
+							stringBuffer.append(singleWildcard);
+							stringBuffer.append(TEXT_388);
+							stringBuffer.append(genModel.getImportedName("java.util.List"));
+							stringBuffer.append(singleWildcard);
+							stringBuffer.append(TEXT_389);
+							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));
+							stringBuffer.append(TEXT_390);
+							stringBuffer.append(genModel.getImportedName("java.lang.StringBuffer"));
+							stringBuffer.append(TEXT_391);
+							String item;
+							if (!genModel.useGenerics()) {
+								item = "i.next()";
+								stringBuffer.append(TEXT_392);
+								stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+								stringBuffer.append(TEXT_393);
+							} else {
+								item = "item";
+								stringBuffer.append(TEXT_394);
+								stringBuffer.append(genModel.getImportedName("java.lang.Object"));
+								stringBuffer.append(TEXT_395);
+							}
+							stringBuffer.append(TEXT_396);
+							if (genItemType.getGenPackage() == genPackage) {
+								stringBuffer.append(TEXT_397);
+								stringBuffer.append(genItemType.getName());
+								stringBuffer.append(TEXT_398);
+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_399);
+								stringBuffer.append(item);
+								stringBuffer.append(TEXT_400);
+							} else {
+								stringBuffer.append(TEXT_401);
+								stringBuffer.append(
+										genItemType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+								stringBuffer.append(TEXT_402);
+								stringBuffer.append(genItemType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_403);
+								stringBuffer.append(item);
+								stringBuffer.append(TEXT_404);
+							}
+							stringBuffer.append(TEXT_405);
+						}
+					} else if (!genDataType.getMemberTypes().isEmpty()) {
+						if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+							if (genDataType.isPrimitiveType()) {
+								stringBuffer.append(TEXT_406);
+								stringBuffer.append(genDataType.getName());
+								stringBuffer.append(TEXT_407);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_408);
+								if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+									stringBuffer.append(TEXT_409);
+									stringBuffer.append(genDataType.getPrimitiveValueFunction());
+									stringBuffer.append(TEXT_410);
+								}
+								stringBuffer.append(TEXT_411);
+							} else {
+								stringBuffer.append(TEXT_412);
+								stringBuffer.append(genDataType.getName());
+								stringBuffer.append(TEXT_413);
+							}
+						} else {
+							stringBuffer.append(TEXT_414);
+							for (GenDataType genMemberType : genDataType.getMemberTypes()) {
+								stringBuffer.append(TEXT_415);
+								stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_416);
+								if (genMemberType.getGenPackage() == genPackage) {
+									stringBuffer.append(TEXT_417);
+									stringBuffer.append(genMemberType.getName());
+									stringBuffer.append(TEXT_418);
+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_419);
+								} else {
+									stringBuffer.append(TEXT_420);
+									stringBuffer.append(genMemberType.getGenPackage()
+											.getQualifiedEFactoryInternalInstanceAccessor());
+									stringBuffer.append(TEXT_421);
+									stringBuffer.append(genMemberType.getQualifiedClassifierAccessor());
+									stringBuffer.append(TEXT_422);
+								}
+								stringBuffer.append(TEXT_423);
+							}
+							stringBuffer.append(TEXT_424);
+						}
+					} else if (genPackage.isDataTypeConverters() || genDataType.hasConverterBody()) {
+						if (genDataType.isPrimitiveType()) {
+							stringBuffer.append(TEXT_425);
+							stringBuffer.append(genDataType.getName());
+							stringBuffer.append(TEXT_426);
+							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_427);
+							}
+							stringBuffer.append(TEXT_428);
+							stringBuffer.append(genDataType.getObjectInstanceClassName());
+							stringBuffer.append(TEXT_429);
+							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_430);
+								stringBuffer.append(genDataType.getPrimitiveValueFunction());
+								stringBuffer.append(TEXT_431);
+							}
+							stringBuffer.append(TEXT_432);
+						} else {
+							stringBuffer.append(TEXT_433);
+							stringBuffer.append(genDataType.getName());
+							stringBuffer.append(TEXT_434);
+							stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+							stringBuffer.append(TEXT_435);
+						}
+					} else if (!genDataType.hasConversionDelegate() && genModel.useGenerics()
+							&& (genDataType.isArrayType()
+									|| !genDataType.getEcoreDataType().getETypeParameters().isEmpty()
+									|| genDataType.getEcoreDataType().getInstanceTypeName().contains("<"))) {
+						stringBuffer.append(TEXT_436);
+					} else if (!genDataType.hasConversionDelegate() && genDataType.isArrayType()) {
+						stringBuffer.append(TEXT_437);
+						stringBuffer.append(genModel.getImportedName("java.lang.UnsupportedOperationException"));
+						stringBuffer.append(TEXT_438);
+					} else {
+						stringBuffer.append(TEXT_439);
+					}
+					stringBuffer.append(TEXT_440);
+				}
+			}
+		} else {
+			for (GenClass genClass : genPackage.getGenClasses()) {
+				if (genClass.hasFactoryInterfaceCreateMethod()) {
+					stringBuffer.append(TEXT_441);
+					stringBuffer.append(genClass.getFormattedName());
+					stringBuffer.append(TEXT_442);
+					stringBuffer.append(genClass.getFormattedName());
+					stringBuffer.append(TEXT_443);
+					stringBuffer.append(genClass.getTypeParameters());
+					stringBuffer.append(genClass.getImportedInterfaceName());
+					stringBuffer.append(genClass.getInterfaceTypeArguments());
+					stringBuffer.append(TEXT_444);
+					stringBuffer.append(genClass.getName());
+					stringBuffer.append(TEXT_445);
+				}
+			}
+			if (genPackage.isDataTypeConverters()) {
+				for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+					if (genDataType.isSerializable()) {
+						stringBuffer.append(TEXT_446);
+						stringBuffer.append(genDataType.getFormattedName());
+						stringBuffer.append(TEXT_447);
+						stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+						stringBuffer.append(TEXT_448);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_449);
+						stringBuffer.append(genDataType.getFormattedName());
+						stringBuffer.append(TEXT_450);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_451);
+						stringBuffer.append(genDataType.getImportedBoundedWildcardInstanceClassName());
+						stringBuffer.append(TEXT_452);
+					}
+				}
+			}
+		}
+		if (!isImplementation && !genModel.isSuppressEMFMetaData()) {
+			stringBuffer.append(TEXT_453);
+			stringBuffer.append(genPackage.getPackageInterfaceName());
+			stringBuffer.append(TEXT_454);
+			stringBuffer.append(genPackage.getBasicPackageName());
+			stringBuffer.append(TEXT_455);
+		} else if (isImplementation) {
+			stringBuffer.append(TEXT_456);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_457);
+			stringBuffer.append(genPackage.getBasicPackageName());
+			stringBuffer.append(TEXT_458);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_459);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_460);
+			}
+			stringBuffer.append(TEXT_461);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_462);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_463);
+		}
+		stringBuffer.append(TEXT_464);
+		stringBuffer.append(isInterface ? genPackage.getFactoryInterfaceName() : genPackage.getFactoryClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_465);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genPackage.hasClassifiers() && !genModel.isSuppressInterfaces());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Interface.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Interface.java
index a5008eb..90a5f1e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Interface.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Interface.java
@@ -1,2289 +1,2249 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Interface extends org.eclipse.egf.emf.pattern.base.GenClassJava {

-	protected static String nl;

-

-	public static synchronized Interface create(String lineSeparator) {

-		nl = lineSeparator;

-		Interface result = new Interface();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";";

-	protected final String TEXT_4 = NL + "package ";

-	protected final String TEXT_5 = ";";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL;

-	protected final String TEXT_8 = NL;

-	protected final String TEXT_9 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * An implementation of the model object '<em><b>";

-	protected final String TEXT_10 = "</b></em>'." + NL + " * <!-- end-user-doc -->";

-	protected final String TEXT_11 = NL + " * <p>" + NL + " * The following features are implemented:" + NL + " * </p>"

-			+ NL + " * <ul>";

-	protected final String TEXT_12 = NL + " *   <li>{@link ";

-	protected final String TEXT_13 = "#";

-	protected final String TEXT_14 = " <em>";

-	protected final String TEXT_15 = "</em>}</li>";

-	protected final String TEXT_16 = NL + " * </ul>";

-	protected final String TEXT_17 = NL + " *" + NL + " * @generated" + NL + " */";

-	protected final String TEXT_18 = NL + "public";

-	protected final String TEXT_19 = " abstract";

-	protected final String TEXT_20 = " class ";

-	protected final String TEXT_21 = NL + "public interface ";

-	protected final String TEXT_22 = NL + "{";

-	protected final String TEXT_23 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_24 = " copyright = ";

-	protected final String TEXT_25 = ";";

-	protected final String TEXT_26 = NL;

-	protected final String TEXT_27 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_28 = " mofDriverNumber = \"";

-	protected final String TEXT_29 = "\";";

-	protected final String TEXT_30 = NL;

-	protected final String TEXT_31 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate static final long serialVersionUID = 1L;" + NL;

-	protected final String TEXT_32 = NL + "\t/**" + NL

-			+ "\t * An array of objects representing the values of non-primitive features." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_33 = NL + "\t@";

-	protected final String TEXT_34 = NL + "\tprotected Object[] ";

-	protected final String TEXT_35 = ";" + NL;

-	protected final String TEXT_36 = NL + "\t/**" + NL

-			+ "\t * A bit field representing the indices of non-primitive feature values." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_37 = NL + "\t@";

-	protected final String TEXT_38 = NL + "\tprotected int ";

-	protected final String TEXT_39 = ";" + NL;

-	protected final String TEXT_40 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * A set of bit flags representing the values of boolean attributes and whether unsettable features have been set."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_41 = NL + "\t@";

-	protected final String TEXT_42 = NL + "\tprotected int ";

-	protected final String TEXT_43 = " = 0;" + NL;

-	protected final String TEXT_44 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";

-	protected final String TEXT_45 = "() <em>";

-	protected final String TEXT_46 = "</em>}' array accessor." + NL

-			+ "\t * This is specialized for the more specific element type known in this context." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

-	protected final String TEXT_47 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_48 = NL + "\t@SuppressWarnings(\"rawtypes\")";

-	protected final String TEXT_49 = NL + "\tprotected static final ";

-	protected final String TEXT_50 = "[] ";

-	protected final String TEXT_51 = "_EEMPTY_ARRAY = new ";

-	protected final String TEXT_52 = " [0]";

-	protected final String TEXT_53 = ";" + NL;

-	protected final String TEXT_54 = NL;

-	protected final String TEXT_55 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final int ";

-	protected final String TEXT_56 = " = ";

-	protected final String TEXT_57 = ".getFeatureID(";

-	protected final String TEXT_58 = ") - ";

-	protected final String TEXT_59 = ";" + NL;

-	protected final String TEXT_60 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final int ";

-	protected final String TEXT_61 = " = ";

-	protected final String TEXT_62 = ".getFeatureID(";

-	protected final String TEXT_63 = ") - ";

-	protected final String TEXT_64 = ";" + NL;

-	protected final String TEXT_65 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate static final int \"EOPERATION_OFFSET_CORRECTION\" = ";

-	protected final String TEXT_66 = ".getOperationID(";

-	protected final String TEXT_67 = ") - ";

-	protected final String TEXT_68 = ";" + NL;

-	protected final String TEXT_69 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_70 = "public";

-	protected final String TEXT_71 = "protected";

-	protected final String TEXT_72 = " ";

-	protected final String TEXT_73 = "()" + NL + "\t{";

-	protected final String TEXT_74 = NL;

-	protected final String TEXT_75 = NL + "\t\t";

-	protected final String TEXT_76 = " |= ";

-	protected final String TEXT_77 = "_EFLAG";

-	protected final String TEXT_78 = "_DEFAULT";

-	protected final String TEXT_79 = ";";

-	protected final String TEXT_80 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_81 = NL + "\t@Override";

-	protected final String TEXT_82 = NL + "\tprotected ";

-	protected final String TEXT_83 = " eStaticClass()" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_84 = ";" + NL + "\t}" + NL;

-	protected final String TEXT_85 = NL;

-	protected final String TEXT_86 = NL;

-	protected final String TEXT_87 = NL;

-	protected final String TEXT_88 = NL;

-	protected final String TEXT_89 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_90 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_91 = NL + "\t@Override";

-	protected final String TEXT_92 = NL + "\tpublic ";

-	protected final String TEXT_93 = " eInverseAdd(";

-	protected final String TEXT_94 = " otherEnd, int featureID, ";

-	protected final String TEXT_95 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";

-	protected final String TEXT_96 = ")" + NL + "\t\t{";

-	protected final String TEXT_97 = NL + "\t\t\tcase ";

-	protected final String TEXT_98 = ":";

-	protected final String TEXT_99 = NL + "\t\t\t\treturn ((";

-	protected final String TEXT_100 = "(";

-	protected final String TEXT_101 = ".InternalMapView";

-	protected final String TEXT_102 = ")";

-	protected final String TEXT_103 = "()).eMap()).basicAdd(otherEnd, msgs);";

-	protected final String TEXT_104 = NL + "\t\t\t\treturn (";

-	protected final String TEXT_105 = "()).basicAdd(otherEnd, msgs);";

-	protected final String TEXT_106 = NL + "\t\t\t\tif (eInternalContainer() != null)" + NL

-			+ "\t\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);";

-	protected final String TEXT_107 = NL + "\t\t\t\treturn basicSet";

-	protected final String TEXT_108 = "((";

-	protected final String TEXT_109 = ")otherEnd, msgs);";

-	protected final String TEXT_110 = NL + "\t\t\t\treturn eBasicSetContainer(otherEnd, ";

-	protected final String TEXT_111 = ", msgs);";

-	protected final String TEXT_112 = NL + "\t\t\t\t";

-	protected final String TEXT_113 = " ";

-	protected final String TEXT_114 = " = (";

-	protected final String TEXT_115 = ")eVirtualGet(";

-	protected final String TEXT_116 = ");";

-	protected final String TEXT_117 = NL + "\t\t\t\t";

-	protected final String TEXT_118 = " ";

-	protected final String TEXT_119 = " = ";

-	protected final String TEXT_120 = "basicGet";

-	protected final String TEXT_121 = "();";

-	protected final String TEXT_122 = NL + "\t\t\t\tif (";

-	protected final String TEXT_123 = " != null)";

-	protected final String TEXT_124 = NL + "\t\t\t\t\tmsgs = ((";

-	protected final String TEXT_125 = ")";

-	protected final String TEXT_126 = ").eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

-	protected final String TEXT_127 = ", null, msgs);";

-	protected final String TEXT_128 = NL + "\t\t\t\t\tmsgs = ((";

-	protected final String TEXT_129 = ")";

-	protected final String TEXT_130 = ").eInverseRemove(this, ";

-	protected final String TEXT_131 = ", ";

-	protected final String TEXT_132 = ".class, msgs);";

-	protected final String TEXT_133 = NL + "\t\t\t\treturn basicSet";

-	protected final String TEXT_134 = "((";

-	protected final String TEXT_135 = ")otherEnd, msgs);";

-	protected final String TEXT_136 = NL + "\t\t}";

-	protected final String TEXT_137 = NL + "\t\treturn super.eInverseAdd(otherEnd, featureID, msgs);";

-	protected final String TEXT_138 = NL + "\t\treturn eDynamicInverseAdd(otherEnd, featureID, msgs);";

-	protected final String TEXT_139 = NL + "\t}" + NL;

-	protected final String TEXT_140 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_141 = NL + "\t@Override";

-	protected final String TEXT_142 = NL + "\tpublic ";

-	protected final String TEXT_143 = " eInverseRemove(";

-	protected final String TEXT_144 = " otherEnd, int featureID, ";

-	protected final String TEXT_145 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";

-	protected final String TEXT_146 = ")" + NL + "\t\t{";

-	protected final String TEXT_147 = NL + "\t\t\tcase ";

-	protected final String TEXT_148 = ":";

-	protected final String TEXT_149 = NL + "\t\t\t\treturn ((";

-	protected final String TEXT_150 = ")((";

-	protected final String TEXT_151 = ".InternalMapView";

-	protected final String TEXT_152 = ")";

-	protected final String TEXT_153 = "()).eMap()).basicRemove(otherEnd, msgs);";

-	protected final String TEXT_154 = NL + "\t\t\t\treturn ((";

-	protected final String TEXT_155 = ")((";

-	protected final String TEXT_156 = ".Internal.Wrapper)";

-	protected final String TEXT_157 = "()).featureMap()).basicRemove(otherEnd, msgs);";

-	protected final String TEXT_158 = NL + "\t\t\t\treturn ((";

-	protected final String TEXT_159 = ")";

-	protected final String TEXT_160 = "()).basicRemove(otherEnd, msgs);";

-	protected final String TEXT_161 = NL + "\t\t\t\treturn eBasicSetContainer(null, ";

-	protected final String TEXT_162 = ", msgs);";

-	protected final String TEXT_163 = NL + "\t\t\t\treturn basicUnset";

-	protected final String TEXT_164 = "(msgs);";

-	protected final String TEXT_165 = NL + "\t\t\t\treturn basicSet";

-	protected final String TEXT_166 = "(null, msgs);";

-	protected final String TEXT_167 = NL + "\t\t}";

-	protected final String TEXT_168 = NL + "\t\treturn super.eInverseRemove(otherEnd, featureID, msgs);";

-	protected final String TEXT_169 = NL + "\t\treturn eDynamicInverseRemove(otherEnd, featureID, msgs);";

-	protected final String TEXT_170 = NL + "\t}" + NL;

-	protected final String TEXT_171 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_172 = NL + "\t@Override";

-	protected final String TEXT_173 = NL + "\tpublic ";

-	protected final String TEXT_174 = " eBasicRemoveFromContainerFeature(";

-	protected final String TEXT_175 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (eContainerFeatureID()";

-	protected final String TEXT_176 = ")" + NL + "\t\t{";

-	protected final String TEXT_177 = NL + "\t\t\tcase ";

-	protected final String TEXT_178 = ":" + NL + "\t\t\t\treturn eInternalContainer().eInverseRemove(this, ";

-	protected final String TEXT_179 = ", ";

-	protected final String TEXT_180 = ".class, msgs);";

-	protected final String TEXT_181 = NL + "\t\t}";

-	protected final String TEXT_182 = NL + "\t\treturn super.eBasicRemoveFromContainerFeature(msgs);";

-	protected final String TEXT_183 = NL + "\t\treturn eDynamicBasicRemoveFromContainer(msgs);";

-	protected final String TEXT_184 = NL + "\t}" + NL;

-	protected final String TEXT_185 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_186 = NL + "\t@Override";

-	protected final String TEXT_187 = NL + "\tpublic Object eGet(int featureID, boolean resolve, boolean coreType)"

-			+ NL + "\t{" + NL + "\t\tswitch (featureID";

-	protected final String TEXT_188 = ")" + NL + "\t\t{";

-	protected final String TEXT_189 = NL + "\t\t\tcase ";

-	protected final String TEXT_190 = ":";

-	protected final String TEXT_191 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_192 = "();";

-	protected final String TEXT_193 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_194 = "() ? Boolean.TRUE : Boolean.FALSE;";

-	protected final String TEXT_195 = NL + "\t\t\t\treturn new ";

-	protected final String TEXT_196 = "(";

-	protected final String TEXT_197 = "());";

-	protected final String TEXT_198 = NL + "\t\t\t\tif (resolve) return ";

-	protected final String TEXT_199 = "();" + NL + "\t\t\t\treturn basicGet";

-	protected final String TEXT_200 = "();";

-	protected final String TEXT_201 = NL + "\t\t\t\tif (coreType) return ((";

-	protected final String TEXT_202 = ".InternalMapView";

-	protected final String TEXT_203 = ")";

-	protected final String TEXT_204 = "()).eMap();" + NL + "\t\t\t\telse return ";

-	protected final String TEXT_205 = "();";

-	protected final String TEXT_206 = NL + "\t\t\t\tif (coreType) return ";

-	protected final String TEXT_207 = "();" + NL + "\t\t\t\telse return ";

-	protected final String TEXT_208 = "().map();";

-	protected final String TEXT_209 = NL + "\t\t\t\tif (coreType) return ((";

-	protected final String TEXT_210 = ".Internal.Wrapper)";

-	protected final String TEXT_211 = "()).featureMap();" + NL + "\t\t\t\treturn ";

-	protected final String TEXT_212 = "();";

-	protected final String TEXT_213 = NL + "\t\t\t\tif (coreType) return ";

-	protected final String TEXT_214 = "();" + NL + "\t\t\t\treturn ((";

-	protected final String TEXT_215 = ".Internal)";

-	protected final String TEXT_216 = "()).getWrapper();";

-	protected final String TEXT_217 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_218 = "();";

-	protected final String TEXT_219 = NL + "\t\t}";

-	protected final String TEXT_220 = NL + "\t\treturn super.eGet(featureID, resolve, coreType);";

-	protected final String TEXT_221 = NL + "\t\treturn eDynamicGet(featureID, resolve, coreType);";

-	protected final String TEXT_222 = NL + "\t}" + NL;

-	protected final String TEXT_223 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_224 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_225 = NL + "\t@Override";

-	protected final String TEXT_226 = NL + "\tpublic void eSet(int featureID, Object newValue)" + NL + "\t{" + NL

-			+ "\t\tswitch (featureID";

-	protected final String TEXT_227 = ")" + NL + "\t\t{";

-	protected final String TEXT_228 = NL + "\t\t\tcase ";

-	protected final String TEXT_229 = ":";

-	protected final String TEXT_230 = NL + "\t\t\t\t((";

-	protected final String TEXT_231 = ".Internal)((";

-	protected final String TEXT_232 = ".Internal.Wrapper)";

-	protected final String TEXT_233 = "()).featureMap()).set(newValue);";

-	protected final String TEXT_234 = NL + "\t\t\t\t((";

-	protected final String TEXT_235 = ".Internal)";

-	protected final String TEXT_236 = "()).set(newValue);";

-	protected final String TEXT_237 = NL + "\t\t\t\t((";

-	protected final String TEXT_238 = ".Setting)((";

-	protected final String TEXT_239 = ".InternalMapView";

-	protected final String TEXT_240 = ")";

-	protected final String TEXT_241 = "()).eMap()).set(newValue);";

-	protected final String TEXT_242 = NL + "\t\t\t\t((";

-	protected final String TEXT_243 = ".Setting)";

-	protected final String TEXT_244 = "()).set(newValue);";

-	protected final String TEXT_245 = NL + "\t\t\t\t";

-	protected final String TEXT_246 = "().clear();" + NL + "\t\t\t\t";

-	protected final String TEXT_247 = "().addAll((";

-	protected final String TEXT_248 = "<? extends ";

-	protected final String TEXT_249 = ">";

-	protected final String TEXT_250 = ")newValue);";

-	protected final String TEXT_251 = NL + "\t\t\t\tset";

-	protected final String TEXT_252 = "(((";

-	protected final String TEXT_253 = ")newValue).";

-	protected final String TEXT_254 = "());";

-	protected final String TEXT_255 = NL + "\t\t\t\tset";

-	protected final String TEXT_256 = "(";

-	protected final String TEXT_257 = "(";

-	protected final String TEXT_258 = ")";

-	protected final String TEXT_259 = "newValue);";

-	protected final String TEXT_260 = NL + "\t\t\t\treturn;";

-	protected final String TEXT_261 = NL + "\t\t}";

-	protected final String TEXT_262 = NL + "\t\tsuper.eSet(featureID, newValue);";

-	protected final String TEXT_263 = NL + "\t\teDynamicSet(featureID, newValue);";

-	protected final String TEXT_264 = NL + "\t}" + NL;

-	protected final String TEXT_265 = NL;

-	protected final String TEXT_266 = NL;

-	protected final String TEXT_267 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_268 = NL + "\t@Override";

-	protected final String TEXT_269 = NL + "\tpublic int eBaseStructuralFeatureID(int derivedFeatureID, Class";

-	protected final String TEXT_270 = " baseClass)" + NL + "\t{";

-	protected final String TEXT_271 = NL + "\t\tif (baseClass == ";

-	protected final String TEXT_272 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (derivedFeatureID";

-	protected final String TEXT_273 = ")" + NL + "\t\t\t{";

-	protected final String TEXT_274 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_275 = ": return ";

-	protected final String TEXT_276 = ";";

-	protected final String TEXT_277 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_278 = NL + "\t\treturn super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);"

-			+ NL + "\t}";

-	protected final String TEXT_279 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_280 = NL + "\t@Override";

-	protected final String TEXT_281 = NL + "\tpublic int eDerivedStructuralFeatureID(int baseFeatureID, Class";

-	protected final String TEXT_282 = " baseClass)" + NL + "\t{";

-	protected final String TEXT_283 = NL + "\t\tif (baseClass == ";

-	protected final String TEXT_284 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID)" + NL + "\t\t\t{";

-	protected final String TEXT_285 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_286 = ": return ";

-	protected final String TEXT_287 = ";";

-	protected final String TEXT_288 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_289 = NL + "\t\tif (baseClass == ";

-	protected final String TEXT_290 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID";

-	protected final String TEXT_291 = ")" + NL + "\t\t\t{";

-	protected final String TEXT_292 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_293 = ": return ";

-	protected final String TEXT_294 = ";";

-	protected final String TEXT_295 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_296 = NL + "\t\treturn super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);"

-			+ NL + "\t}" + NL;

-	protected final String TEXT_297 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_298 = NL + "\t@Override";

-	protected final String TEXT_299 = NL + "\tpublic int eDerivedOperationID(int baseOperationID, Class";

-	protected final String TEXT_300 = " baseClass)" + NL + "\t{";

-	protected final String TEXT_301 = NL + "\t\tif (baseClass == ";

-	protected final String TEXT_302 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";

-	protected final String TEXT_303 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_304 = ": return ";

-	protected final String TEXT_305 = ";";

-	protected final String TEXT_306 = NL

-			+ "\t\t\t\tdefault: return super.eDerivedOperationID(baseOperationID, baseClass);" + NL + "\t\t\t}" + NL

-			+ "\t\t}";

-	protected final String TEXT_307 = NL + "\t\tif (baseClass == ";

-	protected final String TEXT_308 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";

-	protected final String TEXT_309 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_310 = ": return ";

-	protected final String TEXT_311 = ";";

-	protected final String TEXT_312 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_313 = NL + "\t\tif (baseClass == ";

-	protected final String TEXT_314 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID";

-	protected final String TEXT_315 = ")" + NL + "\t\t\t{";

-	protected final String TEXT_316 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_317 = ": return ";

-	protected final String TEXT_318 = ";";

-	protected final String TEXT_319 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_320 = NL + "\t\treturn super.eDerivedOperationID(baseOperationID, baseClass);" + NL

-			+ "\t}" + NL;

-	protected final String TEXT_321 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_322 = NL + "\t@Override";

-	protected final String TEXT_323 = NL + "\tprotected Object[] eVirtualValues()" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_324 = ";" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_325 = NL + "\t@Override";

-	protected final String TEXT_326 = NL + "\tprotected void eSetVirtualValues(Object[] newValues)" + NL + "\t{" + NL

-			+ "\t\t";

-	protected final String TEXT_327 = " = newValues;" + NL + "\t}" + NL;

-	protected final String TEXT_328 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_329 = NL + "\t@Override";

-	protected final String TEXT_330 = NL + "\tprotected int eVirtualIndexBits(int offset)" + NL + "\t{" + NL

-			+ "\t\tswitch (offset)" + NL + "\t\t{";

-	protected final String TEXT_331 = NL + "\t\t\tcase ";

-	protected final String TEXT_332 = " :" + NL + "\t\t\t\treturn ";

-	protected final String TEXT_333 = ";";

-	protected final String TEXT_334 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"

-			+ NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_335 = NL + "\t@Override";

-	protected final String TEXT_336 = NL + "\tprotected void eSetVirtualIndexBits(int offset, int newIndexBits)" + NL

-			+ "\t{" + NL + "\t\tswitch (offset)" + NL + "\t\t{";

-	protected final String TEXT_337 = NL + "\t\t\tcase ";

-	protected final String TEXT_338 = " :" + NL + "\t\t\t\t";

-	protected final String TEXT_339 = " = newIndexBits;" + NL + "\t\t\t\tbreak;";

-	protected final String TEXT_340 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"

-			+ NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_341 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_342 = NL + "\t@Override";

-	protected final String TEXT_343 = NL + "\t@SuppressWarnings(";

-	protected final String TEXT_344 = "\"unchecked\"";

-	protected final String TEXT_345 = "{\"rawtypes\", \"unchecked\" }";

-	protected final String TEXT_346 = ")";

-	protected final String TEXT_347 = NL + "\tpublic Object eInvoke(int operationID, ";

-	protected final String TEXT_348 = " arguments) throws ";

-	protected final String TEXT_349 = NL + "\t{" + NL + "\t\tswitch (operationID";

-	protected final String TEXT_350 = ")" + NL + "\t\t{";

-	protected final String TEXT_351 = NL + "\t\t\tcase ";

-	protected final String TEXT_352 = ":";

-	protected final String TEXT_353 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{";

-	protected final String TEXT_354 = NL + "\t\t\t\t";

-	protected final String TEXT_355 = "(";

-	protected final String TEXT_356 = "(";

-	protected final String TEXT_357 = "(";

-	protected final String TEXT_358 = ")";

-	protected final String TEXT_359 = "arguments.get(";

-	protected final String TEXT_360 = ")";

-	protected final String TEXT_361 = ").";

-	protected final String TEXT_362 = "()";

-	protected final String TEXT_363 = ", ";

-	protected final String TEXT_364 = ");" + NL + "\t\t\t\t";

-	protected final String TEXT_365 = "return null;";

-	protected final String TEXT_366 = NL + "\t\t\t\t";

-	protected final String TEXT_367 = "return ";

-	protected final String TEXT_368 = "new ";

-	protected final String TEXT_369 = "(";

-	protected final String TEXT_370 = "(";

-	protected final String TEXT_371 = "(";

-	protected final String TEXT_372 = "(";

-	protected final String TEXT_373 = ")";

-	protected final String TEXT_374 = "arguments.get(";

-	protected final String TEXT_375 = ")";

-	protected final String TEXT_376 = ").";

-	protected final String TEXT_377 = "()";

-	protected final String TEXT_378 = ", ";

-	protected final String TEXT_379 = ")";

-	protected final String TEXT_380 = ")";

-	protected final String TEXT_381 = ";";

-	protected final String TEXT_382 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";

-	protected final String TEXT_383 = " throwable)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tthrow new ";

-	protected final String TEXT_384 = "(throwable);" + NL + "\t\t\t\t}";

-	protected final String TEXT_385 = NL + "\t\t}";

-	protected final String TEXT_386 = NL + "\t\treturn super.eInvoke(operationID, arguments);";

-	protected final String TEXT_387 = NL + "\t\treturn eDynamicInvoke(operationID, arguments);";

-	protected final String TEXT_388 = NL + "\t}" + NL;

-	protected final String TEXT_389 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_390 = NL + "\t@Override";

-	protected final String TEXT_391 = NL + "\tpublic String toString()" + NL + "\t{" + NL

-			+ "\t\tif (eIsProxy()) return super.toString();" + NL + "" + NL

-			+ "\t\tStringBuffer result = new StringBuffer(super.toString());";

-	protected final String TEXT_392 = NL + "\t\tresult.append(\" (";

-	protected final String TEXT_393 = ": \");";

-	protected final String TEXT_394 = NL + "\t\tresult.append(\", ";

-	protected final String TEXT_395 = ": \");";

-	protected final String TEXT_396 = NL + "\t\tif (eVirtualIsSet(";

-	protected final String TEXT_397 = ")) result.append(eVirtualGet(";

-	protected final String TEXT_398 = ")); else result.append(\"<unset>\");";

-	protected final String TEXT_399 = NL + "\t\tif (";

-	protected final String TEXT_400 = "(";

-	protected final String TEXT_401 = " & ";

-	protected final String TEXT_402 = "_ESETFLAG) != 0";

-	protected final String TEXT_403 = "ESet";

-	protected final String TEXT_404 = ") result.append((";

-	protected final String TEXT_405 = " & ";

-	protected final String TEXT_406 = "_EFLAG) != 0); else result.append(\"<unset>\");";

-	protected final String TEXT_407 = NL + "\t\tif (";

-	protected final String TEXT_408 = "(";

-	protected final String TEXT_409 = " & ";

-	protected final String TEXT_410 = "_ESETFLAG) != 0";

-	protected final String TEXT_411 = "ESet";

-	protected final String TEXT_412 = ") result.append(";

-	protected final String TEXT_413 = "_EFLAG_VALUES[(";

-	protected final String TEXT_414 = " & ";

-	protected final String TEXT_415 = "_EFLAG) >>> ";

-	protected final String TEXT_416 = "_EFLAG_OFFSET]); else result.append(\"<unset>\");";

-	protected final String TEXT_417 = NL + "\t\tif (";

-	protected final String TEXT_418 = "(";

-	protected final String TEXT_419 = " & ";

-	protected final String TEXT_420 = "_ESETFLAG) != 0";

-	protected final String TEXT_421 = "ESet";

-	protected final String TEXT_422 = ") result.append(";

-	protected final String TEXT_423 = "); else result.append(\"<unset>\");";

-	protected final String TEXT_424 = NL + "\t\tresult.append(eVirtualGet(";

-	protected final String TEXT_425 = ", ";

-	protected final String TEXT_426 = "));";

-	protected final String TEXT_427 = NL + "\t\tresult.append((";

-	protected final String TEXT_428 = " & ";

-	protected final String TEXT_429 = "_EFLAG) != 0);";

-	protected final String TEXT_430 = NL + "\t\tresult.append(";

-	protected final String TEXT_431 = "_EFLAG_VALUES[(";

-	protected final String TEXT_432 = " & ";

-	protected final String TEXT_433 = "_EFLAG) >>> ";

-	protected final String TEXT_434 = "_EFLAG_OFFSET]);";

-	protected final String TEXT_435 = NL + "\t\tresult.append(";

-	protected final String TEXT_436 = ");";

-	protected final String TEXT_437 = NL + "\t\tresult.append(')');" + NL + "\t\treturn result.toString();" + NL

-			+ "\t}" + NL;

-	protected final String TEXT_438 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_439 = NL + "\t@";

-	protected final String TEXT_440 = NL + "\tprotected int hash = -1;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic int getHash()" + NL + "\t{" + NL + "\t\tif (hash == -1)" + NL + "\t\t{" + NL

-			+ "\t\t\t";

-	protected final String TEXT_441 = " theKey = getKey();" + NL

-			+ "\t\t\thash = (theKey == null ? 0 : theKey.hashCode());" + NL + "\t\t}" + NL + "\t\treturn hash;" + NL

-			+ "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic void setHash(int hash)" + NL + "\t{" + NL

-			+ "\t\tthis.hash = hash;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_442 = " getKey()" + NL + "\t{";

-	protected final String TEXT_443 = NL + "\t\treturn new ";

-	protected final String TEXT_444 = "(getTypedKey());";

-	protected final String TEXT_445 = NL + "\t\treturn getTypedKey();";

-	protected final String TEXT_446 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic void setKey(";

-	protected final String TEXT_447 = " key)" + NL + "\t{";

-	protected final String TEXT_448 = NL + "\t\tgetTypedKey().addAll(";

-	protected final String TEXT_449 = "(";

-	protected final String TEXT_450 = ")";

-	protected final String TEXT_451 = "key);";

-	protected final String TEXT_452 = NL + "\t\tsetTypedKey(key);";

-	protected final String TEXT_453 = NL + "\t\tsetTypedKey(((";

-	protected final String TEXT_454 = ")key).";

-	protected final String TEXT_455 = "());";

-	protected final String TEXT_456 = NL + "\t\tsetTypedKey((";

-	protected final String TEXT_457 = ")key);";

-	protected final String TEXT_458 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_459 = " getValue()" + NL + "\t{";

-	protected final String TEXT_460 = NL + "\t\treturn new ";

-	protected final String TEXT_461 = "(getTypedValue());";

-	protected final String TEXT_462 = NL + "\t\treturn getTypedValue();";

-	protected final String TEXT_463 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_464 = " setValue(";

-	protected final String TEXT_465 = " value)" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_466 = " oldValue = getValue();";

-	protected final String TEXT_467 = NL + "\t\tgetTypedValue().clear();" + NL + "\t\tgetTypedValue().addAll(";

-	protected final String TEXT_468 = "(";

-	protected final String TEXT_469 = ")";

-	protected final String TEXT_470 = "value);";

-	protected final String TEXT_471 = NL + "\t\tsetTypedValue(value);";

-	protected final String TEXT_472 = NL + "\t\tsetTypedValue(((";

-	protected final String TEXT_473 = ")value).";

-	protected final String TEXT_474 = "());";

-	protected final String TEXT_475 = NL + "\t\tsetTypedValue((";

-	protected final String TEXT_476 = ")value);";

-	protected final String TEXT_477 = NL + "\t\treturn oldValue;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_478 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_479 = NL + "\tpublic ";

-	protected final String TEXT_480 = " getEMap()" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_481 = " container = eContainer();" + NL + "\t\treturn container == null ? null : (";

-	protected final String TEXT_482 = ")container.eGet(eContainmentFeature());" + NL + "\t}" + NL;

-	protected final String TEXT_483 = NL;

-	protected final String TEXT_484 = NL + "} //";

-	protected final String TEXT_485 = NL;

-	protected final String TEXT_486 = NL;

-	protected final String TEXT_487 = NL;

-

-	public Interface() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_486);

-		stringBuffer.append(TEXT_487);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenClass genClass = parameter;

-		targetPath = genClass.getGenModel().getModelDirectory();

-		packageName = genClass.getGenPackage().getInterfacePackageName();

-		className = genClass.getInterfaceName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenClass genClass = parameter;

-		argument = ((Object[]) new Object[] { new Object[] { genClass, Boolean.TRUE, Boolean.FALSE } })[0];

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2011 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		final GenClass genClass = (GenClass) ((Object[]) argument)[0];

-		final GenPackage genPackage = genClass.getGenPackage();

-		final GenModel genModel = genPackage.getGenModel();

-		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;

-		final boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);

-		final boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);

-		final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;

-		final String publicStaticFinalFlag = isImplementation ? "public static final " : "";

-		final String singleWildcard = isJDK50 ? "<?>" : "";

-		final String negativeOffsetCorrection = genClass.hasOffsetCorrection() ? " - "

-				+ genClass.getOffsetCorrectionField(null) : "";

-		final String positiveOffsetCorrection = genClass.hasOffsetCorrection() ? " + "

-				+ genClass.getOffsetCorrectionField(null) : "";

-		final String negativeOperationOffsetCorrection = genClass.hasOffsetCorrection() ? " - EOPERATION_OFFSET_CORRECTION"

-				: "";

-		final String positiveOperationOffsetCorrection = genClass.hasOffsetCorrection() ? " + EOPERATION_OFFSET_CORRECTION"

-				: "";

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		if (isInterface) {

-			stringBuffer.append(TEXT_2);

-			stringBuffer.append(genPackage.getInterfacePackageName());

-			stringBuffer.append(TEXT_3);

-		} else {

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(genPackage.getClassPackageName());

-			stringBuffer.append(TEXT_5);

-		}

-		stringBuffer.append(TEXT_6);

-		genModel.markImportLocation(stringBuffer, genPackage);

-		if (isImplementation) {

-			genClass.addClassPsuedoImports();

-		}

-		stringBuffer.append(TEXT_7);

-		if (isInterface) {

-			stringBuffer.append(TEXT_8);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.interface.javadoc.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_BsLUkeXDEeCxnsoQRwU99Q",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/interface.javadoc.override.javajetinc

-		} else {

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genClass.getFormattedName());

-			stringBuffer.append(TEXT_10);

-			if (!genClass.getImplementedGenFeatures().isEmpty()) {

-				stringBuffer.append(TEXT_11);

-				for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(genClass.getQualifiedClassName());

-					stringBuffer.append(TEXT_13);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_14);

-					stringBuffer.append(genFeature.getFormattedName());

-					stringBuffer.append(TEXT_15);

-				}

-				stringBuffer.append(TEXT_16);

-			}

-			stringBuffer.append(TEXT_17);

-		}

-		if (isImplementation) {

-			stringBuffer.append(TEXT_18);

-			if (genClass.isAbstract()) {

-				stringBuffer.append(TEXT_19);

-			}

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genClass.getClassName());

-			stringBuffer.append(genClass.getTypeParameters().trim());

-			stringBuffer.append(genClass.getClassExtends());

-			stringBuffer.append(genClass.getClassImplements());

-		} else {

-			stringBuffer.append(TEXT_21);

-			stringBuffer.append(genClass.getInterfaceName());

-			stringBuffer.append(genClass.getTypeParameters().trim());

-			stringBuffer.append(genClass.getInterfaceExtends());

-		}

-		stringBuffer.append(TEXT_22);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_23);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_26);

-		}

-		if (isImplementation && genModel.getDriverNumber() != null) {

-			stringBuffer.append(TEXT_27);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(genModel.getDriverNumber());

-			stringBuffer.append(TEXT_29);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_30);

-		}

-		if (isImplementation && genClass.isJavaIOSerializable()) {

-			stringBuffer.append(TEXT_31);

-		}

-		if (isImplementation && genModel.isVirtualDelegation()) {

-			String eVirtualValuesField = genClass.getEVirtualValuesField();

-			if (eVirtualValuesField != null) {

-				stringBuffer.append(TEXT_32);

-				if (isGWT) {

-					stringBuffer.append(TEXT_33);

-					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-				}

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(eVirtualValuesField);

-				stringBuffer.append(TEXT_35);

-			}

-			{

-				List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());

-				if (!eVirtualIndexBitFields.isEmpty()) {

-					for (String eVirtualIndexBitField : eVirtualIndexBitFields) {

-						stringBuffer.append(TEXT_36);

-						if (isGWT) {

-							stringBuffer.append(TEXT_37);

-							stringBuffer

-									.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-						}

-						stringBuffer.append(TEXT_38);

-						stringBuffer.append(eVirtualIndexBitField);

-						stringBuffer.append(TEXT_39);

-					}

-				}

-			}

-		}

-		if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled()

-				&& genModel.getBooleanFlagsReservedBits() == -1) {

-			stringBuffer.append(TEXT_40);

-			if (isGWT) {

-				stringBuffer.append(TEXT_41);

-				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-			}

-			stringBuffer.append(TEXT_42);

-			stringBuffer.append(genModel.getBooleanFlagsField());

-			stringBuffer.append(TEXT_43);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()) {

-			for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {

-				if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()

-						&& !genFeature.isMapType()) {

-					String rawListItemType = genFeature.getRawListItemType(genClass);

-					int index = rawListItemType.indexOf('[');

-					String head = rawListItemType;

-					String tail = "";

-					if (index != -1) {

-						head = rawListItemType.substring(0, index);

-						tail = rawListItemType.substring(index);

-					}

-					stringBuffer.append(TEXT_44);

-					stringBuffer.append(genFeature.getGetArrayAccessor());

-					stringBuffer.append(TEXT_45);

-					stringBuffer.append(genFeature.getFormattedName());

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(genFeature.getGetArrayAccessor());

-					stringBuffer.append(TEXT_47);

-					if (genFeature.getQualifiedListItemType(genClass).contains("<")

-							|| genFeature.getArrayItemType(genClass).contains("<")) {

-						stringBuffer.append(TEXT_48);

-					}

-					stringBuffer.append(TEXT_49);

-					stringBuffer.append(rawListItemType);

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(head);

-					stringBuffer.append(TEXT_52);

-					stringBuffer.append(tail);

-					stringBuffer.append(TEXT_53);

-				}

-			}

-			for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {

-				stringBuffer.append(TEXT_54);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.declaredFieldGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0u0bgWJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//Class/declaredFieldGenFeature.override.javajetinc

-			}

-		}

-		if (isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenFeatures().isEmpty()) {

-			stringBuffer.append(TEXT_55);

-			stringBuffer.append(genClass.getOffsetCorrectionField(null));

-			stringBuffer.append(TEXT_56);

-			stringBuffer.append(genClass.getQualifiedClassifierAccessor());

-			stringBuffer.append(TEXT_57);

-			stringBuffer.append(genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor());

-			stringBuffer.append(TEXT_58);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0)));

-			stringBuffer.append(TEXT_59);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()) {

-			for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {

-				GenFeature reverseFeature = genFeature.getReverse();

-				if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {

-					stringBuffer.append(TEXT_60);

-					stringBuffer.append(genClass.getOffsetCorrectionField(genFeature));

-					stringBuffer.append(TEXT_61);

-					stringBuffer.append(reverseFeature.getGenClass().getQualifiedClassifierAccessor());

-					stringBuffer.append(TEXT_62);

-					stringBuffer.append(reverseFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_63);

-					stringBuffer.append(reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature));

-					stringBuffer.append(TEXT_64);

-				}

-			}

-		}

-		if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection()

-				&& !genClass.getImplementedGenOperations().isEmpty()) {

-			stringBuffer.append(TEXT_65);

-			stringBuffer.append(genClass.getQualifiedClassifierAccessor());

-			stringBuffer.append(TEXT_66);

-			stringBuffer.append(genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor());

-			stringBuffer.append(TEXT_67);

-			stringBuffer.append(genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0)));

-			stringBuffer.append(TEXT_68);

-		}

-		if (isImplementation) {

-			stringBuffer.append(TEXT_69);

-			if (genModel.isPublicConstructors()) {

-				stringBuffer.append(TEXT_70);

-			} else {

-				stringBuffer.append(TEXT_71);

-			}

-			stringBuffer.append(TEXT_72);

-			stringBuffer.append(genClass.getClassName());

-			stringBuffer.append(TEXT_73);

-			stringBuffer.append(TEXT_74);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.egfCustom.constructor.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_K9da0HroEeC0XN9kbwkPYQ",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {

-				stringBuffer.append(TEXT_75);

-				stringBuffer.append(genClass.getFlagsField(genFeature));

-				stringBuffer.append(TEXT_76);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_77);

-				if (!genFeature.isBooleanType()) {

-					stringBuffer.append(TEXT_78);

-				}

-				stringBuffer.append(TEXT_79);

-			}

-			stringBuffer.append(TEXT_80);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_81);

-			}

-			stringBuffer.append(TEXT_82);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));

-			stringBuffer.append(TEXT_83);

-			stringBuffer.append(genClass.getQualifiedClassifierAccessor());

-			stringBuffer.append(TEXT_84);

-		}

-		stringBuffer.append(TEXT_85);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.reflectiveDelegation.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vQgYGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		//Class/reflectiveDelegation.override.javajetinc

-		if (isImplementation) {

-			new Runnable() {

-				public void run() {

-					GenClass classExtendsGenClass = genClass.getClassExtendsGenClass();

-					List<GenFeature> classExtendsAllGenFeatures = classExtendsGenClass == null ? Collections

-							.<GenFeature> emptyList() : classExtendsGenClass.getAllGenFeatures();

-					for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {

-						stringBuffer.append(TEXT_86);

-						{

-							//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeatureReified.override" args="genFeature:genFeature,classExtendsGenClass:classExtendsGenClass,classExtendsAllGenFeatures:classExtendsAllGenFeatures,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-							InternalPatternContext ictx = (InternalPatternContext) ctx;

-							new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-							stringBuffer.setLength(0);

-

-							final Map<String, Object> callParameters = new HashMap<String, Object>();

-							callParameters.put("genFeature", genFeature);

-							callParameters.put("classExtendsGenClass", classExtendsGenClass);

-							callParameters.put("classExtendsAllGenFeatures", classExtendsAllGenFeatures);

-							callParameters.put("genClass", genClass);

-							callParameters.put("genPackage", genPackage);

-							callParameters.put("genModel", genModel);

-							callParameters.put("isJDK50", isJDK50);

-							callParameters.put("isInterface", isInterface);

-							callParameters.put("isImplementation", isImplementation);

-							callParameters.put("isGWT", isGWT);

-							callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-							callParameters.put("singleWildcard", singleWildcard);

-							callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-							callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-							callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-							callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-							CallHelper

-									.executeWithParameterInjection(

-											"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_onysQLM-EeKd56X4hcZPSw",

-											new ExecutionContext((InternalPatternContext) ctx), callParameters);

-							stringBuffer.setLength(0);

-						}

-

-						//Class/genFeatureReified.override.javajetinc

-					}

-				}

-			}.run();

-		}

-		new Runnable() {

-			public void run() {

-				for (GenFeature genFeature : (isImplementation ? genClass.getImplementedGenFeatures() : genClass

-						.getDeclaredGenFeatures())) {

-					stringBuffer.append(TEXT_87);

-					{

-						//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-						InternalPatternContext ictx = (InternalPatternContext) ctx;

-						new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-						stringBuffer.setLength(0);

-

-						final Map<String, Object> callParameters = new HashMap<String, Object>();

-						callParameters.put("genFeature", genFeature);

-						callParameters.put("genClass", genClass);

-						callParameters.put("genPackage", genPackage);

-						callParameters.put("genModel", genModel);

-						callParameters.put("isJDK50", isJDK50);

-						callParameters.put("isInterface", isInterface);

-						callParameters.put("isImplementation", isImplementation);

-						callParameters.put("isGWT", isGWT);

-						callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-						callParameters.put("singleWildcard", singleWildcard);

-						callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-						callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-						callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-						callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-						CallHelper

-								.executeWithParameterInjection(

-										"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vaRYGJ-Ed-FqczH3ESmRw",

-										new ExecutionContext((InternalPatternContext) ctx), callParameters);

-						stringBuffer.setLength(0);

-					}

-

-					//Class/genFeature.override.javajetinc

-				}//for

-			}

-		}.run();

-		for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations() : genClass

-				.getDeclaredGenOperations())) {

-			stringBuffer.append(TEXT_88);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genOperation", genOperation);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_01-MYGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/implementedGenOperation.override.javajetinc

-		}//for

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getEInverseAddGenFeatures())) {

-			stringBuffer.append(TEXT_89);

-			if (genModel.useGenerics()) {

-				for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {

-					if (genFeature.isUncheckedCast(genClass)) {

-						stringBuffer.append(TEXT_90);

-						break;

-					}

-				}

-			}

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_91);

-			}

-			stringBuffer.append(TEXT_92);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_93);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-			stringBuffer.append(TEXT_94);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_95);

-			stringBuffer.append(negativeOffsetCorrection);

-			stringBuffer.append(TEXT_96);

-			for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {

-				stringBuffer.append(TEXT_97);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(TEXT_98);

-				if (genFeature.isListType()) {

-					String cast = "("

-							+ genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")

-							+ (!genModel.useGenerics() ? ")" : "<"

-									+ genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject") + ">)("

-									+ genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList") + "<?>)");

-					if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {

-						stringBuffer.append(TEXT_99);

-						stringBuffer.append(cast);

-						stringBuffer.append(TEXT_100);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

-						stringBuffer.append(TEXT_101);

-						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

-						stringBuffer.append(TEXT_102);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_103);

-					} else {

-						stringBuffer.append(TEXT_104);

-						stringBuffer.append(cast);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_105);

-					}

-				} else if (genFeature.isContainer()) {

-					stringBuffer.append(TEXT_106);

-					if (genFeature.isBasicSet()) {

-						stringBuffer.append(TEXT_107);

-						stringBuffer.append(genFeature.getAccessorName());

-						stringBuffer.append(TEXT_108);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_109);

-					} else {

-						stringBuffer.append(TEXT_110);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_111);

-					}

-				} else {

-					if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-						stringBuffer.append(TEXT_112);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_113);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_114);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_115);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_116);

-					} else if (genFeature.isVolatile()

-							|| genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {

-						stringBuffer.append(TEXT_117);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_118);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_119);

-						if (genFeature.isResolveProxies()) {

-							stringBuffer.append(TEXT_120);

-							stringBuffer.append(genFeature.getAccessorName());

-						} else {

-							stringBuffer.append(genFeature.getGetAccessor());

-						}

-						stringBuffer.append(TEXT_121);

-					}

-					stringBuffer.append(TEXT_122);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_123);

-					if (genFeature.isEffectiveContains()) {

-						stringBuffer.append(TEXT_124);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_125);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_126);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(negativeOffsetCorrection);

-						stringBuffer.append(TEXT_127);

-					} else {

-						GenFeature reverseFeature = genFeature.getReverse();

-						GenClass targetClass = reverseFeature.getGenClass();

-						String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-								+ genClass.getOffsetCorrectionField(genFeature) : "";

-						stringBuffer.append(TEXT_128);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_129);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_130);

-						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-						stringBuffer.append(reverseOffsetCorrection);

-						stringBuffer.append(TEXT_131);

-						stringBuffer.append(targetClass.getRawImportedInterfaceName());

-						stringBuffer.append(TEXT_132);

-					}

-					stringBuffer.append(TEXT_133);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_134);

-					stringBuffer.append(genFeature.getImportedType(genClass));

-					stringBuffer.append(TEXT_135);

-				}

-			}

-			stringBuffer.append(TEXT_136);

-			if (genModel.isMinimalReflectiveMethods()) {

-				stringBuffer.append(TEXT_137);

-			} else {

-				stringBuffer.append(TEXT_138);

-			}

-			stringBuffer.append(TEXT_139);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {

-			stringBuffer.append(TEXT_140);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_141);

-			}

-			stringBuffer.append(TEXT_142);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_143);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-			stringBuffer.append(TEXT_144);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_145);

-			stringBuffer.append(negativeOffsetCorrection);

-			stringBuffer.append(TEXT_146);

-			for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {

-				stringBuffer.append(TEXT_147);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(TEXT_148);

-				if (genFeature.isListType()) {

-					if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {

-						stringBuffer.append(TEXT_149);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

-						stringBuffer.append(singleWildcard);

-						stringBuffer.append(TEXT_150);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

-						stringBuffer.append(TEXT_151);

-						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

-						stringBuffer.append(TEXT_152);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_153);

-					} else if (genFeature.isWrappedFeatureMapType()) {

-						stringBuffer.append(TEXT_154);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

-						stringBuffer.append(singleWildcard);

-						stringBuffer.append(TEXT_155);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-						stringBuffer.append(TEXT_156);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_157);

-					} else {

-						stringBuffer.append(TEXT_158);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

-						stringBuffer.append(singleWildcard);

-						stringBuffer.append(TEXT_159);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_160);

-					}

-				} else if (genFeature.isContainer() && !genFeature.isBasicSet()) {

-					stringBuffer.append(TEXT_161);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_162);

-				} else if (genFeature.isUnsettable()) {

-					stringBuffer.append(TEXT_163);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_164);

-				} else {

-					stringBuffer.append(TEXT_165);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_166);

-				}

-			}

-			stringBuffer.append(TEXT_167);

-			if (genModel.isMinimalReflectiveMethods()) {

-				stringBuffer.append(TEXT_168);

-			} else {

-				stringBuffer.append(TEXT_169);

-			}

-			stringBuffer.append(TEXT_170);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {

-			stringBuffer.append(TEXT_171);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_172);

-			}

-			stringBuffer.append(TEXT_173);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_174);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_175);

-			stringBuffer.append(negativeOffsetCorrection);

-			stringBuffer.append(TEXT_176);

-			for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {

-				GenFeature reverseFeature = genFeature.getReverse();

-				GenClass targetClass = reverseFeature.getGenClass();

-				String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-						+ genClass.getOffsetCorrectionField(genFeature) : "";

-				stringBuffer.append(TEXT_177);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(TEXT_178);

-				stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-				stringBuffer.append(reverseOffsetCorrection);

-				stringBuffer.append(TEXT_179);

-				stringBuffer.append(targetClass.getRawImportedInterfaceName());

-				stringBuffer.append(TEXT_180);

-			}

-			stringBuffer.append(TEXT_181);

-			if (genModel.isMinimalReflectiveMethods()) {

-				stringBuffer.append(TEXT_182);

-			} else {

-				stringBuffer.append(TEXT_183);

-			}

-			stringBuffer.append(TEXT_184);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getEGetGenFeatures())) {

-			stringBuffer.append(TEXT_185);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_186);

-			}

-			stringBuffer.append(TEXT_187);

-			stringBuffer.append(negativeOffsetCorrection);

-			stringBuffer.append(TEXT_188);

-			for (GenFeature genFeature : genClass.getEGetGenFeatures()) {

-				stringBuffer.append(TEXT_189);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(TEXT_190);

-				if (genFeature.isPrimitiveType()) {

-					if (isJDK50) {

-						stringBuffer.append(TEXT_191);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_192);

-					} else if (genFeature.isBooleanType()) {

-						stringBuffer.append(TEXT_193);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_194);

-					} else {

-						stringBuffer.append(TEXT_195);

-						stringBuffer.append(genFeature.getObjectType(genClass));

-						stringBuffer.append(TEXT_196);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_197);

-					}

-				} else if (genFeature.isResolveProxies() && !genFeature.isListType()) {

-					stringBuffer.append(TEXT_198);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_199);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_200);

-				} else if (genFeature.isMapType()) {

-					if (genFeature.isEffectiveSuppressEMFTypes()) {

-						stringBuffer.append(TEXT_201);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

-						stringBuffer.append(TEXT_202);

-						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

-						stringBuffer.append(TEXT_203);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_204);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_205);

-					} else {

-						stringBuffer.append(TEXT_206);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_207);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_208);

-					}

-				} else if (genFeature.isWrappedFeatureMapType()) {

-					stringBuffer.append(TEXT_209);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_210);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_211);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_212);

-				} else if (genFeature.isFeatureMapType()) {

-					stringBuffer.append(TEXT_213);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_214);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_215);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_216);

-				} else {

-					stringBuffer.append(TEXT_217);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_218);

-				}

-			}

-			stringBuffer.append(TEXT_219);

-			if (genModel.isMinimalReflectiveMethods()) {

-				stringBuffer.append(TEXT_220);

-			} else {

-				stringBuffer.append(TEXT_221);

-			}

-			stringBuffer.append(TEXT_222);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getESetGenFeatures())) {

-			stringBuffer.append(TEXT_223);

-			if (genModel.useGenerics()) {

-				for (GenFeature genFeature : genClass.getESetGenFeatures()) {

-					if (genFeature.isUncheckedCast(genClass) && !genFeature.isFeatureMapType()

-							&& !genFeature.isMapType()) {

-						stringBuffer.append(TEXT_224);

-						break;

-					}

-				}

-			}

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_225);

-			}

-			stringBuffer.append(TEXT_226);

-			stringBuffer.append(negativeOffsetCorrection);

-			stringBuffer.append(TEXT_227);

-			for (GenFeature genFeature : genClass.getESetGenFeatures()) {

-				stringBuffer.append(TEXT_228);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(TEXT_229);

-				if (genFeature.isListType()) {

-					if (genFeature.isWrappedFeatureMapType()) {

-						stringBuffer.append(TEXT_230);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-						stringBuffer.append(TEXT_231);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-						stringBuffer.append(TEXT_232);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_233);

-					} else if (genFeature.isFeatureMapType()) {

-						stringBuffer.append(TEXT_234);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-						stringBuffer.append(TEXT_235);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_236);

-					} else if (genFeature.isMapType()) {

-						if (genFeature.isEffectiveSuppressEMFTypes()) {

-							stringBuffer.append(TEXT_237);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-							stringBuffer.append(TEXT_238);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));

-							stringBuffer.append(TEXT_239);

-							stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));

-							stringBuffer.append(TEXT_240);

-							stringBuffer.append(genFeature.getGetAccessor());

-							stringBuffer.append(TEXT_241);

-						} else {

-							stringBuffer.append(TEXT_242);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-							stringBuffer.append(TEXT_243);

-							stringBuffer.append(genFeature.getGetAccessor());

-							stringBuffer.append(TEXT_244);

-						}

-					} else {

-						stringBuffer.append(TEXT_245);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_246);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_247);

-						stringBuffer.append(genModel.getImportedName("java.util.Collection"));

-						if (isJDK50) {

-							stringBuffer.append(TEXT_248);

-							stringBuffer.append(genFeature.getListItemType(genClass));

-							stringBuffer.append(TEXT_249);

-						}

-						stringBuffer.append(TEXT_250);

-					}

-				} else if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_251);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_252);

-					stringBuffer.append(genFeature.getObjectType(genClass));

-					stringBuffer.append(TEXT_253);

-					stringBuffer.append(genFeature.getPrimitiveValueFunction());

-					stringBuffer.append(TEXT_254);

-				} else {

-					stringBuffer.append(TEXT_255);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_256);

-					if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()

-							|| !genFeature.getRawType().equals(genFeature.getType(genClass))) {

-						stringBuffer.append(TEXT_257);

-						stringBuffer.append(genFeature.getObjectType(genClass));

-						stringBuffer.append(TEXT_258);

-					}

-					stringBuffer.append(TEXT_259);

-				}

-				stringBuffer.append(TEXT_260);

-			}

-			stringBuffer.append(TEXT_261);

-			if (genModel.isMinimalReflectiveMethods()) {

-				stringBuffer.append(TEXT_262);

-			} else {

-				stringBuffer.append(TEXT_263);

-			}

-			stringBuffer.append(TEXT_264);

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getEUnsetGenFeatures())) {

-			stringBuffer.append(TEXT_265);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.eUnset.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03KfMGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/eUnset.override.javajetinc

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation()

-				&& genClass.implementsAny(genClass.getEIsSetGenFeatures())) {

-			stringBuffer.append(TEXT_266);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.eIsSet.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03TpIGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/eIsSet.override.javajetinc

-		}

-		if (isImplementation

-				&& (!genClass.getMixinGenFeatures().isEmpty() || genClass.hasOffsetCorrection()

-						&& !genClass.getGenFeatures().isEmpty())) {

-			if (!genClass.getMixinGenFeatures().isEmpty()) {

-				stringBuffer.append(TEXT_267);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_268);

-				}

-				stringBuffer.append(TEXT_269);

-				stringBuffer.append(singleWildcard);

-				stringBuffer.append(TEXT_270);

-				for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {

-					stringBuffer.append(TEXT_271);

-					stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());

-					stringBuffer.append(TEXT_272);

-					stringBuffer.append(negativeOffsetCorrection);

-					stringBuffer.append(TEXT_273);

-					for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {

-						stringBuffer.append(TEXT_274);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(TEXT_275);

-						stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(TEXT_276);

-					}

-					stringBuffer.append(TEXT_277);

-				}

-				stringBuffer.append(TEXT_278);

-			}

-			stringBuffer.append(TEXT_279);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_280);

-			}

-			stringBuffer.append(TEXT_281);

-			stringBuffer.append(singleWildcard);

-			stringBuffer.append(TEXT_282);

-			for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {

-				stringBuffer.append(TEXT_283);

-				stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());

-				stringBuffer.append(TEXT_284);

-				for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {

-					stringBuffer.append(TEXT_285);

-					stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(TEXT_286);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_287);

-				}

-				stringBuffer.append(TEXT_288);

-			}

-			if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {

-				stringBuffer.append(TEXT_289);

-				stringBuffer.append(genClass.getRawImportedInterfaceName());

-				stringBuffer.append(TEXT_290);

-				stringBuffer.append(negativeOffsetCorrection);

-				stringBuffer.append(TEXT_291);

-				for (GenFeature genFeature : genClass.getGenFeatures()) {

-					stringBuffer.append(TEXT_292);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(TEXT_293);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_294);

-				}

-				stringBuffer.append(TEXT_295);

-			}

-			stringBuffer.append(TEXT_296);

-		}

-		if (genModel.isOperationReflection()

-				&& isImplementation

-				&& (!genClass.getMixinGenOperations().isEmpty()

-						|| !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(),

-								genClass.getImplementedGenOperations()).isEmpty() || genClass.hasOffsetCorrection()

-						&& !genClass.getGenOperations().isEmpty())) {

-			stringBuffer.append(TEXT_297);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_298);

-			}

-			stringBuffer.append(TEXT_299);

-			stringBuffer.append(singleWildcard);

-			stringBuffer.append(TEXT_300);

-			for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) {

-				List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations();

-				List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();

-				if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations)

-						.isEmpty()) {

-					stringBuffer.append(TEXT_301);

-					stringBuffer.append(extendedGenClass.getRawImportedInterfaceName());

-					stringBuffer.append(TEXT_302);

-					for (GenOperation genOperation : extendedImplementedGenOperations) {

-						GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);

-						if (implementedGenOperations.contains(overrideGenOperation)) {

-							stringBuffer.append(TEXT_303);

-							stringBuffer.append(extendedGenClass.getQualifiedOperationID(genOperation));

-							stringBuffer.append(TEXT_304);

-							stringBuffer.append(genClass.getQualifiedOperationID(overrideGenOperation));

-							stringBuffer.append(positiveOperationOffsetCorrection);

-							stringBuffer.append(TEXT_305);

-						}

-					}

-					stringBuffer.append(TEXT_306);

-				}

-			}

-			for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {

-				stringBuffer.append(TEXT_307);

-				stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());

-				stringBuffer.append(TEXT_308);

-				for (GenOperation genOperation : mixinGenClass.getGenOperations()) {

-					GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);

-					stringBuffer.append(TEXT_309);

-					stringBuffer.append(mixinGenClass.getQualifiedOperationID(genOperation));

-					stringBuffer.append(TEXT_310);

-					stringBuffer

-							.append(genClass

-									.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation

-											: genOperation));

-					stringBuffer.append(positiveOperationOffsetCorrection);

-					stringBuffer.append(TEXT_311);

-				}

-				stringBuffer.append(TEXT_312);

-			}

-			if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {

-				stringBuffer.append(TEXT_313);

-				stringBuffer.append(genClass.getRawImportedInterfaceName());

-				stringBuffer.append(TEXT_314);

-				stringBuffer.append(negativeOperationOffsetCorrection);

-				stringBuffer.append(TEXT_315);

-				for (GenOperation genOperation : genClass.getGenOperations()) {

-					stringBuffer.append(TEXT_316);

-					stringBuffer.append(genClass.getQualifiedOperationID(genOperation));

-					stringBuffer.append(TEXT_317);

-					stringBuffer.append(genClass.getQualifiedOperationID(genOperation));

-					stringBuffer.append(positiveOperationOffsetCorrection);

-					stringBuffer.append(TEXT_318);

-				}

-				stringBuffer.append(TEXT_319);

-			}

-			stringBuffer.append(TEXT_320);

-		}

-		if (isImplementation && genModel.isVirtualDelegation()) {

-			String eVirtualValuesField = genClass.getEVirtualValuesField();

-			if (eVirtualValuesField != null) {

-				stringBuffer.append(TEXT_321);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_322);

-				}

-				stringBuffer.append(TEXT_323);

-				stringBuffer.append(eVirtualValuesField);

-				stringBuffer.append(TEXT_324);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_325);

-				}

-				stringBuffer.append(TEXT_326);

-				stringBuffer.append(eVirtualValuesField);

-				stringBuffer.append(TEXT_327);

-			}

-			{

-				List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());

-				if (!eVirtualIndexBitFields.isEmpty()) {

-					List<String> allEVirtualIndexBitFields = genClass

-							.getAllEVirtualIndexBitFields(new ArrayList<String>());

-					stringBuffer.append(TEXT_328);

-					if (genModel.useClassOverrideAnnotation()) {

-						stringBuffer.append(TEXT_329);

-					}

-					stringBuffer.append(TEXT_330);

-					for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {

-						stringBuffer.append(TEXT_331);

-						stringBuffer.append(i);

-						stringBuffer.append(TEXT_332);

-						stringBuffer.append(allEVirtualIndexBitFields.get(i));

-						stringBuffer.append(TEXT_333);

-					}

-					stringBuffer.append(TEXT_334);

-					if (genModel.useClassOverrideAnnotation()) {

-						stringBuffer.append(TEXT_335);

-					}

-					stringBuffer.append(TEXT_336);

-					for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {

-						stringBuffer.append(TEXT_337);

-						stringBuffer.append(i);

-						stringBuffer.append(TEXT_338);

-						stringBuffer.append(allEVirtualIndexBitFields.get(i));

-						stringBuffer.append(TEXT_339);

-					}

-					stringBuffer.append(TEXT_340);

-				}

-			}

-		}

-		if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {

-			stringBuffer.append(TEXT_341);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_342);

-			}

-			if (genModel.useGenerics()) {

-				boolean isUnchecked = false;

-				boolean isRaw = false;

-				LOOP: for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass

-						.getImplementedGenOperations() : genClass.getAllGenOperations())) {

-					for (GenParameter genParameter : genOperation.getGenParameters()) {

-						if (genParameter.isUncheckedCast()) {

-							if (genParameter.getTypeGenDataType() == null

-									|| !genParameter.getTypeGenDataType().isObjectType()) {

-								isUnchecked = true;

-							}

-							if (genParameter.usesOperationTypeParameters()

-									&& !genParameter.getEcoreParameter().getEGenericType().getETypeArguments()

-											.isEmpty()) {

-								isRaw = true;

-								break LOOP;

-							}

-						}

-					}

-				}

-				if (isUnchecked) {

-					stringBuffer.append(TEXT_343);

-					if (!isRaw) {

-						stringBuffer.append(TEXT_344);

-					} else {

-						stringBuffer.append(TEXT_345);

-					}

-					stringBuffer.append(TEXT_346);

-				}

-			}

-			stringBuffer.append(TEXT_347);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EList"));

-			stringBuffer.append(singleWildcard);

-			stringBuffer.append(TEXT_348);

-			stringBuffer.append(genModel

-					.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"

-							: "java.lang.reflect.InvocationTargetException"));

-			stringBuffer.append(TEXT_349);

-			stringBuffer.append(negativeOperationOffsetCorrection);

-			stringBuffer.append(TEXT_350);

-			for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass

-					.getImplementedGenOperations() : genClass.getAllGenOperations())) {

-				List<GenParameter> genParameters = genOperation.getGenParameters();

-				int size = genParameters.size();

-				boolean hasCheckedException = genOperation.hasCheckedException();

-				String indent = hasCheckedException ? "\t" : "";

-				stringBuffer.append(TEXT_351);

-				stringBuffer.append(genClass.getQualifiedOperationID(genOperation));

-				stringBuffer.append(TEXT_352);

-				if (hasCheckedException) {

-					stringBuffer.append(TEXT_353);

-					/*}*/}

-				if (genOperation.isVoid()) {

-					stringBuffer.append(TEXT_354);

-					stringBuffer.append(indent);

-					stringBuffer.append(genOperation.getName());

-					stringBuffer.append(TEXT_355);

-					for (int i = 0; i < size; i++) {

-						GenParameter genParameter = genParameters.get(i);

-						if (!isJDK50 && genParameter.isPrimitiveType()) {

-							stringBuffer.append(TEXT_356);

-						}

-						if (genParameter.getTypeGenDataType() == null

-								|| !genParameter.getTypeGenDataType().isObjectType()

-								|| !genParameter.usesOperationTypeParameters()

-								&& !genParameter.getRawType().equals(genParameter.getType(genClass))) {

-							stringBuffer.append(TEXT_357);

-							stringBuffer.append(genParameter.usesOperationTypeParameters() ? genParameter

-									.getRawImportedType() : genParameter.getObjectType(genClass));

-							stringBuffer.append(TEXT_358);

-						}

-						stringBuffer.append(TEXT_359);

-						stringBuffer.append(i);

-						stringBuffer.append(TEXT_360);

-						if (!isJDK50 && genParameter.isPrimitiveType()) {

-							stringBuffer.append(TEXT_361);

-							stringBuffer.append(genParameter.getPrimitiveValueFunction());

-							stringBuffer.append(TEXT_362);

-						}

-						if (i < (size - 1)) {

-							stringBuffer.append(TEXT_363);

-						}

-					}

-					stringBuffer.append(TEXT_364);

-					stringBuffer.append(indent);

-					stringBuffer.append(TEXT_365);

-				} else {

-					stringBuffer.append(TEXT_366);

-					stringBuffer.append(indent);

-					stringBuffer.append(TEXT_367);

-					if (!isJDK50 && genOperation.isPrimitiveType()) {

-						stringBuffer.append(TEXT_368);

-						stringBuffer.append(genOperation.getObjectType(genClass));

-						stringBuffer.append(TEXT_369);

-					}

-					stringBuffer.append(genOperation.getName());

-					stringBuffer.append(TEXT_370);

-					for (int i = 0; i < size; i++) {

-						GenParameter genParameter = genParameters.get(i);

-						if (!isJDK50 && genParameter.isPrimitiveType()) {

-							stringBuffer.append(TEXT_371);

-						}

-						if (genParameter.getTypeGenDataType() == null

-								|| !genParameter.getTypeGenDataType().isObjectType()

-								|| !genParameter.usesOperationTypeParameters()

-								&& !genParameter.getRawType().equals(genParameter.getType(genClass))) {

-							stringBuffer.append(TEXT_372);

-							stringBuffer.append(genParameter.usesOperationTypeParameters() ? genParameter

-									.getRawImportedType() : genParameter.getObjectType(genClass));

-							stringBuffer.append(TEXT_373);

-						}

-						stringBuffer.append(TEXT_374);

-						stringBuffer.append(i);

-						stringBuffer.append(TEXT_375);

-						if (!isJDK50 && genParameter.isPrimitiveType()) {

-							stringBuffer.append(TEXT_376);

-							stringBuffer.append(genParameter.getPrimitiveValueFunction());

-							stringBuffer.append(TEXT_377);

-						}

-						if (i < (size - 1)) {

-							stringBuffer.append(TEXT_378);

-						}

-					}

-					stringBuffer.append(TEXT_379);

-					if (!isJDK50 && genOperation.isPrimitiveType()) {

-						stringBuffer.append(TEXT_380);

-					}

-					stringBuffer.append(TEXT_381);

-				}

-				if (hasCheckedException) {/*{*/

-					stringBuffer.append(TEXT_382);

-					stringBuffer.append(genModel.getImportedName("java.lang.Throwable"));

-					stringBuffer.append(TEXT_383);

-					stringBuffer.append(genModel

-							.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"

-									: "java.lang.reflect.InvocationTargetException"));

-					stringBuffer.append(TEXT_384);

-				}

-			}

-			stringBuffer.append(TEXT_385);

-			if (genModel.isMinimalReflectiveMethods()) {

-				stringBuffer.append(TEXT_386);

-			} else {

-				stringBuffer.append(TEXT_387);

-			}

-			stringBuffer.append(TEXT_388);

-		}

-		if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation()

-				&& !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {

-			stringBuffer.append(TEXT_389);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_390);

-			}

-			stringBuffer.append(TEXT_391);

-			{

-				boolean first = true;

-				for (GenFeature genFeature : genClass.getToStringGenFeatures()) {

-					if (first) {

-						first = false;

-						stringBuffer.append(TEXT_392);

-						stringBuffer.append(genFeature.getName());

-						stringBuffer.append(TEXT_393);

-						stringBuffer.append(genModel.getNonNLS());

-					} else {

-						stringBuffer.append(TEXT_394);

-						stringBuffer.append(genFeature.getName());

-						stringBuffer.append(TEXT_395);

-						stringBuffer.append(genModel.getNonNLS());

-					}

-					if (genFeature.isUnsettable() && !genFeature.isListType()) {

-						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-							stringBuffer.append(TEXT_396);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_397);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_398);

-							stringBuffer.append(genModel.getNonNLS());

-						} else {

-							if (genClass.isFlag(genFeature)) {

-								if (genFeature.isBooleanType()) {

-									stringBuffer.append(TEXT_399);

-									if (genClass.isESetFlag(genFeature)) {

-										stringBuffer.append(TEXT_400);

-										stringBuffer.append(genClass.getESetFlagsField(genFeature));

-										stringBuffer.append(TEXT_401);

-										stringBuffer.append(genFeature.getUpperName());

-										stringBuffer.append(TEXT_402);

-									} else {

-										stringBuffer.append(genFeature.getUncapName());

-										stringBuffer.append(TEXT_403);

-									}

-									stringBuffer.append(TEXT_404);

-									stringBuffer.append(genClass.getFlagsField(genFeature));

-									stringBuffer.append(TEXT_405);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_406);

-									stringBuffer.append(genModel.getNonNLS());

-								} else {

-									stringBuffer.append(TEXT_407);

-									if (genClass.isESetFlag(genFeature)) {

-										stringBuffer.append(TEXT_408);

-										stringBuffer.append(genClass.getESetFlagsField(genFeature));

-										stringBuffer.append(TEXT_409);

-										stringBuffer.append(genFeature.getUpperName());

-										stringBuffer.append(TEXT_410);

-									} else {

-										stringBuffer.append(genFeature.getUncapName());

-										stringBuffer.append(TEXT_411);

-									}

-									stringBuffer.append(TEXT_412);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_413);

-									stringBuffer.append(genClass.getFlagsField(genFeature));

-									stringBuffer.append(TEXT_414);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_415);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_416);

-									stringBuffer.append(genModel.getNonNLS());

-								}

-							} else {

-								stringBuffer.append(TEXT_417);

-								if (genClass.isESetFlag(genFeature)) {

-									stringBuffer.append(TEXT_418);

-									stringBuffer.append(genClass.getESetFlagsField(genFeature));

-									stringBuffer.append(TEXT_419);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_420);

-								} else {

-									stringBuffer.append(genFeature.getUncapName());

-									stringBuffer.append(TEXT_421);

-								}

-								stringBuffer.append(TEXT_422);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_423);

-								stringBuffer.append(genModel.getNonNLS());

-							}

-						}

-					} else {

-						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-							stringBuffer.append(TEXT_424);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							if (!genFeature.isListType() && !genFeature.isReferenceType()) {

-								stringBuffer.append(TEXT_425);

-								stringBuffer.append(genFeature.getEDefault());

-							}

-							stringBuffer.append(TEXT_426);

-						} else {

-							if (genClass.isFlag(genFeature)) {

-								if (genFeature.isBooleanType()) {

-									stringBuffer.append(TEXT_427);

-									stringBuffer.append(genClass.getFlagsField(genFeature));

-									stringBuffer.append(TEXT_428);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_429);

-								} else {

-									stringBuffer.append(TEXT_430);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_431);

-									stringBuffer.append(genClass.getFlagsField(genFeature));

-									stringBuffer.append(TEXT_432);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_433);

-									stringBuffer.append(genFeature.getUpperName());

-									stringBuffer.append(TEXT_434);

-								}

-							} else {

-								stringBuffer.append(TEXT_435);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_436);

-							}

-						}

-					}

-				}

-			}

-			stringBuffer.append(TEXT_437);

-		}

-		if (isImplementation && genClass.isMapEntry()) {

-			GenFeature keyFeature = genClass.getMapEntryKeyFeature();

-			GenFeature valueFeature = genClass.getMapEntryValueFeature();

-			String objectType = genModel.getImportedName("java.lang.Object");

-			String keyType = isJDK50 ? keyFeature.getObjectType(genClass) : objectType;

-			String valueType = isJDK50 ? valueFeature.getObjectType(genClass) : objectType;

-			String eMapType = genModel.getImportedName("org.eclipse.emf.common.util.EMap")

-					+ (isJDK50 ? "<" + keyType + ", " + valueType + ">" : "");

-			stringBuffer.append(TEXT_438);

-			if (isGWT) {

-				stringBuffer.append(TEXT_439);

-				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-			}

-			stringBuffer.append(TEXT_440);

-			stringBuffer.append(objectType);

-			stringBuffer.append(TEXT_441);

-			stringBuffer.append(keyType);

-			stringBuffer.append(TEXT_442);

-			if (!isJDK50 && keyFeature.isPrimitiveType()) {

-				stringBuffer.append(TEXT_443);

-				stringBuffer.append(keyFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_444);

-			} else {

-				stringBuffer.append(TEXT_445);

-			}

-			stringBuffer.append(TEXT_446);

-			stringBuffer.append(keyType);

-			stringBuffer.append(TEXT_447);

-			if (keyFeature.isListType()) {

-				stringBuffer.append(TEXT_448);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_449);

-					stringBuffer.append(genModel.getImportedName("java.util.Collection"));

-					stringBuffer.append(TEXT_450);

-				}

-				stringBuffer.append(TEXT_451);

-			} else if (isJDK50) {

-				stringBuffer.append(TEXT_452);

-			} else if (keyFeature.isPrimitiveType()) {

-				stringBuffer.append(TEXT_453);

-				stringBuffer.append(keyFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_454);

-				stringBuffer.append(keyFeature.getPrimitiveValueFunction());

-				stringBuffer.append(TEXT_455);

-			} else {

-				stringBuffer.append(TEXT_456);

-				stringBuffer.append(keyFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_457);

-			}

-			stringBuffer.append(TEXT_458);

-			stringBuffer.append(valueType);

-			stringBuffer.append(TEXT_459);

-			if (!isJDK50 && valueFeature.isPrimitiveType()) {

-				stringBuffer.append(TEXT_460);

-				stringBuffer.append(valueFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_461);

-			} else {

-				stringBuffer.append(TEXT_462);

-			}

-			stringBuffer.append(TEXT_463);

-			stringBuffer.append(valueType);

-			stringBuffer.append(TEXT_464);

-			stringBuffer.append(valueType);

-			stringBuffer.append(TEXT_465);

-			stringBuffer.append(valueType);

-			stringBuffer.append(TEXT_466);

-			if (valueFeature.isListType()) {

-				stringBuffer.append(TEXT_467);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_468);

-					stringBuffer.append(genModel.getImportedName("java.util.Collection"));

-					stringBuffer.append(TEXT_469);

-				}

-				stringBuffer.append(TEXT_470);

-			} else if (isJDK50) {

-				stringBuffer.append(TEXT_471);

-			} else if (valueFeature.isPrimitiveType()) {

-				stringBuffer.append(TEXT_472);

-				stringBuffer.append(valueFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_473);

-				stringBuffer.append(valueFeature.getPrimitiveValueFunction());

-				stringBuffer.append(TEXT_474);

-			} else {

-				stringBuffer.append(TEXT_475);

-				stringBuffer.append(valueFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_476);

-			}

-			stringBuffer.append(TEXT_477);

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_478);

-			}

-			stringBuffer.append(TEXT_479);

-			stringBuffer.append(eMapType);

-			stringBuffer.append(TEXT_480);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

-			stringBuffer.append(TEXT_481);

-			stringBuffer.append(eMapType);

-			stringBuffer.append(TEXT_482);

-		}

-		stringBuffer.append(TEXT_483);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03daIGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_484);

-		stringBuffer.append(isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName());

-		// TODO fix the space above

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_485);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenClass genClass = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate

-				&& (!genClass.isExternalInterface() && (!genModel.isSuppressInterfaces() || genClass.isInterface()));

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Interface extends org.eclipse.egf.emf.pattern.base.GenClassJava {
+	protected static String nl;
+
+	public static synchronized Interface create(String lineSeparator) {
+		nl = lineSeparator;
+		Interface result = new Interface();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";";
+	protected final String TEXT_4 = NL + "package ";
+	protected final String TEXT_5 = ";";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL;
+	protected final String TEXT_8 = NL;
+	protected final String TEXT_9 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * An implementation of the model object '<em><b>";
+	protected final String TEXT_10 = "</b></em>'." + NL + " * <!-- end-user-doc -->";
+	protected final String TEXT_11 = NL + " * <p>" + NL + " * The following features are implemented:" + NL + " * </p>"
+			+ NL + " * <ul>";
+	protected final String TEXT_12 = NL + " *   <li>{@link ";
+	protected final String TEXT_13 = "#";
+	protected final String TEXT_14 = " <em>";
+	protected final String TEXT_15 = "</em>}</li>";
+	protected final String TEXT_16 = NL + " * </ul>";
+	protected final String TEXT_17 = NL + " *" + NL + " * @generated" + NL + " */";
+	protected final String TEXT_18 = NL + "public";
+	protected final String TEXT_19 = " abstract";
+	protected final String TEXT_20 = " class ";
+	protected final String TEXT_21 = NL + "public interface ";
+	protected final String TEXT_22 = NL + "{";
+	protected final String TEXT_23 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_24 = " copyright = ";
+	protected final String TEXT_25 = ";";
+	protected final String TEXT_26 = NL;
+	protected final String TEXT_27 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_28 = " mofDriverNumber = \"";
+	protected final String TEXT_29 = "\";";
+	protected final String TEXT_30 = NL;
+	protected final String TEXT_31 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate static final long serialVersionUID = 1L;" + NL;
+	protected final String TEXT_32 = NL + "\t/**" + NL
+			+ "\t * An array of objects representing the values of non-primitive features." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_33 = NL + "\t@";
+	protected final String TEXT_34 = NL + "\tprotected Object[] ";
+	protected final String TEXT_35 = ";" + NL;
+	protected final String TEXT_36 = NL + "\t/**" + NL
+			+ "\t * A bit field representing the indices of non-primitive feature values." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_37 = NL + "\t@";
+	protected final String TEXT_38 = NL + "\tprotected int ";
+	protected final String TEXT_39 = ";" + NL;
+	protected final String TEXT_40 = NL + "\t/**" + NL
+			+ "\t * A set of bit flags representing the values of boolean attributes and whether unsettable features have been set."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_41 = NL + "\t@";
+	protected final String TEXT_42 = NL + "\tprotected int ";
+	protected final String TEXT_43 = " = 0;" + NL;
+	protected final String TEXT_44 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";
+	protected final String TEXT_45 = "() <em>";
+	protected final String TEXT_46 = "</em>}' array accessor." + NL
+			+ "\t * This is specialized for the more specific element type known in this context." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+	protected final String TEXT_47 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_48 = NL + "\t@SuppressWarnings(\"rawtypes\")";
+	protected final String TEXT_49 = NL + "\tprotected static final ";
+	protected final String TEXT_50 = "[] ";
+	protected final String TEXT_51 = "_EEMPTY_ARRAY = new ";
+	protected final String TEXT_52 = " [0]";
+	protected final String TEXT_53 = ";" + NL;
+	protected final String TEXT_54 = NL;
+	protected final String TEXT_55 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final int ";
+	protected final String TEXT_56 = " = ";
+	protected final String TEXT_57 = ".getFeatureID(";
+	protected final String TEXT_58 = ") - ";
+	protected final String TEXT_59 = ";" + NL;
+	protected final String TEXT_60 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final int ";
+	protected final String TEXT_61 = " = ";
+	protected final String TEXT_62 = ".getFeatureID(";
+	protected final String TEXT_63 = ") - ";
+	protected final String TEXT_64 = ";" + NL;
+	protected final String TEXT_65 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate static final int \"EOPERATION_OFFSET_CORRECTION\" = ";
+	protected final String TEXT_66 = ".getOperationID(";
+	protected final String TEXT_67 = ") - ";
+	protected final String TEXT_68 = ";" + NL;
+	protected final String TEXT_69 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_70 = "public";
+	protected final String TEXT_71 = "protected";
+	protected final String TEXT_72 = " ";
+	protected final String TEXT_73 = "()" + NL + "\t{" + NL + "\t\tsuper();";
+	protected final String TEXT_74 = NL + "\t\t";
+	protected final String TEXT_75 = " |= ";
+	protected final String TEXT_76 = "_EFLAG";
+	protected final String TEXT_77 = "_DEFAULT";
+	protected final String TEXT_78 = ";";
+	protected final String TEXT_79 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_80 = NL + "\t@Override";
+	protected final String TEXT_81 = NL + "\tprotected ";
+	protected final String TEXT_82 = " eStaticClass()" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_83 = ";" + NL + "\t}" + NL;
+	protected final String TEXT_84 = NL;
+	protected final String TEXT_85 = NL;
+	protected final String TEXT_86 = NL;
+	protected final String TEXT_87 = NL;
+	protected final String TEXT_88 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_89 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_90 = NL + "\t@Override";
+	protected final String TEXT_91 = NL + "\tpublic ";
+	protected final String TEXT_92 = " eInverseAdd(";
+	protected final String TEXT_93 = " otherEnd, int featureID, ";
+	protected final String TEXT_94 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";
+	protected final String TEXT_95 = ")" + NL + "\t\t{";
+	protected final String TEXT_96 = NL + "\t\t\tcase ";
+	protected final String TEXT_97 = ":";
+	protected final String TEXT_98 = NL + "\t\t\t\treturn ((";
+	protected final String TEXT_99 = "(";
+	protected final String TEXT_100 = ".InternalMapView";
+	protected final String TEXT_101 = ")";
+	protected final String TEXT_102 = "()).eMap()).basicAdd(otherEnd, msgs);";
+	protected final String TEXT_103 = NL + "\t\t\t\treturn (";
+	protected final String TEXT_104 = "()).basicAdd(otherEnd, msgs);";
+	protected final String TEXT_105 = NL + "\t\t\t\tif (eInternalContainer() != null)" + NL
+			+ "\t\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);";
+	protected final String TEXT_106 = NL + "\t\t\t\treturn basicSet";
+	protected final String TEXT_107 = "((";
+	protected final String TEXT_108 = ")otherEnd, msgs);";
+	protected final String TEXT_109 = NL + "\t\t\t\treturn eBasicSetContainer(otherEnd, ";
+	protected final String TEXT_110 = ", msgs);";
+	protected final String TEXT_111 = NL + "\t\t\t\t";
+	protected final String TEXT_112 = " ";
+	protected final String TEXT_113 = " = (";
+	protected final String TEXT_114 = ")eVirtualGet(";
+	protected final String TEXT_115 = ");";
+	protected final String TEXT_116 = NL + "\t\t\t\t";
+	protected final String TEXT_117 = " ";
+	protected final String TEXT_118 = " = ";
+	protected final String TEXT_119 = "basicGet";
+	protected final String TEXT_120 = "();";
+	protected final String TEXT_121 = NL + "\t\t\t\tif (";
+	protected final String TEXT_122 = " != null)";
+	protected final String TEXT_123 = NL + "\t\t\t\t\tmsgs = ((";
+	protected final String TEXT_124 = ")";
+	protected final String TEXT_125 = ").eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+	protected final String TEXT_126 = ", null, msgs);";
+	protected final String TEXT_127 = NL + "\t\t\t\t\tmsgs = ((";
+	protected final String TEXT_128 = ")";
+	protected final String TEXT_129 = ").eInverseRemove(this, ";
+	protected final String TEXT_130 = ", ";
+	protected final String TEXT_131 = ".class, msgs);";
+	protected final String TEXT_132 = NL + "\t\t\t\treturn basicSet";
+	protected final String TEXT_133 = "((";
+	protected final String TEXT_134 = ")otherEnd, msgs);";
+	protected final String TEXT_135 = NL + "\t\t}";
+	protected final String TEXT_136 = NL + "\t\treturn super.eInverseAdd(otherEnd, featureID, msgs);";
+	protected final String TEXT_137 = NL + "\t\treturn eDynamicInverseAdd(otherEnd, featureID, msgs);";
+	protected final String TEXT_138 = NL + "\t}" + NL;
+	protected final String TEXT_139 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_140 = NL + "\t@Override";
+	protected final String TEXT_141 = NL + "\tpublic ";
+	protected final String TEXT_142 = " eInverseRemove(";
+	protected final String TEXT_143 = " otherEnd, int featureID, ";
+	protected final String TEXT_144 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";
+	protected final String TEXT_145 = ")" + NL + "\t\t{";
+	protected final String TEXT_146 = NL + "\t\t\tcase ";
+	protected final String TEXT_147 = ":";
+	protected final String TEXT_148 = NL + "\t\t\t\treturn ((";
+	protected final String TEXT_149 = ")((";
+	protected final String TEXT_150 = ".InternalMapView";
+	protected final String TEXT_151 = ")";
+	protected final String TEXT_152 = "()).eMap()).basicRemove(otherEnd, msgs);";
+	protected final String TEXT_153 = NL + "\t\t\t\treturn ((";
+	protected final String TEXT_154 = ")((";
+	protected final String TEXT_155 = ".Internal.Wrapper)";
+	protected final String TEXT_156 = "()).featureMap()).basicRemove(otherEnd, msgs);";
+	protected final String TEXT_157 = NL + "\t\t\t\treturn ((";
+	protected final String TEXT_158 = ")";
+	protected final String TEXT_159 = "()).basicRemove(otherEnd, msgs);";
+	protected final String TEXT_160 = NL + "\t\t\t\treturn eBasicSetContainer(null, ";
+	protected final String TEXT_161 = ", msgs);";
+	protected final String TEXT_162 = NL + "\t\t\t\treturn basicUnset";
+	protected final String TEXT_163 = "(msgs);";
+	protected final String TEXT_164 = NL + "\t\t\t\treturn basicSet";
+	protected final String TEXT_165 = "(null, msgs);";
+	protected final String TEXT_166 = NL + "\t\t}";
+	protected final String TEXT_167 = NL + "\t\treturn super.eInverseRemove(otherEnd, featureID, msgs);";
+	protected final String TEXT_168 = NL + "\t\treturn eDynamicInverseRemove(otherEnd, featureID, msgs);";
+	protected final String TEXT_169 = NL + "\t}" + NL;
+	protected final String TEXT_170 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_171 = NL + "\t@Override";
+	protected final String TEXT_172 = NL + "\tpublic ";
+	protected final String TEXT_173 = " eBasicRemoveFromContainerFeature(";
+	protected final String TEXT_174 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (eContainerFeatureID()";
+	protected final String TEXT_175 = ")" + NL + "\t\t{";
+	protected final String TEXT_176 = NL + "\t\t\tcase ";
+	protected final String TEXT_177 = ":" + NL + "\t\t\t\treturn eInternalContainer().eInverseRemove(this, ";
+	protected final String TEXT_178 = ", ";
+	protected final String TEXT_179 = ".class, msgs);";
+	protected final String TEXT_180 = NL + "\t\t}";
+	protected final String TEXT_181 = NL + "\t\treturn super.eBasicRemoveFromContainerFeature(msgs);";
+	protected final String TEXT_182 = NL + "\t\treturn eDynamicBasicRemoveFromContainer(msgs);";
+	protected final String TEXT_183 = NL + "\t}" + NL;
+	protected final String TEXT_184 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_185 = NL + "\t@Override";
+	protected final String TEXT_186 = NL + "\tpublic Object eGet(int featureID, boolean resolve, boolean coreType)" + NL
+			+ "\t{" + NL + "\t\tswitch (featureID";
+	protected final String TEXT_187 = ")" + NL + "\t\t{";
+	protected final String TEXT_188 = NL + "\t\t\tcase ";
+	protected final String TEXT_189 = ":";
+	protected final String TEXT_190 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_191 = "();";
+	protected final String TEXT_192 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_193 = "() ? Boolean.TRUE : Boolean.FALSE;";
+	protected final String TEXT_194 = NL + "\t\t\t\treturn new ";
+	protected final String TEXT_195 = "(";
+	protected final String TEXT_196 = "());";
+	protected final String TEXT_197 = NL + "\t\t\t\tif (resolve) return ";
+	protected final String TEXT_198 = "();" + NL + "\t\t\t\treturn basicGet";
+	protected final String TEXT_199 = "();";
+	protected final String TEXT_200 = NL + "\t\t\t\tif (coreType) return ((";
+	protected final String TEXT_201 = ".InternalMapView";
+	protected final String TEXT_202 = ")";
+	protected final String TEXT_203 = "()).eMap();" + NL + "\t\t\t\telse return ";
+	protected final String TEXT_204 = "();";
+	protected final String TEXT_205 = NL + "\t\t\t\tif (coreType) return ";
+	protected final String TEXT_206 = "();" + NL + "\t\t\t\telse return ";
+	protected final String TEXT_207 = "().map();";
+	protected final String TEXT_208 = NL + "\t\t\t\tif (coreType) return ((";
+	protected final String TEXT_209 = ".Internal.Wrapper)";
+	protected final String TEXT_210 = "()).featureMap();" + NL + "\t\t\t\treturn ";
+	protected final String TEXT_211 = "();";
+	protected final String TEXT_212 = NL + "\t\t\t\tif (coreType) return ";
+	protected final String TEXT_213 = "();" + NL + "\t\t\t\treturn ((";
+	protected final String TEXT_214 = ".Internal)";
+	protected final String TEXT_215 = "()).getWrapper();";
+	protected final String TEXT_216 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_217 = "();";
+	protected final String TEXT_218 = NL + "\t\t}";
+	protected final String TEXT_219 = NL + "\t\treturn super.eGet(featureID, resolve, coreType);";
+	protected final String TEXT_220 = NL + "\t\treturn eDynamicGet(featureID, resolve, coreType);";
+	protected final String TEXT_221 = NL + "\t}" + NL;
+	protected final String TEXT_222 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_223 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_224 = NL + "\t@Override";
+	protected final String TEXT_225 = NL + "\tpublic void eSet(int featureID, Object newValue)" + NL + "\t{" + NL
+			+ "\t\tswitch (featureID";
+	protected final String TEXT_226 = ")" + NL + "\t\t{";
+	protected final String TEXT_227 = NL + "\t\t\tcase ";
+	protected final String TEXT_228 = ":";
+	protected final String TEXT_229 = NL + "\t\t\t\t((";
+	protected final String TEXT_230 = ".Internal)((";
+	protected final String TEXT_231 = ".Internal.Wrapper)";
+	protected final String TEXT_232 = "()).featureMap()).set(newValue);";
+	protected final String TEXT_233 = NL + "\t\t\t\t((";
+	protected final String TEXT_234 = ".Internal)";
+	protected final String TEXT_235 = "()).set(newValue);";
+	protected final String TEXT_236 = NL + "\t\t\t\t((";
+	protected final String TEXT_237 = ".Setting)((";
+	protected final String TEXT_238 = ".InternalMapView";
+	protected final String TEXT_239 = ")";
+	protected final String TEXT_240 = "()).eMap()).set(newValue);";
+	protected final String TEXT_241 = NL + "\t\t\t\t((";
+	protected final String TEXT_242 = ".Setting)";
+	protected final String TEXT_243 = "()).set(newValue);";
+	protected final String TEXT_244 = NL + "\t\t\t\t";
+	protected final String TEXT_245 = "().clear();" + NL + "\t\t\t\t";
+	protected final String TEXT_246 = "().addAll((";
+	protected final String TEXT_247 = "<? extends ";
+	protected final String TEXT_248 = ">";
+	protected final String TEXT_249 = ")newValue);";
+	protected final String TEXT_250 = NL + "\t\t\t\tset";
+	protected final String TEXT_251 = "(((";
+	protected final String TEXT_252 = ")newValue).";
+	protected final String TEXT_253 = "());";
+	protected final String TEXT_254 = NL + "\t\t\t\tset";
+	protected final String TEXT_255 = "(";
+	protected final String TEXT_256 = "(";
+	protected final String TEXT_257 = ")";
+	protected final String TEXT_258 = "newValue);";
+	protected final String TEXT_259 = NL + "\t\t\t\treturn;";
+	protected final String TEXT_260 = NL + "\t\t}";
+	protected final String TEXT_261 = NL + "\t\tsuper.eSet(featureID, newValue);";
+	protected final String TEXT_262 = NL + "\t\teDynamicSet(featureID, newValue);";
+	protected final String TEXT_263 = NL + "\t}" + NL;
+	protected final String TEXT_264 = NL;
+	protected final String TEXT_265 = NL;
+	protected final String TEXT_266 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_267 = NL + "\t@Override";
+	protected final String TEXT_268 = NL + "\tpublic int eBaseStructuralFeatureID(int derivedFeatureID, Class";
+	protected final String TEXT_269 = " baseClass)" + NL + "\t{";
+	protected final String TEXT_270 = NL + "\t\tif (baseClass == ";
+	protected final String TEXT_271 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (derivedFeatureID";
+	protected final String TEXT_272 = ")" + NL + "\t\t\t{";
+	protected final String TEXT_273 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_274 = ": return ";
+	protected final String TEXT_275 = ";";
+	protected final String TEXT_276 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_277 = NL + "\t\treturn super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);"
+			+ NL + "\t}";
+	protected final String TEXT_278 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_279 = NL + "\t@Override";
+	protected final String TEXT_280 = NL + "\tpublic int eDerivedStructuralFeatureID(int baseFeatureID, Class";
+	protected final String TEXT_281 = " baseClass)" + NL + "\t{";
+	protected final String TEXT_282 = NL + "\t\tif (baseClass == ";
+	protected final String TEXT_283 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID)" + NL + "\t\t\t{";
+	protected final String TEXT_284 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_285 = ": return ";
+	protected final String TEXT_286 = ";";
+	protected final String TEXT_287 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_288 = NL + "\t\tif (baseClass == ";
+	protected final String TEXT_289 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID";
+	protected final String TEXT_290 = ")" + NL + "\t\t\t{";
+	protected final String TEXT_291 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_292 = ": return ";
+	protected final String TEXT_293 = ";";
+	protected final String TEXT_294 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_295 = NL + "\t\treturn super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);"
+			+ NL + "\t}" + NL;
+	protected final String TEXT_296 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_297 = NL + "\t@Override";
+	protected final String TEXT_298 = NL + "\tpublic int eDerivedOperationID(int baseOperationID, Class";
+	protected final String TEXT_299 = " baseClass)" + NL + "\t{";
+	protected final String TEXT_300 = NL + "\t\tif (baseClass == ";
+	protected final String TEXT_301 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";
+	protected final String TEXT_302 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_303 = ": return ";
+	protected final String TEXT_304 = ";";
+	protected final String TEXT_305 = NL
+			+ "\t\t\t\tdefault: return super.eDerivedOperationID(baseOperationID, baseClass);" + NL + "\t\t\t}" + NL
+			+ "\t\t}";
+	protected final String TEXT_306 = NL + "\t\tif (baseClass == ";
+	protected final String TEXT_307 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";
+	protected final String TEXT_308 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_309 = ": return ";
+	protected final String TEXT_310 = ";";
+	protected final String TEXT_311 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_312 = NL + "\t\tif (baseClass == ";
+	protected final String TEXT_313 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID";
+	protected final String TEXT_314 = ")" + NL + "\t\t\t{";
+	protected final String TEXT_315 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_316 = ": return ";
+	protected final String TEXT_317 = ";";
+	protected final String TEXT_318 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_319 = NL + "\t\treturn super.eDerivedOperationID(baseOperationID, baseClass);" + NL
+			+ "\t}" + NL;
+	protected final String TEXT_320 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_321 = NL + "\t@Override";
+	protected final String TEXT_322 = NL + "\tprotected Object[] eVirtualValues()" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_323 = ";" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_324 = NL + "\t@Override";
+	protected final String TEXT_325 = NL + "\tprotected void eSetVirtualValues(Object[] newValues)" + NL + "\t{" + NL
+			+ "\t\t";
+	protected final String TEXT_326 = " = newValues;" + NL + "\t}" + NL;
+	protected final String TEXT_327 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_328 = NL + "\t@Override";
+	protected final String TEXT_329 = NL + "\tprotected int eVirtualIndexBits(int offset)" + NL + "\t{" + NL
+			+ "\t\tswitch (offset)" + NL + "\t\t{";
+	protected final String TEXT_330 = NL + "\t\t\tcase ";
+	protected final String TEXT_331 = " :" + NL + "\t\t\t\treturn ";
+	protected final String TEXT_332 = ";";
+	protected final String TEXT_333 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"
+			+ NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_334 = NL + "\t@Override";
+	protected final String TEXT_335 = NL + "\tprotected void eSetVirtualIndexBits(int offset, int newIndexBits)" + NL
+			+ "\t{" + NL + "\t\tswitch (offset)" + NL + "\t\t{";
+	protected final String TEXT_336 = NL + "\t\t\tcase ";
+	protected final String TEXT_337 = " :" + NL + "\t\t\t\t";
+	protected final String TEXT_338 = " = newIndexBits;" + NL + "\t\t\t\tbreak;";
+	protected final String TEXT_339 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();"
+			+ NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_340 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_341 = NL + "\t@Override";
+	protected final String TEXT_342 = NL + "\t@SuppressWarnings(";
+	protected final String TEXT_343 = "\"unchecked\"";
+	protected final String TEXT_344 = "{\"rawtypes\", \"unchecked\" }";
+	protected final String TEXT_345 = ")";
+	protected final String TEXT_346 = NL + "\tpublic Object eInvoke(int operationID, ";
+	protected final String TEXT_347 = " arguments) throws ";
+	protected final String TEXT_348 = NL + "\t{" + NL + "\t\tswitch (operationID";
+	protected final String TEXT_349 = ")" + NL + "\t\t{";
+	protected final String TEXT_350 = NL + "\t\t\tcase ";
+	protected final String TEXT_351 = ":";
+	protected final String TEXT_352 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{";
+	protected final String TEXT_353 = NL + "\t\t\t\t";
+	protected final String TEXT_354 = "(";
+	protected final String TEXT_355 = "(";
+	protected final String TEXT_356 = "(";
+	protected final String TEXT_357 = ")";
+	protected final String TEXT_358 = "arguments.get(";
+	protected final String TEXT_359 = ")";
+	protected final String TEXT_360 = ").";
+	protected final String TEXT_361 = "()";
+	protected final String TEXT_362 = ", ";
+	protected final String TEXT_363 = ");" + NL + "\t\t\t\t";
+	protected final String TEXT_364 = "return null;";
+	protected final String TEXT_365 = NL + "\t\t\t\t";
+	protected final String TEXT_366 = "return ";
+	protected final String TEXT_367 = "new ";
+	protected final String TEXT_368 = "(";
+	protected final String TEXT_369 = "(";
+	protected final String TEXT_370 = "(";
+	protected final String TEXT_371 = "(";
+	protected final String TEXT_372 = ")";
+	protected final String TEXT_373 = "arguments.get(";
+	protected final String TEXT_374 = ")";
+	protected final String TEXT_375 = ").";
+	protected final String TEXT_376 = "()";
+	protected final String TEXT_377 = ", ";
+	protected final String TEXT_378 = ")";
+	protected final String TEXT_379 = ")";
+	protected final String TEXT_380 = ";";
+	protected final String TEXT_381 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";
+	protected final String TEXT_382 = " throwable)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tthrow new ";
+	protected final String TEXT_383 = "(throwable);" + NL + "\t\t\t\t}";
+	protected final String TEXT_384 = NL + "\t\t}";
+	protected final String TEXT_385 = NL + "\t\treturn super.eInvoke(operationID, arguments);";
+	protected final String TEXT_386 = NL + "\t\treturn eDynamicInvoke(operationID, arguments);";
+	protected final String TEXT_387 = NL + "\t}" + NL;
+	protected final String TEXT_388 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_389 = NL + "\t@Override";
+	protected final String TEXT_390 = NL + "\tpublic String toString()" + NL + "\t{" + NL
+			+ "\t\tif (eIsProxy()) return super.toString();" + NL + "" + NL
+			+ "\t\tStringBuffer result = new StringBuffer(super.toString());";
+	protected final String TEXT_391 = NL + "\t\tresult.append(\" (";
+	protected final String TEXT_392 = ": \");";
+	protected final String TEXT_393 = NL + "\t\tresult.append(\", ";
+	protected final String TEXT_394 = ": \");";
+	protected final String TEXT_395 = NL + "\t\tif (eVirtualIsSet(";
+	protected final String TEXT_396 = ")) result.append(eVirtualGet(";
+	protected final String TEXT_397 = ")); else result.append(\"<unset>\");";
+	protected final String TEXT_398 = NL + "\t\tif (";
+	protected final String TEXT_399 = "(";
+	protected final String TEXT_400 = " & ";
+	protected final String TEXT_401 = "_ESETFLAG) != 0";
+	protected final String TEXT_402 = "ESet";
+	protected final String TEXT_403 = ") result.append((";
+	protected final String TEXT_404 = " & ";
+	protected final String TEXT_405 = "_EFLAG) != 0); else result.append(\"<unset>\");";
+	protected final String TEXT_406 = NL + "\t\tif (";
+	protected final String TEXT_407 = "(";
+	protected final String TEXT_408 = " & ";
+	protected final String TEXT_409 = "_ESETFLAG) != 0";
+	protected final String TEXT_410 = "ESet";
+	protected final String TEXT_411 = ") result.append(";
+	protected final String TEXT_412 = "_EFLAG_VALUES[(";
+	protected final String TEXT_413 = " & ";
+	protected final String TEXT_414 = "_EFLAG) >>> ";
+	protected final String TEXT_415 = "_EFLAG_OFFSET]); else result.append(\"<unset>\");";
+	protected final String TEXT_416 = NL + "\t\tif (";
+	protected final String TEXT_417 = "(";
+	protected final String TEXT_418 = " & ";
+	protected final String TEXT_419 = "_ESETFLAG) != 0";
+	protected final String TEXT_420 = "ESet";
+	protected final String TEXT_421 = ") result.append(";
+	protected final String TEXT_422 = "); else result.append(\"<unset>\");";
+	protected final String TEXT_423 = NL + "\t\tresult.append(eVirtualGet(";
+	protected final String TEXT_424 = ", ";
+	protected final String TEXT_425 = "));";
+	protected final String TEXT_426 = NL + "\t\tresult.append((";
+	protected final String TEXT_427 = " & ";
+	protected final String TEXT_428 = "_EFLAG) != 0);";
+	protected final String TEXT_429 = NL + "\t\tresult.append(";
+	protected final String TEXT_430 = "_EFLAG_VALUES[(";
+	protected final String TEXT_431 = " & ";
+	protected final String TEXT_432 = "_EFLAG) >>> ";
+	protected final String TEXT_433 = "_EFLAG_OFFSET]);";
+	protected final String TEXT_434 = NL + "\t\tresult.append(";
+	protected final String TEXT_435 = ");";
+	protected final String TEXT_436 = NL + "\t\tresult.append(')');" + NL + "\t\treturn result.toString();" + NL + "\t}"
+			+ NL;
+	protected final String TEXT_437 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_438 = NL + "\t@";
+	protected final String TEXT_439 = NL + "\tprotected int hash = -1;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic int getHash()" + NL + "\t{" + NL + "\t\tif (hash == -1)" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_440 = " theKey = getKey();" + NL
+			+ "\t\t\thash = (theKey == null ? 0 : theKey.hashCode());" + NL + "\t\t}" + NL + "\t\treturn hash;" + NL
+			+ "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic void setHash(int hash)" + NL + "\t{" + NL
+			+ "\t\tthis.hash = hash;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_441 = " getKey()" + NL + "\t{";
+	protected final String TEXT_442 = NL + "\t\treturn new ";
+	protected final String TEXT_443 = "(getTypedKey());";
+	protected final String TEXT_444 = NL + "\t\treturn getTypedKey();";
+	protected final String TEXT_445 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic void setKey(";
+	protected final String TEXT_446 = " key)" + NL + "\t{";
+	protected final String TEXT_447 = NL + "\t\tgetTypedKey().addAll(";
+	protected final String TEXT_448 = "(";
+	protected final String TEXT_449 = ")";
+	protected final String TEXT_450 = "key);";
+	protected final String TEXT_451 = NL + "\t\tsetTypedKey(key);";
+	protected final String TEXT_452 = NL + "\t\tsetTypedKey(((";
+	protected final String TEXT_453 = ")key).";
+	protected final String TEXT_454 = "());";
+	protected final String TEXT_455 = NL + "\t\tsetTypedKey((";
+	protected final String TEXT_456 = ")key);";
+	protected final String TEXT_457 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_458 = " getValue()" + NL + "\t{";
+	protected final String TEXT_459 = NL + "\t\treturn new ";
+	protected final String TEXT_460 = "(getTypedValue());";
+	protected final String TEXT_461 = NL + "\t\treturn getTypedValue();";
+	protected final String TEXT_462 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_463 = " setValue(";
+	protected final String TEXT_464 = " value)" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_465 = " oldValue = getValue();";
+	protected final String TEXT_466 = NL + "\t\tgetTypedValue().clear();" + NL + "\t\tgetTypedValue().addAll(";
+	protected final String TEXT_467 = "(";
+	protected final String TEXT_468 = ")";
+	protected final String TEXT_469 = "value);";
+	protected final String TEXT_470 = NL + "\t\tsetTypedValue(value);";
+	protected final String TEXT_471 = NL + "\t\tsetTypedValue(((";
+	protected final String TEXT_472 = ")value).";
+	protected final String TEXT_473 = "());";
+	protected final String TEXT_474 = NL + "\t\tsetTypedValue((";
+	protected final String TEXT_475 = ")value);";
+	protected final String TEXT_476 = NL + "\t\treturn oldValue;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_477 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_478 = NL + "\tpublic ";
+	protected final String TEXT_479 = " getEMap()" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_480 = " container = eContainer();" + NL + "\t\treturn container == null ? null : (";
+	protected final String TEXT_481 = ")container.eGet(eContainmentFeature());" + NL + "\t}" + NL;
+	protected final String TEXT_482 = NL;
+	protected final String TEXT_483 = NL + "} //";
+	protected final String TEXT_484 = NL;
+	protected final String TEXT_485 = NL;
+	protected final String TEXT_486 = NL;
+
+	public Interface() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_485);
+		stringBuffer.append(TEXT_486);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenClass genClass = parameter;
+		targetPath = genClass.getGenModel().getModelDirectory();
+		packageName = genClass.getGenPackage().getInterfacePackageName();
+		className = genClass.getInterfaceName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenClass genClass = parameter;
+		argument = ((Object[]) new Object[] { new Object[] { genClass, Boolean.TRUE, Boolean.FALSE } })[0];
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2011 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		final GenClass genClass = (GenClass) ((Object[]) argument)[0];
+		final GenPackage genPackage = genClass.getGenPackage();
+		final GenModel genModel = genPackage.getGenModel();
+		final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;
+		final boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
+		final boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
+		final boolean isGWT = genModel.getRuntimePlatform() == GenRuntimePlatform.GWT;
+		final String publicStaticFinalFlag = isImplementation ? "public static final " : "";
+		final String singleWildcard = isJDK50 ? "<?>" : "";
+		final String negativeOffsetCorrection = genClass.hasOffsetCorrection()
+				? " - " + genClass.getOffsetCorrectionField(null) : "";
+		final String positiveOffsetCorrection = genClass.hasOffsetCorrection()
+				? " + " + genClass.getOffsetCorrectionField(null) : "";
+		final String negativeOperationOffsetCorrection = genClass.hasOffsetCorrection()
+				? " - EOPERATION_OFFSET_CORRECTION" : "";
+		final String positiveOperationOffsetCorrection = genClass.hasOffsetCorrection()
+				? " + EOPERATION_OFFSET_CORRECTION" : "";
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		if (isInterface) {
+			stringBuffer.append(TEXT_2);
+			stringBuffer.append(genPackage.getInterfacePackageName());
+			stringBuffer.append(TEXT_3);
+		} else {
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(genPackage.getClassPackageName());
+			stringBuffer.append(TEXT_5);
+		}
+		stringBuffer.append(TEXT_6);
+		genModel.markImportLocation(stringBuffer, genPackage);
+		if (isImplementation) {
+			genClass.addClassPsuedoImports();
+		}
+		stringBuffer.append(TEXT_7);
+		if (isInterface) {
+			stringBuffer.append(TEXT_8);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.interface.javadoc.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_BsLUkeXDEeCxnsoQRwU99Q",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/interface.javadoc.override.javajetinc
+		} else {
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genClass.getFormattedName());
+			stringBuffer.append(TEXT_10);
+			if (!genClass.getImplementedGenFeatures().isEmpty()) {
+				stringBuffer.append(TEXT_11);
+				for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(genClass.getQualifiedClassName());
+					stringBuffer.append(TEXT_13);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_14);
+					stringBuffer.append(genFeature.getFormattedName());
+					stringBuffer.append(TEXT_15);
+				}
+				stringBuffer.append(TEXT_16);
+			}
+			stringBuffer.append(TEXT_17);
+		}
+		if (isImplementation) {
+			stringBuffer.append(TEXT_18);
+			if (genClass.isAbstract()) {
+				stringBuffer.append(TEXT_19);
+			}
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genClass.getClassName());
+			stringBuffer.append(genClass.getTypeParameters().trim());
+			stringBuffer.append(genClass.getClassExtends());
+			stringBuffer.append(genClass.getClassImplements());
+		} else {
+			stringBuffer.append(TEXT_21);
+			stringBuffer.append(genClass.getInterfaceName());
+			stringBuffer.append(genClass.getTypeParameters().trim());
+			stringBuffer.append(genClass.getInterfaceExtends());
+		}
+		stringBuffer.append(TEXT_22);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_23);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_26);
+		}
+		if (isImplementation && genModel.getDriverNumber() != null) {
+			stringBuffer.append(TEXT_27);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(genModel.getDriverNumber());
+			stringBuffer.append(TEXT_29);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_30);
+		}
+		if (isImplementation && genClass.isJavaIOSerializable()) {
+			stringBuffer.append(TEXT_31);
+		}
+		if (isImplementation && genModel.isVirtualDelegation()) {
+			String eVirtualValuesField = genClass.getEVirtualValuesField();
+			if (eVirtualValuesField != null) {
+				stringBuffer.append(TEXT_32);
+				if (isGWT) {
+					stringBuffer.append(TEXT_33);
+					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+				}
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(eVirtualValuesField);
+				stringBuffer.append(TEXT_35);
+			}
+			{
+				List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());
+				if (!eVirtualIndexBitFields.isEmpty()) {
+					for (String eVirtualIndexBitField : eVirtualIndexBitFields) {
+						stringBuffer.append(TEXT_36);
+						if (isGWT) {
+							stringBuffer.append(TEXT_37);
+							stringBuffer
+									.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+						}
+						stringBuffer.append(TEXT_38);
+						stringBuffer.append(eVirtualIndexBitField);
+						stringBuffer.append(TEXT_39);
+					}
+				}
+			}
+		}
+		if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled()
+				&& genModel.getBooleanFlagsReservedBits() == -1) {
+			stringBuffer.append(TEXT_40);
+			if (isGWT) {
+				stringBuffer.append(TEXT_41);
+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+			}
+			stringBuffer.append(TEXT_42);
+			stringBuffer.append(genModel.getBooleanFlagsField());
+			stringBuffer.append(TEXT_43);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()) {
+			for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {
+				if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+						&& !genFeature.isMapType()) {
+					String rawListItemType = genFeature.getRawListItemType(genClass);
+					int index = rawListItemType.indexOf('[');
+					String head = rawListItemType;
+					String tail = "";
+					if (index != -1) {
+						head = rawListItemType.substring(0, index);
+						tail = rawListItemType.substring(index);
+					}
+					stringBuffer.append(TEXT_44);
+					stringBuffer.append(genFeature.getGetArrayAccessor());
+					stringBuffer.append(TEXT_45);
+					stringBuffer.append(genFeature.getFormattedName());
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(genFeature.getGetArrayAccessor());
+					stringBuffer.append(TEXT_47);
+					if (genFeature.getQualifiedListItemType(genClass).contains("<")
+							|| genFeature.getArrayItemType(genClass).contains("<")) {
+						stringBuffer.append(TEXT_48);
+					}
+					stringBuffer.append(TEXT_49);
+					stringBuffer.append(rawListItemType);
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(head);
+					stringBuffer.append(TEXT_52);
+					stringBuffer.append(tail);
+					stringBuffer.append(TEXT_53);
+				}
+			}
+			for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {
+				stringBuffer.append(TEXT_54);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.declaredFieldGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0u0bgWJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//Class/declaredFieldGenFeature.override.javajetinc
+			}
+		}
+		if (isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenFeatures().isEmpty()) {
+			stringBuffer.append(TEXT_55);
+			stringBuffer.append(genClass.getOffsetCorrectionField(null));
+			stringBuffer.append(TEXT_56);
+			stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+			stringBuffer.append(TEXT_57);
+			stringBuffer.append(genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor());
+			stringBuffer.append(TEXT_58);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0)));
+			stringBuffer.append(TEXT_59);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()) {
+			for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {
+				GenFeature reverseFeature = genFeature.getReverse();
+				if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {
+					stringBuffer.append(TEXT_60);
+					stringBuffer.append(genClass.getOffsetCorrectionField(genFeature));
+					stringBuffer.append(TEXT_61);
+					stringBuffer.append(reverseFeature.getGenClass().getQualifiedClassifierAccessor());
+					stringBuffer.append(TEXT_62);
+					stringBuffer.append(reverseFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_63);
+					stringBuffer.append(reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature));
+					stringBuffer.append(TEXT_64);
+				}
+			}
+		}
+		if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection()
+				&& !genClass.getImplementedGenOperations().isEmpty()) {
+			stringBuffer.append(TEXT_65);
+			stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+			stringBuffer.append(TEXT_66);
+			stringBuffer.append(genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor());
+			stringBuffer.append(TEXT_67);
+			stringBuffer.append(genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0)));
+			stringBuffer.append(TEXT_68);
+		}
+		if (isImplementation) {
+			stringBuffer.append(TEXT_69);
+			if (genModel.isPublicConstructors()) {
+				stringBuffer.append(TEXT_70);
+			} else {
+				stringBuffer.append(TEXT_71);
+			}
+			stringBuffer.append(TEXT_72);
+			stringBuffer.append(genClass.getClassName());
+			stringBuffer.append(TEXT_73);
+			for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {
+				stringBuffer.append(TEXT_74);
+				stringBuffer.append(genClass.getFlagsField(genFeature));
+				stringBuffer.append(TEXT_75);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_76);
+				if (!genFeature.isBooleanType()) {
+					stringBuffer.append(TEXT_77);
+				}
+				stringBuffer.append(TEXT_78);
+			}
+			stringBuffer.append(TEXT_79);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_80);
+			}
+			stringBuffer.append(TEXT_81);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
+			stringBuffer.append(TEXT_82);
+			stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+			stringBuffer.append(TEXT_83);
+		}
+		stringBuffer.append(TEXT_84);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.reflectiveDelegation.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vQgYGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		//Class/reflectiveDelegation.override.javajetinc
+		if (isImplementation) {
+			new Runnable() {
+				public void run() {
+					GenClass classExtendsGenClass = genClass.getClassExtendsGenClass();
+					List<GenFeature> classExtendsAllGenFeatures = classExtendsGenClass == null
+							? Collections.<GenFeature> emptyList() : classExtendsGenClass.getAllGenFeatures();
+					for (GenFeature genFeature : genClass.getReifiedGenFeatures()) {
+						stringBuffer.append(TEXT_85);
+						{
+							//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeatureReified.override" args="genFeature:genFeature,classExtendsGenClass:classExtendsGenClass,classExtendsAllGenFeatures:classExtendsAllGenFeatures,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+							InternalPatternContext ictx = (InternalPatternContext) ctx;
+							new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+							stringBuffer.setLength(0);
+
+							final Map<String, Object> callParameters = new HashMap<String, Object>();
+							callParameters.put("genFeature", genFeature);
+							callParameters.put("classExtendsGenClass", classExtendsGenClass);
+							callParameters.put("classExtendsAllGenFeatures", classExtendsAllGenFeatures);
+							callParameters.put("genClass", genClass);
+							callParameters.put("genPackage", genPackage);
+							callParameters.put("genModel", genModel);
+							callParameters.put("isJDK50", isJDK50);
+							callParameters.put("isInterface", isInterface);
+							callParameters.put("isImplementation", isImplementation);
+							callParameters.put("isGWT", isGWT);
+							callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+							callParameters.put("singleWildcard", singleWildcard);
+							callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+							callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+							callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+							callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+							CallHelper.executeWithParameterInjection(
+									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_onysQLM-EeKd56X4hcZPSw",
+									new ExecutionContext((InternalPatternContext) ctx), callParameters);
+							stringBuffer.setLength(0);
+						}
+
+						//Class/genFeatureReified.override.javajetinc
+					}
+				}
+			}.run();
+		}
+		new Runnable() {
+			public void run() {
+				for (GenFeature genFeature : (isImplementation ? genClass.getImplementedGenFeatures()
+						: genClass.getDeclaredGenFeatures())) {
+					stringBuffer.append(TEXT_86);
+					{
+						//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+						InternalPatternContext ictx = (InternalPatternContext) ctx;
+						new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+						stringBuffer.setLength(0);
+
+						final Map<String, Object> callParameters = new HashMap<String, Object>();
+						callParameters.put("genFeature", genFeature);
+						callParameters.put("genClass", genClass);
+						callParameters.put("genPackage", genPackage);
+						callParameters.put("genModel", genModel);
+						callParameters.put("isJDK50", isJDK50);
+						callParameters.put("isInterface", isInterface);
+						callParameters.put("isImplementation", isImplementation);
+						callParameters.put("isGWT", isGWT);
+						callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+						callParameters.put("singleWildcard", singleWildcard);
+						callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+						callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+						callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+						callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+						CallHelper.executeWithParameterInjection(
+								"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vaRYGJ-Ed-FqczH3ESmRw",
+								new ExecutionContext((InternalPatternContext) ctx), callParameters);
+						stringBuffer.setLength(0);
+					}
+
+					//Class/genFeature.override.javajetinc
+				} //for
+			}
+		}.run();
+		for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations()
+				: genClass.getDeclaredGenOperations())) {
+			stringBuffer.append(TEXT_87);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genOperation", genOperation);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_01-MYGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/implementedGenOperation.override.javajetinc
+		} //for
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getEInverseAddGenFeatures())) {
+			stringBuffer.append(TEXT_88);
+			if (genModel.useGenerics()) {
+				for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {
+					if (genFeature.isUncheckedCast(genClass)) {
+						stringBuffer.append(TEXT_89);
+						break;
+					}
+				}
+			}
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_90);
+			}
+			stringBuffer.append(TEXT_91);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_92);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+			stringBuffer.append(TEXT_93);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_94);
+			stringBuffer.append(negativeOffsetCorrection);
+			stringBuffer.append(TEXT_95);
+			for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {
+				stringBuffer.append(TEXT_96);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(TEXT_97);
+				if (genFeature.isListType()) {
+					String cast = "(" + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")
+							+ (!genModel.useGenerics() ? ")"
+									: "<" + genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject") + ">)("
+											+ genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")
+											+ "<?>)");
+					if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {
+						stringBuffer.append(TEXT_98);
+						stringBuffer.append(cast);
+						stringBuffer.append(TEXT_99);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+						stringBuffer.append(TEXT_100);
+						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+						stringBuffer.append(TEXT_101);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_102);
+					} else {
+						stringBuffer.append(TEXT_103);
+						stringBuffer.append(cast);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_104);
+					}
+				} else if (genFeature.isContainer()) {
+					stringBuffer.append(TEXT_105);
+					if (genFeature.isBasicSet()) {
+						stringBuffer.append(TEXT_106);
+						stringBuffer.append(genFeature.getAccessorName());
+						stringBuffer.append(TEXT_107);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_108);
+					} else {
+						stringBuffer.append(TEXT_109);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_110);
+					}
+				} else {
+					if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+						stringBuffer.append(TEXT_111);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_112);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_113);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_114);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_115);
+					} else if (genFeature.isVolatile()
+							|| genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {
+						stringBuffer.append(TEXT_116);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_117);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_118);
+						if (genFeature.isResolveProxies()) {
+							stringBuffer.append(TEXT_119);
+							stringBuffer.append(genFeature.getAccessorName());
+						} else {
+							stringBuffer.append(genFeature.getGetAccessor());
+						}
+						stringBuffer.append(TEXT_120);
+					}
+					stringBuffer.append(TEXT_121);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_122);
+					if (genFeature.isEffectiveContains()) {
+						stringBuffer.append(TEXT_123);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_124);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_125);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(negativeOffsetCorrection);
+						stringBuffer.append(TEXT_126);
+					} else {
+						GenFeature reverseFeature = genFeature.getReverse();
+						GenClass targetClass = reverseFeature.getGenClass();
+						String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+								? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+						stringBuffer.append(TEXT_127);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_128);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_129);
+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+						stringBuffer.append(reverseOffsetCorrection);
+						stringBuffer.append(TEXT_130);
+						stringBuffer.append(targetClass.getRawImportedInterfaceName());
+						stringBuffer.append(TEXT_131);
+					}
+					stringBuffer.append(TEXT_132);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_133);
+					stringBuffer.append(genFeature.getImportedType(genClass));
+					stringBuffer.append(TEXT_134);
+				}
+			}
+			stringBuffer.append(TEXT_135);
+			if (genModel.isMinimalReflectiveMethods()) {
+				stringBuffer.append(TEXT_136);
+			} else {
+				stringBuffer.append(TEXT_137);
+			}
+			stringBuffer.append(TEXT_138);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {
+			stringBuffer.append(TEXT_139);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_140);
+			}
+			stringBuffer.append(TEXT_141);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_142);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+			stringBuffer.append(TEXT_143);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_144);
+			stringBuffer.append(negativeOffsetCorrection);
+			stringBuffer.append(TEXT_145);
+			for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {
+				stringBuffer.append(TEXT_146);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(TEXT_147);
+				if (genFeature.isListType()) {
+					if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {
+						stringBuffer.append(TEXT_148);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+						stringBuffer.append(singleWildcard);
+						stringBuffer.append(TEXT_149);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+						stringBuffer.append(TEXT_150);
+						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+						stringBuffer.append(TEXT_151);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_152);
+					} else if (genFeature.isWrappedFeatureMapType()) {
+						stringBuffer.append(TEXT_153);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+						stringBuffer.append(singleWildcard);
+						stringBuffer.append(TEXT_154);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+						stringBuffer.append(TEXT_155);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_156);
+					} else {
+						stringBuffer.append(TEXT_157);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+						stringBuffer.append(singleWildcard);
+						stringBuffer.append(TEXT_158);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_159);
+					}
+				} else if (genFeature.isContainer() && !genFeature.isBasicSet()) {
+					stringBuffer.append(TEXT_160);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_161);
+				} else if (genFeature.isUnsettable()) {
+					stringBuffer.append(TEXT_162);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_163);
+				} else {
+					stringBuffer.append(TEXT_164);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_165);
+				}
+			}
+			stringBuffer.append(TEXT_166);
+			if (genModel.isMinimalReflectiveMethods()) {
+				stringBuffer.append(TEXT_167);
+			} else {
+				stringBuffer.append(TEXT_168);
+			}
+			stringBuffer.append(TEXT_169);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {
+			stringBuffer.append(TEXT_170);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_171);
+			}
+			stringBuffer.append(TEXT_172);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_173);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_174);
+			stringBuffer.append(negativeOffsetCorrection);
+			stringBuffer.append(TEXT_175);
+			for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {
+				GenFeature reverseFeature = genFeature.getReverse();
+				GenClass targetClass = reverseFeature.getGenClass();
+				String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+						? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+				stringBuffer.append(TEXT_176);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(TEXT_177);
+				stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+				stringBuffer.append(reverseOffsetCorrection);
+				stringBuffer.append(TEXT_178);
+				stringBuffer.append(targetClass.getRawImportedInterfaceName());
+				stringBuffer.append(TEXT_179);
+			}
+			stringBuffer.append(TEXT_180);
+			if (genModel.isMinimalReflectiveMethods()) {
+				stringBuffer.append(TEXT_181);
+			} else {
+				stringBuffer.append(TEXT_182);
+			}
+			stringBuffer.append(TEXT_183);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getEGetGenFeatures())) {
+			stringBuffer.append(TEXT_184);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_185);
+			}
+			stringBuffer.append(TEXT_186);
+			stringBuffer.append(negativeOffsetCorrection);
+			stringBuffer.append(TEXT_187);
+			for (GenFeature genFeature : genClass.getEGetGenFeatures()) {
+				stringBuffer.append(TEXT_188);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(TEXT_189);
+				if (genFeature.isPrimitiveType()) {
+					if (isJDK50) {
+						stringBuffer.append(TEXT_190);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_191);
+					} else if (genFeature.isBooleanType()) {
+						stringBuffer.append(TEXT_192);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_193);
+					} else {
+						stringBuffer.append(TEXT_194);
+						stringBuffer.append(genFeature.getObjectType(genClass));
+						stringBuffer.append(TEXT_195);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_196);
+					}
+				} else if (genFeature.isResolveProxies() && !genFeature.isListType()) {
+					stringBuffer.append(TEXT_197);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_198);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_199);
+				} else if (genFeature.isMapType()) {
+					if (genFeature.isEffectiveSuppressEMFTypes()) {
+						stringBuffer.append(TEXT_200);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+						stringBuffer.append(TEXT_201);
+						stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+						stringBuffer.append(TEXT_202);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_203);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_204);
+					} else {
+						stringBuffer.append(TEXT_205);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_206);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_207);
+					}
+				} else if (genFeature.isWrappedFeatureMapType()) {
+					stringBuffer.append(TEXT_208);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_209);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_210);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_211);
+				} else if (genFeature.isFeatureMapType()) {
+					stringBuffer.append(TEXT_212);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_213);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_214);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_215);
+				} else {
+					stringBuffer.append(TEXT_216);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_217);
+				}
+			}
+			stringBuffer.append(TEXT_218);
+			if (genModel.isMinimalReflectiveMethods()) {
+				stringBuffer.append(TEXT_219);
+			} else {
+				stringBuffer.append(TEXT_220);
+			}
+			stringBuffer.append(TEXT_221);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getESetGenFeatures())) {
+			stringBuffer.append(TEXT_222);
+			if (genModel.useGenerics()) {
+				for (GenFeature genFeature : genClass.getESetGenFeatures()) {
+					if (genFeature.isUncheckedCast(genClass) && !genFeature.isFeatureMapType()
+							&& !genFeature.isMapType()) {
+						stringBuffer.append(TEXT_223);
+						break;
+					}
+				}
+			}
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_224);
+			}
+			stringBuffer.append(TEXT_225);
+			stringBuffer.append(negativeOffsetCorrection);
+			stringBuffer.append(TEXT_226);
+			for (GenFeature genFeature : genClass.getESetGenFeatures()) {
+				stringBuffer.append(TEXT_227);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(TEXT_228);
+				if (genFeature.isListType()) {
+					if (genFeature.isWrappedFeatureMapType()) {
+						stringBuffer.append(TEXT_229);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+						stringBuffer.append(TEXT_230);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+						stringBuffer.append(TEXT_231);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_232);
+					} else if (genFeature.isFeatureMapType()) {
+						stringBuffer.append(TEXT_233);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+						stringBuffer.append(TEXT_234);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_235);
+					} else if (genFeature.isMapType()) {
+						if (genFeature.isEffectiveSuppressEMFTypes()) {
+							stringBuffer.append(TEXT_236);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+							stringBuffer.append(TEXT_237);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
+							stringBuffer.append(TEXT_238);
+							stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
+							stringBuffer.append(TEXT_239);
+							stringBuffer.append(genFeature.getGetAccessor());
+							stringBuffer.append(TEXT_240);
+						} else {
+							stringBuffer.append(TEXT_241);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+							stringBuffer.append(TEXT_242);
+							stringBuffer.append(genFeature.getGetAccessor());
+							stringBuffer.append(TEXT_243);
+						}
+					} else {
+						stringBuffer.append(TEXT_244);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_245);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_246);
+						stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+						if (isJDK50) {
+							stringBuffer.append(TEXT_247);
+							stringBuffer.append(genFeature.getListItemType(genClass));
+							stringBuffer.append(TEXT_248);
+						}
+						stringBuffer.append(TEXT_249);
+					}
+				} else if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_250);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_251);
+					stringBuffer.append(genFeature.getObjectType(genClass));
+					stringBuffer.append(TEXT_252);
+					stringBuffer.append(genFeature.getPrimitiveValueFunction());
+					stringBuffer.append(TEXT_253);
+				} else {
+					stringBuffer.append(TEXT_254);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_255);
+					if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType()
+							|| !genFeature.getRawType().equals(genFeature.getType(genClass))) {
+						stringBuffer.append(TEXT_256);
+						stringBuffer.append(genFeature.getObjectType(genClass));
+						stringBuffer.append(TEXT_257);
+					}
+					stringBuffer.append(TEXT_258);
+				}
+				stringBuffer.append(TEXT_259);
+			}
+			stringBuffer.append(TEXT_260);
+			if (genModel.isMinimalReflectiveMethods()) {
+				stringBuffer.append(TEXT_261);
+			} else {
+				stringBuffer.append(TEXT_262);
+			}
+			stringBuffer.append(TEXT_263);
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getEUnsetGenFeatures())) {
+			stringBuffer.append(TEXT_264);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.eUnset.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03KfMGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/eUnset.override.javajetinc
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation()
+				&& genClass.implementsAny(genClass.getEIsSetGenFeatures())) {
+			stringBuffer.append(TEXT_265);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.eIsSet.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03TpIGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/eIsSet.override.javajetinc
+		}
+		if (isImplementation && (!genClass.getMixinGenFeatures().isEmpty()
+				|| genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty())) {
+			if (!genClass.getMixinGenFeatures().isEmpty()) {
+				stringBuffer.append(TEXT_266);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_267);
+				}
+				stringBuffer.append(TEXT_268);
+				stringBuffer.append(singleWildcard);
+				stringBuffer.append(TEXT_269);
+				for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+					stringBuffer.append(TEXT_270);
+					stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+					stringBuffer.append(TEXT_271);
+					stringBuffer.append(negativeOffsetCorrection);
+					stringBuffer.append(TEXT_272);
+					for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {
+						stringBuffer.append(TEXT_273);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(TEXT_274);
+						stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(TEXT_275);
+					}
+					stringBuffer.append(TEXT_276);
+				}
+				stringBuffer.append(TEXT_277);
+			}
+			stringBuffer.append(TEXT_278);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_279);
+			}
+			stringBuffer.append(TEXT_280);
+			stringBuffer.append(singleWildcard);
+			stringBuffer.append(TEXT_281);
+			for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+				stringBuffer.append(TEXT_282);
+				stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+				stringBuffer.append(TEXT_283);
+				for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {
+					stringBuffer.append(TEXT_284);
+					stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(TEXT_285);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_286);
+				}
+				stringBuffer.append(TEXT_287);
+			}
+			if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {
+				stringBuffer.append(TEXT_288);
+				stringBuffer.append(genClass.getRawImportedInterfaceName());
+				stringBuffer.append(TEXT_289);
+				stringBuffer.append(negativeOffsetCorrection);
+				stringBuffer.append(TEXT_290);
+				for (GenFeature genFeature : genClass.getGenFeatures()) {
+					stringBuffer.append(TEXT_291);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(TEXT_292);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_293);
+				}
+				stringBuffer.append(TEXT_294);
+			}
+			stringBuffer.append(TEXT_295);
+		}
+		if (genModel.isOperationReflection() && isImplementation
+				&& (!genClass.getMixinGenOperations().isEmpty()
+						|| !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(),
+								genClass.getImplementedGenOperations()).isEmpty()
+				|| genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty())) {
+			stringBuffer.append(TEXT_296);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_297);
+			}
+			stringBuffer.append(TEXT_298);
+			stringBuffer.append(singleWildcard);
+			stringBuffer.append(TEXT_299);
+			for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) {
+				List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations();
+				List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();
+				if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations)
+						.isEmpty()) {
+					stringBuffer.append(TEXT_300);
+					stringBuffer.append(extendedGenClass.getRawImportedInterfaceName());
+					stringBuffer.append(TEXT_301);
+					for (GenOperation genOperation : extendedImplementedGenOperations) {
+						GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
+						if (implementedGenOperations.contains(overrideGenOperation)) {
+							stringBuffer.append(TEXT_302);
+							stringBuffer.append(extendedGenClass.getQualifiedOperationID(genOperation));
+							stringBuffer.append(TEXT_303);
+							stringBuffer.append(genClass.getQualifiedOperationID(overrideGenOperation));
+							stringBuffer.append(positiveOperationOffsetCorrection);
+							stringBuffer.append(TEXT_304);
+						}
+					}
+					stringBuffer.append(TEXT_305);
+				}
+			}
+			for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+				stringBuffer.append(TEXT_306);
+				stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+				stringBuffer.append(TEXT_307);
+				for (GenOperation genOperation : mixinGenClass.getGenOperations()) {
+					GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
+					stringBuffer.append(TEXT_308);
+					stringBuffer.append(mixinGenClass.getQualifiedOperationID(genOperation));
+					stringBuffer.append(TEXT_309);
+					stringBuffer.append(genClass.getQualifiedOperationID(
+							overrideGenOperation != null ? overrideGenOperation : genOperation));
+					stringBuffer.append(positiveOperationOffsetCorrection);
+					stringBuffer.append(TEXT_310);
+				}
+				stringBuffer.append(TEXT_311);
+			}
+			if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {
+				stringBuffer.append(TEXT_312);
+				stringBuffer.append(genClass.getRawImportedInterfaceName());
+				stringBuffer.append(TEXT_313);
+				stringBuffer.append(negativeOperationOffsetCorrection);
+				stringBuffer.append(TEXT_314);
+				for (GenOperation genOperation : genClass.getGenOperations()) {
+					stringBuffer.append(TEXT_315);
+					stringBuffer.append(genClass.getQualifiedOperationID(genOperation));
+					stringBuffer.append(TEXT_316);
+					stringBuffer.append(genClass.getQualifiedOperationID(genOperation));
+					stringBuffer.append(positiveOperationOffsetCorrection);
+					stringBuffer.append(TEXT_317);
+				}
+				stringBuffer.append(TEXT_318);
+			}
+			stringBuffer.append(TEXT_319);
+		}
+		if (isImplementation && genModel.isVirtualDelegation()) {
+			String eVirtualValuesField = genClass.getEVirtualValuesField();
+			if (eVirtualValuesField != null) {
+				stringBuffer.append(TEXT_320);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_321);
+				}
+				stringBuffer.append(TEXT_322);
+				stringBuffer.append(eVirtualValuesField);
+				stringBuffer.append(TEXT_323);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_324);
+				}
+				stringBuffer.append(TEXT_325);
+				stringBuffer.append(eVirtualValuesField);
+				stringBuffer.append(TEXT_326);
+			}
+			{
+				List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());
+				if (!eVirtualIndexBitFields.isEmpty()) {
+					List<String> allEVirtualIndexBitFields = genClass
+							.getAllEVirtualIndexBitFields(new ArrayList<String>());
+					stringBuffer.append(TEXT_327);
+					if (genModel.useClassOverrideAnnotation()) {
+						stringBuffer.append(TEXT_328);
+					}
+					stringBuffer.append(TEXT_329);
+					for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {
+						stringBuffer.append(TEXT_330);
+						stringBuffer.append(i);
+						stringBuffer.append(TEXT_331);
+						stringBuffer.append(allEVirtualIndexBitFields.get(i));
+						stringBuffer.append(TEXT_332);
+					}
+					stringBuffer.append(TEXT_333);
+					if (genModel.useClassOverrideAnnotation()) {
+						stringBuffer.append(TEXT_334);
+					}
+					stringBuffer.append(TEXT_335);
+					for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {
+						stringBuffer.append(TEXT_336);
+						stringBuffer.append(i);
+						stringBuffer.append(TEXT_337);
+						stringBuffer.append(allEVirtualIndexBitFields.get(i));
+						stringBuffer.append(TEXT_338);
+					}
+					stringBuffer.append(TEXT_339);
+				}
+			}
+		}
+		if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {
+			stringBuffer.append(TEXT_340);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_341);
+			}
+			if (genModel.useGenerics()) {
+				boolean isUnchecked = false;
+				boolean isRaw = false;
+				LOOP: for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods()
+						? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) {
+					for (GenParameter genParameter : genOperation.getGenParameters()) {
+						if (genParameter.isUncheckedCast()) {
+							if (genParameter.getTypeGenDataType() == null
+									|| !genParameter.getTypeGenDataType().isObjectType()) {
+								isUnchecked = true;
+							}
+							if (genParameter.usesOperationTypeParameters() && !genParameter.getEcoreParameter()
+									.getEGenericType().getETypeArguments().isEmpty()) {
+								isRaw = true;
+								break LOOP;
+							}
+						}
+					}
+				}
+				if (isUnchecked) {
+					stringBuffer.append(TEXT_342);
+					if (!isRaw) {
+						stringBuffer.append(TEXT_343);
+					} else {
+						stringBuffer.append(TEXT_344);
+					}
+					stringBuffer.append(TEXT_345);
+				}
+			}
+			stringBuffer.append(TEXT_346);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EList"));
+			stringBuffer.append(singleWildcard);
+			stringBuffer.append(TEXT_347);
+			stringBuffer.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"
+					: "java.lang.reflect.InvocationTargetException"));
+			stringBuffer.append(TEXT_348);
+			stringBuffer.append(negativeOperationOffsetCorrection);
+			stringBuffer.append(TEXT_349);
+			for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods()
+					? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) {
+				List<GenParameter> genParameters = genOperation.getGenParameters();
+				int size = genParameters.size();
+				boolean hasCheckedException = genOperation.hasCheckedException();
+				String indent = hasCheckedException ? "\t" : "";
+				GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
+				stringBuffer.append(TEXT_350);
+				stringBuffer.append(genClass
+						.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation));
+				stringBuffer.append(TEXT_351);
+				if (hasCheckedException) {
+					stringBuffer.append(TEXT_352);
+					/*}*/}
+				if (genOperation.isVoid()) {
+					stringBuffer.append(TEXT_353);
+					stringBuffer.append(indent);
+					stringBuffer.append(genOperation.getName());
+					stringBuffer.append(TEXT_354);
+					for (int i = 0; i < size; i++) {
+						GenParameter genParameter = genParameters.get(i);
+						if (!isJDK50 && genParameter.isPrimitiveType()) {
+							stringBuffer.append(TEXT_355);
+						}
+						if (genParameter.getTypeGenDataType() == null
+								|| !genParameter.getTypeGenDataType().isObjectType()
+								|| !genParameter.usesOperationTypeParameters()
+										&& !genParameter.getRawType().equals(genParameter.getType(genClass))) {
+							stringBuffer.append(TEXT_356);
+							stringBuffer.append(genParameter.usesOperationTypeParameters()
+									? genParameter.getRawImportedType() : genParameter.getObjectType(genClass));
+							stringBuffer.append(TEXT_357);
+						}
+						stringBuffer.append(TEXT_358);
+						stringBuffer.append(i);
+						stringBuffer.append(TEXT_359);
+						if (!isJDK50 && genParameter.isPrimitiveType()) {
+							stringBuffer.append(TEXT_360);
+							stringBuffer.append(genParameter.getPrimitiveValueFunction());
+							stringBuffer.append(TEXT_361);
+						}
+						if (i < (size - 1)) {
+							stringBuffer.append(TEXT_362);
+						}
+					}
+					stringBuffer.append(TEXT_363);
+					stringBuffer.append(indent);
+					stringBuffer.append(TEXT_364);
+				} else {
+					stringBuffer.append(TEXT_365);
+					stringBuffer.append(indent);
+					stringBuffer.append(TEXT_366);
+					if (!isJDK50 && genOperation.isPrimitiveType()) {
+						stringBuffer.append(TEXT_367);
+						stringBuffer.append(genOperation.getObjectType(genClass));
+						stringBuffer.append(TEXT_368);
+					}
+					stringBuffer.append(genOperation.getName());
+					stringBuffer.append(TEXT_369);
+					for (int i = 0; i < size; i++) {
+						GenParameter genParameter = genParameters.get(i);
+						if (!isJDK50 && genParameter.isPrimitiveType()) {
+							stringBuffer.append(TEXT_370);
+						}
+						if (genParameter.getTypeGenDataType() == null
+								|| !genParameter.getTypeGenDataType().isObjectType()
+								|| !genParameter.usesOperationTypeParameters()
+										&& !genParameter.getRawType().equals(genParameter.getType(genClass))) {
+							stringBuffer.append(TEXT_371);
+							stringBuffer.append(genParameter.usesOperationTypeParameters()
+									? genParameter.getRawImportedType() : genParameter.getObjectType(genClass));
+							stringBuffer.append(TEXT_372);
+						}
+						stringBuffer.append(TEXT_373);
+						stringBuffer.append(i);
+						stringBuffer.append(TEXT_374);
+						if (!isJDK50 && genParameter.isPrimitiveType()) {
+							stringBuffer.append(TEXT_375);
+							stringBuffer.append(genParameter.getPrimitiveValueFunction());
+							stringBuffer.append(TEXT_376);
+						}
+						if (i < (size - 1)) {
+							stringBuffer.append(TEXT_377);
+						}
+					}
+					stringBuffer.append(TEXT_378);
+					if (!isJDK50 && genOperation.isPrimitiveType()) {
+						stringBuffer.append(TEXT_379);
+					}
+					stringBuffer.append(TEXT_380);
+				}
+				if (hasCheckedException) {/*{*/
+					stringBuffer.append(TEXT_381);
+					stringBuffer.append(genModel.getImportedName("java.lang.Throwable"));
+					stringBuffer.append(TEXT_382);
+					stringBuffer.append(
+							genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"
+									: "java.lang.reflect.InvocationTargetException"));
+					stringBuffer.append(TEXT_383);
+				}
+			}
+			stringBuffer.append(TEXT_384);
+			if (genModel.isMinimalReflectiveMethods()) {
+				stringBuffer.append(TEXT_385);
+			} else {
+				stringBuffer.append(TEXT_386);
+			}
+			stringBuffer.append(TEXT_387);
+		}
+		if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation()
+				&& !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {
+			stringBuffer.append(TEXT_388);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_389);
+			}
+			stringBuffer.append(TEXT_390);
+			{
+				boolean first = true;
+				for (GenFeature genFeature : genClass.getToStringGenFeatures()) {
+					if (first) {
+						first = false;
+						stringBuffer.append(TEXT_391);
+						stringBuffer.append(genFeature.getName());
+						stringBuffer.append(TEXT_392);
+						stringBuffer.append(genModel.getNonNLS());
+					} else {
+						stringBuffer.append(TEXT_393);
+						stringBuffer.append(genFeature.getName());
+						stringBuffer.append(TEXT_394);
+						stringBuffer.append(genModel.getNonNLS());
+					}
+					if (genFeature.isUnsettable() && !genFeature.isListType()) {
+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+							stringBuffer.append(TEXT_395);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_396);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_397);
+							stringBuffer.append(genModel.getNonNLS());
+						} else {
+							if (genClass.isFlag(genFeature)) {
+								if (genFeature.isBooleanType()) {
+									stringBuffer.append(TEXT_398);
+									if (genClass.isESetFlag(genFeature)) {
+										stringBuffer.append(TEXT_399);
+										stringBuffer.append(genClass.getESetFlagsField(genFeature));
+										stringBuffer.append(TEXT_400);
+										stringBuffer.append(genFeature.getUpperName());
+										stringBuffer.append(TEXT_401);
+									} else {
+										stringBuffer.append(genFeature.getUncapName());
+										stringBuffer.append(TEXT_402);
+									}
+									stringBuffer.append(TEXT_403);
+									stringBuffer.append(genClass.getFlagsField(genFeature));
+									stringBuffer.append(TEXT_404);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_405);
+									stringBuffer.append(genModel.getNonNLS());
+								} else {
+									stringBuffer.append(TEXT_406);
+									if (genClass.isESetFlag(genFeature)) {
+										stringBuffer.append(TEXT_407);
+										stringBuffer.append(genClass.getESetFlagsField(genFeature));
+										stringBuffer.append(TEXT_408);
+										stringBuffer.append(genFeature.getUpperName());
+										stringBuffer.append(TEXT_409);
+									} else {
+										stringBuffer.append(genFeature.getUncapName());
+										stringBuffer.append(TEXT_410);
+									}
+									stringBuffer.append(TEXT_411);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_412);
+									stringBuffer.append(genClass.getFlagsField(genFeature));
+									stringBuffer.append(TEXT_413);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_414);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_415);
+									stringBuffer.append(genModel.getNonNLS());
+								}
+							} else {
+								stringBuffer.append(TEXT_416);
+								if (genClass.isESetFlag(genFeature)) {
+									stringBuffer.append(TEXT_417);
+									stringBuffer.append(genClass.getESetFlagsField(genFeature));
+									stringBuffer.append(TEXT_418);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_419);
+								} else {
+									stringBuffer.append(genFeature.getUncapName());
+									stringBuffer.append(TEXT_420);
+								}
+								stringBuffer.append(TEXT_421);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_422);
+								stringBuffer.append(genModel.getNonNLS());
+							}
+						}
+					} else {
+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+							stringBuffer.append(TEXT_423);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							if (!genFeature.isListType() && !genFeature.isReferenceType()) {
+								stringBuffer.append(TEXT_424);
+								stringBuffer.append(genFeature.getEDefault());
+							}
+							stringBuffer.append(TEXT_425);
+						} else {
+							if (genClass.isFlag(genFeature)) {
+								if (genFeature.isBooleanType()) {
+									stringBuffer.append(TEXT_426);
+									stringBuffer.append(genClass.getFlagsField(genFeature));
+									stringBuffer.append(TEXT_427);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_428);
+								} else {
+									stringBuffer.append(TEXT_429);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_430);
+									stringBuffer.append(genClass.getFlagsField(genFeature));
+									stringBuffer.append(TEXT_431);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_432);
+									stringBuffer.append(genFeature.getUpperName());
+									stringBuffer.append(TEXT_433);
+								}
+							} else {
+								stringBuffer.append(TEXT_434);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_435);
+							}
+						}
+					}
+				}
+			}
+			stringBuffer.append(TEXT_436);
+		}
+		if (isImplementation && genClass.isMapEntry()) {
+			GenFeature keyFeature = genClass.getMapEntryKeyFeature();
+			GenFeature valueFeature = genClass.getMapEntryValueFeature();
+			String objectType = genModel.getImportedName("java.lang.Object");
+			String keyType = isJDK50 ? keyFeature.getObjectType(genClass) : objectType;
+			String valueType = isJDK50 ? valueFeature.getObjectType(genClass) : objectType;
+			String eMapType = genModel.getImportedName("org.eclipse.emf.common.util.EMap")
+					+ (isJDK50 ? "<" + keyType + ", " + valueType + ">" : "");
+			stringBuffer.append(TEXT_437);
+			if (isGWT) {
+				stringBuffer.append(TEXT_438);
+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+			}
+			stringBuffer.append(TEXT_439);
+			stringBuffer.append(objectType);
+			stringBuffer.append(TEXT_440);
+			stringBuffer.append(keyType);
+			stringBuffer.append(TEXT_441);
+			if (!isJDK50 && keyFeature.isPrimitiveType()) {
+				stringBuffer.append(TEXT_442);
+				stringBuffer.append(keyFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_443);
+			} else {
+				stringBuffer.append(TEXT_444);
+			}
+			stringBuffer.append(TEXT_445);
+			stringBuffer.append(keyType);
+			stringBuffer.append(TEXT_446);
+			if (keyFeature.isListType()) {
+				stringBuffer.append(TEXT_447);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_448);
+					stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+					stringBuffer.append(TEXT_449);
+				}
+				stringBuffer.append(TEXT_450);
+			} else if (isJDK50) {
+				stringBuffer.append(TEXT_451);
+			} else if (keyFeature.isPrimitiveType()) {
+				stringBuffer.append(TEXT_452);
+				stringBuffer.append(keyFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_453);
+				stringBuffer.append(keyFeature.getPrimitiveValueFunction());
+				stringBuffer.append(TEXT_454);
+			} else {
+				stringBuffer.append(TEXT_455);
+				stringBuffer.append(keyFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_456);
+			}
+			stringBuffer.append(TEXT_457);
+			stringBuffer.append(valueType);
+			stringBuffer.append(TEXT_458);
+			if (!isJDK50 && valueFeature.isPrimitiveType()) {
+				stringBuffer.append(TEXT_459);
+				stringBuffer.append(valueFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_460);
+			} else {
+				stringBuffer.append(TEXT_461);
+			}
+			stringBuffer.append(TEXT_462);
+			stringBuffer.append(valueType);
+			stringBuffer.append(TEXT_463);
+			stringBuffer.append(valueType);
+			stringBuffer.append(TEXT_464);
+			stringBuffer.append(valueType);
+			stringBuffer.append(TEXT_465);
+			if (valueFeature.isListType()) {
+				stringBuffer.append(TEXT_466);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_467);
+					stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+					stringBuffer.append(TEXT_468);
+				}
+				stringBuffer.append(TEXT_469);
+			} else if (isJDK50) {
+				stringBuffer.append(TEXT_470);
+			} else if (valueFeature.isPrimitiveType()) {
+				stringBuffer.append(TEXT_471);
+				stringBuffer.append(valueFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_472);
+				stringBuffer.append(valueFeature.getPrimitiveValueFunction());
+				stringBuffer.append(TEXT_473);
+			} else {
+				stringBuffer.append(TEXT_474);
+				stringBuffer.append(valueFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_475);
+			}
+			stringBuffer.append(TEXT_476);
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_477);
+			}
+			stringBuffer.append(TEXT_478);
+			stringBuffer.append(eMapType);
+			stringBuffer.append(TEXT_479);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+			stringBuffer.append(TEXT_480);
+			stringBuffer.append(eMapType);
+			stringBuffer.append(TEXT_481);
+		}
+		stringBuffer.append(TEXT_482);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03daIGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_483);
+		stringBuffer.append(isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName());
+		// TODO fix the space above
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_484);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenClass genClass = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate
+				&& (!genClass.isExternalInterface() && (!genModel.isSuppressInterfaces() || genClass.isInterface()));
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ManifestMF.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ManifestMF.java
index a142e08..45fa26b 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ManifestMF.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ManifestMF.java
@@ -1,264 +1,262 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ManifestMF extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized ManifestMF create(String lineSeparator) {

-		nl = lineSeparator;

-		ManifestMF result = new ManifestMF();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "Manifest-Version: 1.0" + NL + "Bundle-ManifestVersion: 2" + NL

-			+ "Bundle-Name: %pluginName" + NL + "Bundle-SymbolicName: ";

-	protected final String TEXT_2 = ";singleton:=true" + NL + "Bundle-Version: 1.0.0.qualifier" + NL

-			+ "Bundle-ClassPath: ";

-	protected final String TEXT_3 = ".jar";

-	protected final String TEXT_4 = ".";

-	protected final String TEXT_5 = NL + "Bundle-Activator: ";

-	protected final String TEXT_6 = "$Implementation";

-	protected final String TEXT_7 = "$Activator";

-	protected final String TEXT_8 = NL + "Bundle-Vendor: %providerName" + NL + "Bundle-Localization: plugin";

-	protected final String TEXT_9 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";

-	protected final String TEXT_10 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";

-	protected final String TEXT_11 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";

-	protected final String TEXT_12 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";

-	protected final String TEXT_13 = NL + "Export-Package: ";

-	protected final String TEXT_14 = ",";

-	protected final String TEXT_15 = NL + " ";

-	protected final String TEXT_16 = NL + "Require-Bundle: ";

-	protected final String TEXT_17 = ";resolution:=optional;x-installation:=greedy";

-	protected final String TEXT_18 = ";visibility:=reexport";

-	protected final String TEXT_19 = ",";

-	protected final String TEXT_20 = NL + " ";

-	protected final String TEXT_21 = ";resolution:=optional;x-installation:=greedy";

-	protected final String TEXT_22 = ";visibility:=reexport";

-	protected final String TEXT_23 = NL + "Import-Package: org.osgi.framework";

-	protected final String TEXT_24 = NL + "Eclipse-LazyStart: true";

-	protected final String TEXT_25 = NL + "Bundle-ActivationPolicy: lazy" + NL;

-	protected final String TEXT_26 = NL;

-	protected final String TEXT_27 = NL;

-

-	public ManifestMF() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_26);

-		stringBuffer.append(TEXT_27);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getModelProjectDirectory() + "/META-INF/MANIFEST.MF";

-		overwrite = genModel.isUpdateClasspath();

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2005-2007 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genModel.getModelPluginID());

-		stringBuffer.append(TEXT_2);

-		if (genModel.isRuntimeJar()) {

-			stringBuffer.append(genModel.getModelPluginID());

-			stringBuffer.append(TEXT_3);

-		} else {

-			stringBuffer.append(TEXT_4);

-		}

-		if (genModel.hasModelPluginClass()) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genModel.getQualifiedModelPluginClassName());

-			stringBuffer.append(TEXT_6);

-			if (genModel.isOSGiCompatible()) {

-				stringBuffer.append(TEXT_7);

-			}

-		}

-		stringBuffer.append(TEXT_8);

-		if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {

-			stringBuffer.append(TEXT_9);

-		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {

-			stringBuffer.append(TEXT_10);

-		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {

-			stringBuffer.append(TEXT_11);

-		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {

-			stringBuffer.append(TEXT_12);

-		}

-		Iterator<String> packagesIterator = genModel.getModelQualifiedPackageNames().iterator();

-		if (packagesIterator.hasNext()) {

-			String pack = packagesIterator.next();

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(pack);

-			while (packagesIterator.hasNext()) {

-				pack = packagesIterator.next();

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(pack);

-			}

-		}

-		Iterator<String> requiredPluginIterator = genModel.getModelRequiredPlugins().iterator();

-		if (requiredPluginIterator.hasNext()) {

-			String pluginID = requiredPluginIterator.next();

-			stringBuffer.append(TEXT_16);

-			stringBuffer.append(pluginID);

-			if (pluginID.startsWith("org.eclipse.core.runtime")) {

-				if (genModel.isOSGiCompatible()) {

-					stringBuffer.append(TEXT_17);

-				}

-			} else {

-				stringBuffer.append(TEXT_18);

-			}

-			while (requiredPluginIterator.hasNext()) {

-				pluginID = requiredPluginIterator.next();

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(pluginID);

-				if (pluginID.startsWith("org.eclipse.core.runtime")) {

-					if (genModel.isOSGiCompatible()) {

-						stringBuffer.append(TEXT_21);

-					}

-				} else if (!pluginID.equals("org.eclipse.xtext.xbase.lib")

-						&& !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {

-					stringBuffer.append(TEXT_22);

-				}

-			}

-		}

-		if (genModel.isOSGiCompatible() && genModel.hasModelPluginClass()) {

-			stringBuffer.append(TEXT_23);

-		}

-		if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22

-				|| genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {

-			stringBuffer.append(TEXT_24);

-		}

-		stringBuffer.append(TEXT_25);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate

-				&& (genModel.isBundleManifest())

-				&& (genModel.hasPluginSupport() && !genModel.sameModelEditProject() && !genModel

-						.sameModelEditorProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ManifestMF extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized ManifestMF create(String lineSeparator) {
+		nl = lineSeparator;
+		ManifestMF result = new ManifestMF();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "Manifest-Version: 1.0" + NL + "Bundle-ManifestVersion: 2" + NL
+			+ "Bundle-Name: %pluginName" + NL + "Bundle-SymbolicName: ";
+	protected final String TEXT_2 = ";singleton:=true" + NL + "Bundle-Version: 1.0.0.qualifier" + NL
+			+ "Bundle-ClassPath: ";
+	protected final String TEXT_3 = ".jar";
+	protected final String TEXT_4 = ".";
+	protected final String TEXT_5 = NL + "Bundle-Activator: ";
+	protected final String TEXT_6 = "$Implementation";
+	protected final String TEXT_7 = "$Activator";
+	protected final String TEXT_8 = NL + "Bundle-Vendor: %providerName" + NL + "Bundle-Localization: plugin";
+	protected final String TEXT_9 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";
+	protected final String TEXT_10 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";
+	protected final String TEXT_11 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";
+	protected final String TEXT_12 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";
+	protected final String TEXT_13 = NL + "Export-Package: ";
+	protected final String TEXT_14 = ",";
+	protected final String TEXT_15 = NL + " ";
+	protected final String TEXT_16 = NL + "Require-Bundle: ";
+	protected final String TEXT_17 = ";resolution:=optional;x-installation:=greedy";
+	protected final String TEXT_18 = ";visibility:=reexport";
+	protected final String TEXT_19 = ",";
+	protected final String TEXT_20 = NL + " ";
+	protected final String TEXT_21 = ";resolution:=optional;x-installation:=greedy";
+	protected final String TEXT_22 = ";visibility:=reexport";
+	protected final String TEXT_23 = NL + "Import-Package: org.osgi.framework";
+	protected final String TEXT_24 = NL + "Eclipse-LazyStart: true";
+	protected final String TEXT_25 = NL + "Bundle-ActivationPolicy: lazy" + NL;
+	protected final String TEXT_26 = NL;
+	protected final String TEXT_27 = NL;
+
+	public ManifestMF() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_26);
+		stringBuffer.append(TEXT_27);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getModelProjectDirectory() + "/META-INF/MANIFEST.MF";
+		overwrite = genModel.isUpdateClasspath();
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2005-2007 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genModel.getModelPluginID());
+		stringBuffer.append(TEXT_2);
+		if (genModel.isRuntimeJar()) {
+			stringBuffer.append(genModel.getModelPluginID());
+			stringBuffer.append(TEXT_3);
+		} else {
+			stringBuffer.append(TEXT_4);
+		}
+		if (genModel.hasModelPluginClass()) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genModel.getQualifiedModelPluginClassName());
+			stringBuffer.append(TEXT_6);
+			if (genModel.isOSGiCompatible()) {
+				stringBuffer.append(TEXT_7);
+			}
+		}
+		stringBuffer.append(TEXT_8);
+		if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {
+			stringBuffer.append(TEXT_9);
+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {
+			stringBuffer.append(TEXT_10);
+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {
+			stringBuffer.append(TEXT_11);
+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {
+			stringBuffer.append(TEXT_12);
+		}
+		Iterator<String> packagesIterator = genModel.getModelQualifiedPackageNames().iterator();
+		if (packagesIterator.hasNext()) {
+			String pack = packagesIterator.next();
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(pack);
+			while (packagesIterator.hasNext()) {
+				pack = packagesIterator.next();
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(pack);
+			}
+		}
+		Iterator<String> requiredPluginIterator = genModel.getModelRequiredPlugins().iterator();
+		if (requiredPluginIterator.hasNext()) {
+			String pluginID = requiredPluginIterator.next();
+			stringBuffer.append(TEXT_16);
+			stringBuffer.append(pluginID);
+			if (pluginID.startsWith("org.eclipse.core.runtime")) {
+				if (genModel.isOSGiCompatible()) {
+					stringBuffer.append(TEXT_17);
+				}
+			} else {
+				stringBuffer.append(TEXT_18);
+			}
+			while (requiredPluginIterator.hasNext()) {
+				pluginID = requiredPluginIterator.next();
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(pluginID);
+				if (pluginID.startsWith("org.eclipse.core.runtime")) {
+					if (genModel.isOSGiCompatible()) {
+						stringBuffer.append(TEXT_21);
+					}
+				} else if (!pluginID.equals("org.eclipse.xtext.xbase.lib")
+						&& !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {
+					stringBuffer.append(TEXT_22);
+				}
+			}
+		}
+		if (genModel.isOSGiCompatible() && genModel.hasModelPluginClass()) {
+			stringBuffer.append(TEXT_23);
+		}
+		if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22
+				|| genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {
+			stringBuffer.append(TEXT_24);
+		}
+		stringBuffer.append(TEXT_25);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genModel.isBundleManifest()) && (genModel.hasPluginSupport()
+				&& !genModel.sameModelEditProject() && !genModel.sameModelEditorProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ModuleGWTXML.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ModuleGWTXML.java
index 1c79da8..b5ae592 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ModuleGWTXML.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ModuleGWTXML.java
@@ -1,205 +1,202 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ModuleGWTXML extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized ModuleGWTXML create(String lineSeparator) {

-		nl = lineSeparator;

-		ModuleGWTXML result = new ModuleGWTXML();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"

-			+ NL

-			+ "<!DOCTYPE module PUBLIC \"-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN\" \"http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd\">"

-			+ NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + NL + "<module>";

-	protected final String TEXT_4 = NL + "  <inherits name=\"";

-	protected final String TEXT_5 = "\" />";

-	protected final String TEXT_6 = NL + "  <source path=\"";

-	protected final String TEXT_7 = "\"/>";

-	protected final String TEXT_8 = NL + "</module>" + NL;

-	protected final String TEXT_9 = NL;

-	protected final String TEXT_10 = NL;

-

-	public ModuleGWTXML() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_9);

-		stringBuffer.append(TEXT_10);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getModelDirectory() + "/" + genModel.getQualifiedModelModuleName().replace(".", "/")

-				+ ".gwt.xml";

-		overwrite = false;

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2010 Ed Merks 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: 

-		 *   Ed Merks - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_3);

-		for (String inherits : genModel.getModelModuleInherits()) {

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(inherits);

-			stringBuffer.append(TEXT_5);

-		}

-		for (String source : genModel.getModelModuleSources()) {

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(source);

-			stringBuffer.append(TEXT_7);

-		}

-		stringBuffer.append(TEXT_8);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate

-				&& (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT && !genModel.sameModelEditProject() && !genModel

-						.sameModelEditorProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModuleGWTXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized ModuleGWTXML create(String lineSeparator) {
+		nl = lineSeparator;
+		ModuleGWTXML result = new ModuleGWTXML();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL
+			+ "<!DOCTYPE module PUBLIC \"-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN\" \"http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd\">"
+			+ NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + NL + "<module>";
+	protected final String TEXT_4 = NL + "  <inherits name=\"";
+	protected final String TEXT_5 = "\" />";
+	protected final String TEXT_6 = NL + "  <source path=\"";
+	protected final String TEXT_7 = "\"/>";
+	protected final String TEXT_8 = NL + "</module>" + NL;
+	protected final String TEXT_9 = NL;
+	protected final String TEXT_10 = NL;
+
+	public ModuleGWTXML() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_9);
+		stringBuffer.append(TEXT_10);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getModelDirectory() + "/" + genModel.getQualifiedModelModuleName().replace(".", "/")
+				+ ".gwt.xml";
+		overwrite = false;
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2010 Ed Merks 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: 
+		 *   Ed Merks - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_3);
+		for (String inherits : genModel.getModelModuleInherits()) {
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(inherits);
+			stringBuffer.append(TEXT_5);
+		}
+		for (String source : genModel.getModelModuleSources()) {
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(source);
+			stringBuffer.append(TEXT_7);
+		}
+		stringBuffer.append(TEXT_8);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT
+				&& !genModel.sameModelEditProject() && !genModel.sameModelEditorProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageClass.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageClass.java
index 7410817..19d2034 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageClass.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageClass.java
@@ -1,2942 +1,2920 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class PackageClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized PackageClass create(String lineSeparator) {

-		nl = lineSeparator;

-		PackageClass result = new PackageClass();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";";

-	protected final String TEXT_4 = NL + "package ";

-	protected final String TEXT_5 = ";";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * The <b>Package</b> for the model." + NL

-			+ " * It contains accessors for the meta objects to represent" + NL + " * <ul>" + NL

-			+ " *   <li>each class,</li>" + NL + " *   <li>each feature of each class,</li>";

-	protected final String TEXT_8 = NL + " *   <li>each operation of each class,</li>";

-	protected final String TEXT_9 = NL + " *   <li>each enum,</li>" + NL + " *   <li>and each data type</li>" + NL

-			+ " * </ul>" + NL + " * <!-- end-user-doc -->";

-	protected final String TEXT_10 = NL + " * <!-- begin-model-doc -->" + NL + " * ";

-	protected final String TEXT_11 = NL + " * <!-- end-model-doc -->";

-	protected final String TEXT_12 = NL + " * @see ";

-	protected final String TEXT_13 = NL + " * @model ";

-	protected final String TEXT_14 = NL + " *        ";

-	protected final String TEXT_15 = NL + " * @model";

-	protected final String TEXT_16 = NL + " * @generated" + NL + " */";

-	protected final String TEXT_17 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * An implementation of the model <b>Package</b>." + NL + " * <!-- end-user-doc -->" + NL

-			+ " * @generated" + NL + " */";

-	protected final String TEXT_18 = NL + "public class ";

-	protected final String TEXT_19 = " extends ";

-	protected final String TEXT_20 = " implements ";

-	protected final String TEXT_21 = NL + "public interface ";

-	protected final String TEXT_22 = " extends ";

-	protected final String TEXT_23 = NL + "{";

-	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_25 = " copyright = ";

-	protected final String TEXT_26 = ";";

-	protected final String TEXT_27 = NL;

-	protected final String TEXT_28 = NL + "\t/**" + NL + "\t * The package name." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_29 = " eNAME = \"";

-	protected final String TEXT_30 = "\";";

-	protected final String TEXT_31 = NL + NL + "\t/**" + NL + "\t * The package namespace URI." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_32 = " eNS_URI = \"";

-	protected final String TEXT_33 = "\";";

-	protected final String TEXT_34 = NL + NL + "\t/**" + NL + "\t * The package namespace name." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_35 = " eNS_PREFIX = \"";

-	protected final String TEXT_36 = "\";";

-	protected final String TEXT_37 = NL + NL + "\t/**" + NL + "\t * The package content type ID." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_38 = " eCONTENT_TYPE = \"";

-	protected final String TEXT_39 = "\";";

-	protected final String TEXT_40 = NL + NL + "\t/**" + NL + "\t * The singleton instance of the package." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_41 = " eINSTANCE = ";

-	protected final String TEXT_42 = ".init();" + NL;

-	protected final String TEXT_43 = NL + "\t/**";

-	protected final String TEXT_44 = NL + "\t * The meta object id for the '{@link ";

-	protected final String TEXT_45 = " <em>";

-	protected final String TEXT_46 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

-	protected final String TEXT_47 = NL + "\t * The meta object id for the '{@link ";

-	protected final String TEXT_48 = " <em>";

-	protected final String TEXT_49 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

-	protected final String TEXT_50 = NL + "\t * The meta object id for the '{@link ";

-	protected final String TEXT_51 = " <em>";

-	protected final String TEXT_52 = "</em>}' enum." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

-	protected final String TEXT_53 = NL + "\t * The meta object id for the '<em>";

-	protected final String TEXT_54 = "</em>' data type." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->";

-	protected final String TEXT_55 = NL + "\t * @see ";

-	protected final String TEXT_56 = NL + "\t * @see ";

-	protected final String TEXT_57 = "#get";

-	protected final String TEXT_58 = "()" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_59 = "int ";

-	protected final String TEXT_60 = " = ";

-	protected final String TEXT_61 = ";" + NL;

-	protected final String TEXT_62 = NL + "\t/**" + NL + "\t * The feature id for the '<em><b>";

-	protected final String TEXT_63 = "</b></em>' ";

-	protected final String TEXT_64 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_65 = "int ";

-	protected final String TEXT_66 = " = ";

-	protected final String TEXT_67 = ";" + NL;

-	protected final String TEXT_68 = NL + "\t/**" + NL + "\t * The number of structural features of the '<em>";

-	protected final String TEXT_69 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_70 = "int ";

-	protected final String TEXT_71 = " = ";

-	protected final String TEXT_72 = ";" + NL;

-	protected final String TEXT_73 = NL + "\t/**" + NL + "\t * The operation id for the '<em>";

-	protected final String TEXT_74 = "</em>' operation." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_75 = "int ";

-	protected final String TEXT_76 = " = ";

-	protected final String TEXT_77 = ";" + NL;

-	protected final String TEXT_78 = NL + "\t/**" + NL + "\t * The number of operations of the '<em>";

-	protected final String TEXT_79 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_80 = "int ";

-	protected final String TEXT_81 = " = ";

-	protected final String TEXT_82 = ";" + NL;

-	protected final String TEXT_83 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected String packageFilename = \"";

-	protected final String TEXT_84 = "\";";

-	protected final String TEXT_85 = NL;

-	protected final String TEXT_86 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate ";

-	protected final String TEXT_87 = " ";

-	protected final String TEXT_88 = " = null;" + NL;

-	protected final String TEXT_89 = NL + "\t/**" + NL

-			+ "\t * Creates an instance of the model <b>Package</b>, registered with" + NL

-			+ "\t * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package" + NL

-			+ "\t * package URI value." + NL + "\t * <p>Note: the correct way to create the package is via the static"

-			+ NL + "\t * factory method {@link #init init()}, which also performs" + NL

-			+ "\t * initialization of the package, or returns the registered package," + NL

-			+ "\t * if one already exists." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @see org.eclipse.emf.ecore.EPackage.Registry" + NL + "\t * @see ";

-	protected final String TEXT_90 = "#eNS_URI" + NL + "\t * @see #init()" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate ";

-	protected final String TEXT_91 = "()" + NL + "\t{" + NL + "\t\tsuper(eNS_URI, ";

-	protected final String TEXT_92 = ");"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tprivate static boolean isInited = false;"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends."

-			+ NL + "\t * " + NL + "\t * <p>This method is used to initialize {@link ";

-	protected final String TEXT_93 = "#eINSTANCE} when that field is accessed."

-			+ NL

-			+ "\t * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #eNS_URI";

-	protected final String TEXT_94 = NL + "\t * @see #createPackageContents()" + NL

-			+ "\t * @see #initializePackageContents()";

-	protected final String TEXT_95 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";

-	protected final String TEXT_96 = " init()" + NL + "\t{" + NL + "\t\tif (isInited) return (";

-	protected final String TEXT_97 = ")";

-	protected final String TEXT_98 = ".Registry.INSTANCE.getEPackage(";

-	protected final String TEXT_99 = ".eNS_URI);" + NL;

-	protected final String TEXT_100 = NL + "\t\tinitializeRegistryHelpers();" + NL;

-	protected final String TEXT_101 = NL + "\t\t// Obtain or create and register package" + NL + "\t\t";

-	protected final String TEXT_102 = " the";

-	protected final String TEXT_103 = " = (";

-	protected final String TEXT_104 = ")(";

-	protected final String TEXT_105 = ".Registry.INSTANCE.get(eNS_URI) instanceof ";

-	protected final String TEXT_106 = " ? ";

-	protected final String TEXT_107 = ".Registry.INSTANCE.get(eNS_URI) : new ";

-	protected final String TEXT_108 = "());" + NL + "" + NL + "\t\tisInited = true;" + NL;

-	protected final String TEXT_109 = NL + "\t\t// Initialize simple dependencies";

-	protected final String TEXT_110 = NL + "\t\t";

-	protected final String TEXT_111 = ".eINSTANCE.eClass();";

-	protected final String TEXT_112 = NL;

-	protected final String TEXT_113 = NL + "\t\t// Obtain or create and register interdependencies";

-	protected final String TEXT_114 = NL + "\t\t";

-	protected final String TEXT_115 = " ";

-	protected final String TEXT_116 = " = (";

-	protected final String TEXT_117 = ")(";

-	protected final String TEXT_118 = ".Registry.INSTANCE.getEPackage(";

-	protected final String TEXT_119 = ".eNS_URI) instanceof ";

-	protected final String TEXT_120 = " ? ";

-	protected final String TEXT_121 = ".Registry.INSTANCE.getEPackage(";

-	protected final String TEXT_122 = ".eNS_URI) : ";

-	protected final String TEXT_123 = ".eINSTANCE);";

-	protected final String TEXT_124 = NL;

-	protected final String TEXT_125 = NL + "\t\t// Load packages";

-	protected final String TEXT_126 = NL + "\t\tthe";

-	protected final String TEXT_127 = ".loadPackage();";

-	protected final String TEXT_128 = NL + "\t\t";

-	protected final String TEXT_129 = ".loadPackage();";

-	protected final String TEXT_130 = NL;

-	protected final String TEXT_131 = NL + "\t\t// Create package meta-data objects";

-	protected final String TEXT_132 = NL + "\t\tthe";

-	protected final String TEXT_133 = ".createPackageContents();";

-	protected final String TEXT_134 = NL + "\t\t";

-	protected final String TEXT_135 = ".createPackageContents();";

-	protected final String TEXT_136 = NL + NL + "\t\t// Initialize created meta-data";

-	protected final String TEXT_137 = NL + "\t\tthe";

-	protected final String TEXT_138 = ".initializePackageContents();";

-	protected final String TEXT_139 = NL + "\t\t";

-	protected final String TEXT_140 = ".initializePackageContents();";

-	protected final String TEXT_141 = NL;

-	protected final String TEXT_142 = NL + "\t\t// Fix loaded packages";

-	protected final String TEXT_143 = NL + "\t\tthe";

-	protected final String TEXT_144 = ".fixPackageContents();";

-	protected final String TEXT_145 = NL + "\t\t";

-	protected final String TEXT_146 = ".fixPackageContents();";

-	protected final String TEXT_147 = NL;

-	protected final String TEXT_148 = NL + "\t\t// Register package validator" + NL + "\t\t";

-	protected final String TEXT_149 = ".Registry.INSTANCE.put" + NL + "\t\t\t(the";

-	protected final String TEXT_150 = ", " + NL + "\t\t\t new ";

-	protected final String TEXT_151 = ".Descriptor()" + NL + "\t\t\t {" + NL + "\t\t\t\t public ";

-	protected final String TEXT_152 = " getEValidator()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return ";

-	protected final String TEXT_153 = ".INSTANCE;" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;

-	protected final String TEXT_154 = NL + "\t\t// Mark meta-data to indicate it can't be changed" + NL + "\t\tthe";

-	protected final String TEXT_155 = ".freeze();" + NL;

-	protected final String TEXT_156 = NL + "  " + NL + "\t\t// Update the registry and return the package" + NL

-			+ "\t\t";

-	protected final String TEXT_157 = ".Registry.INSTANCE.put(";

-	protected final String TEXT_158 = ".eNS_URI, the";

-	protected final String TEXT_159 = ");" + NL + "\t\treturn the";

-	protected final String TEXT_160 = ";" + NL + "\t}";

-	protected final String TEXT_161 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static void initializeRegistryHelpers()" + NL + "\t{";

-	protected final String TEXT_162 = NL + "\t\t";

-	protected final String TEXT_163 = ".register" + NL + "\t\t\t(";

-	protected final String TEXT_164 = ".class, " + NL + "\t\t\t new ";

-	protected final String TEXT_165 = ".Helper() " + NL + "\t\t\t {" + NL

-			+ "\t\t\t\t public boolean isInstance(Object instance)" + NL + "\t\t\t\t {" + NL

-			+ "\t\t\t\t\t return instance instanceof ";

-	protected final String TEXT_166 = ";" + NL + "\t\t\t\t }" + NL + "" + NL

-			+ "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return new ";

-	protected final String TEXT_167 = "[size];" + NL + "\t\t\t\t }" + NL + "\t\t\t });";

-	protected final String TEXT_168 = NL + "\t\t";

-	protected final String TEXT_169 = ".register" + NL + "\t\t\t(";

-	protected final String TEXT_170 = ".class, " + NL + "\t\t\t new ";

-	protected final String TEXT_171 = ".Helper() " + NL + "\t\t\t {" + NL

-			+ "\t\t\t\t public boolean isInstance(Object instance)" + NL + "\t\t\t\t {" + NL

-			+ "\t\t\t\t\t return instance instanceof ";

-	protected final String TEXT_172 = ";" + NL + "\t\t\t\t }" + NL + "" + NL

-			+ "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {";

-	protected final String TEXT_173 = NL + "\t\t\t\t\t return new ";

-	protected final String TEXT_174 = "[size]";

-	protected final String TEXT_175 = ";";

-	protected final String TEXT_176 = NL + "\t\t\t\t\t return new ";

-	protected final String TEXT_177 = "[size];";

-	protected final String TEXT_178 = NL + "\t\t\t\t }" + NL + "\t\t});";

-	protected final String TEXT_179 = NL + "\t}" + NL + "" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static class WhiteList implements ";

-	protected final String TEXT_180 = ", EBasicWhiteList" + NL + "\t{";

-	protected final String TEXT_181 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";

-	protected final String TEXT_182 = " ";

-	protected final String TEXT_183 = ";" + NL;

-	protected final String TEXT_184 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";

-	protected final String TEXT_185 = " ";

-	protected final String TEXT_186 = ";" + NL;

-	protected final String TEXT_187 = NL + "\t}";

-	protected final String TEXT_188 = NL;

-	protected final String TEXT_189 = NL;

-	protected final String TEXT_190 = NL + "\t/**";

-	protected final String TEXT_191 = NL + "\t * Returns the meta object for class '{@link ";

-	protected final String TEXT_192 = " <em>";

-	protected final String TEXT_193 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for class '<em>";

-	protected final String TEXT_194 = "</em>'." + NL + "\t * @see ";

-	protected final String TEXT_195 = NL + "\t * @model ";

-	protected final String TEXT_196 = NL + "\t *        ";

-	protected final String TEXT_197 = NL + "\t * @model";

-	protected final String TEXT_198 = NL + "\t * Returns the meta object for enum '{@link ";

-	protected final String TEXT_199 = " <em>";

-	protected final String TEXT_200 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for enum '<em>";

-	protected final String TEXT_201 = "</em>'." + NL + "\t * @see ";

-	protected final String TEXT_202 = NL + "\t * Returns the meta object for data type '<em>";

-	protected final String TEXT_203 = "</em>'.";

-	protected final String TEXT_204 = NL + "\t * Returns the meta object for data type '{@link ";

-	protected final String TEXT_205 = " <em>";

-	protected final String TEXT_206 = "</em>}'.";

-	protected final String TEXT_207 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the meta object for data type '<em>";

-	protected final String TEXT_208 = "</em>'.";

-	protected final String TEXT_209 = NL + "\t * @see ";

-	protected final String TEXT_210 = NL + "\t * @model ";

-	protected final String TEXT_211 = NL + "\t *        ";

-	protected final String TEXT_212 = NL + "\t * @model";

-	protected final String TEXT_213 = NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_214 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_215 = NL + "\tpublic ";

-	protected final String TEXT_216 = " get";

-	protected final String TEXT_217 = "()" + NL + "\t{";

-	protected final String TEXT_218 = NL + "\t\tif (";

-	protected final String TEXT_219 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_220 = " = (";

-	protected final String TEXT_221 = ")";

-	protected final String TEXT_222 = ".Registry.INSTANCE.getEPackage(";

-	protected final String TEXT_223 = ".eNS_URI).getEClassifiers().get(";

-	protected final String TEXT_224 = ");" + NL + "\t\t}";

-	protected final String TEXT_225 = NL + "\t\treturn ";

-	protected final String TEXT_226 = ";" + NL + "\t}" + NL;

-	protected final String TEXT_227 = NL + "\t";

-	protected final String TEXT_228 = " get";

-	protected final String TEXT_229 = "();" + NL;

-	protected final String TEXT_230 = NL + "\t/**" + NL + "\t * Returns the meta object for the ";

-	protected final String TEXT_231 = " '{@link ";

-	protected final String TEXT_232 = "#";

-	protected final String TEXT_233 = " <em>";

-	protected final String TEXT_234 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the ";

-	protected final String TEXT_235 = " '<em>";

-	protected final String TEXT_236 = "</em>'." + NL + "\t * @see ";

-	protected final String TEXT_237 = "#";

-	protected final String TEXT_238 = "()";

-	protected final String TEXT_239 = NL + "\t * @see #get";

-	protected final String TEXT_240 = "()" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_241 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_242 = NL + "\tpublic ";

-	protected final String TEXT_243 = " get";

-	protected final String TEXT_244 = "()" + NL + "\t{";

-	protected final String TEXT_245 = NL + "\t\treturn (";

-	protected final String TEXT_246 = ")";

-	protected final String TEXT_247 = ".getEStructuralFeatures().get(";

-	protected final String TEXT_248 = ");";

-	protected final String TEXT_249 = NL + "        return (";

-	protected final String TEXT_250 = ")get";

-	protected final String TEXT_251 = "().getEStructuralFeatures().get(";

-	protected final String TEXT_252 = ");";

-	protected final String TEXT_253 = NL + "\t}";

-	protected final String TEXT_254 = NL + "\t";

-	protected final String TEXT_255 = " get";

-	protected final String TEXT_256 = "();";

-	protected final String TEXT_257 = NL;

-	protected final String TEXT_258 = NL + "\t/**" + NL + "\t * Returns the meta object for the '{@link ";

-	protected final String TEXT_259 = "#";

-	protected final String TEXT_260 = "(";

-	protected final String TEXT_261 = ") <em>";

-	protected final String TEXT_262 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the '<em>";

-	protected final String TEXT_263 = "</em>' operation." + NL + "\t * @see ";

-	protected final String TEXT_264 = "#";

-	protected final String TEXT_265 = "(";

-	protected final String TEXT_266 = ")" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_267 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_268 = NL + "\tpublic ";

-	protected final String TEXT_269 = " get";

-	protected final String TEXT_270 = "()" + NL + "\t{";

-	protected final String TEXT_271 = NL + "\t\treturn ";

-	protected final String TEXT_272 = ".getEOperations().get(";

-	protected final String TEXT_273 = ");";

-	protected final String TEXT_274 = NL + "        return get";

-	protected final String TEXT_275 = "().getEOperations().get(";

-	protected final String TEXT_276 = ");";

-	protected final String TEXT_277 = NL + "\t}";

-	protected final String TEXT_278 = NL + "\t";

-	protected final String TEXT_279 = " get";

-	protected final String TEXT_280 = "();";

-	protected final String TEXT_281 = NL;

-	protected final String TEXT_282 = NL + "\t/**" + NL

-			+ "\t * Returns the factory that creates the instances of the model." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the factory that creates the instances of the model." + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_283 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_284 = NL + "\tpublic ";

-	protected final String TEXT_285 = " get";

-	protected final String TEXT_286 = "()" + NL + "\t{" + NL + "\t\treturn (";

-	protected final String TEXT_287 = ")getEFactoryInstance();" + NL + "\t}";

-	protected final String TEXT_288 = NL + "\t";

-	protected final String TEXT_289 = " get";

-	protected final String TEXT_290 = "();";

-	protected final String TEXT_291 = NL;

-	protected final String TEXT_292 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate boolean isCreated = false;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Creates the meta-model objects for the package.  This method is" + NL

-			+ "\t * guarded to have no affect on any invocation but its first." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic void createPackageContents()" + NL + "\t{" + NL + "\t\tif (isCreated) return;" + NL

-			+ "\t\tisCreated = true;";

-	protected final String TEXT_293 = NL + NL + "\t\t// Create classes and their features";

-	protected final String TEXT_294 = NL + "\t\t";

-	protected final String TEXT_295 = " = create";

-	protected final String TEXT_296 = "(";

-	protected final String TEXT_297 = ");";

-	protected final String TEXT_298 = NL + "\t\tcreate";

-	protected final String TEXT_299 = "(";

-	protected final String TEXT_300 = ", ";

-	protected final String TEXT_301 = ");";

-	protected final String TEXT_302 = NL + "\t\tcreateEOperation(";

-	protected final String TEXT_303 = ", ";

-	protected final String TEXT_304 = ");";

-	protected final String TEXT_305 = NL;

-	protected final String TEXT_306 = NL + NL + "\t\t// Create enums";

-	protected final String TEXT_307 = NL + "\t\t";

-	protected final String TEXT_308 = " = createEEnum(";

-	protected final String TEXT_309 = ");";

-	protected final String TEXT_310 = NL + NL + "\t\t// Create data types";

-	protected final String TEXT_311 = NL + "\t\t";

-	protected final String TEXT_312 = " = createEDataType(";

-	protected final String TEXT_313 = ");";

-	protected final String TEXT_314 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate boolean isInitialized = false;" + NL;

-	protected final String TEXT_315 = NL + "\t/**" + NL

-			+ "\t * Complete the initialization of the package and its meta-model.  This" + NL

-			+ "\t * method is guarded to have no affect on any invocation but its first." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void initializePackageContents()" + NL + "\t{" + NL

-			+ "\t\tif (isInitialized) return;" + NL + "\t\tisInitialized = true;" + NL + "" + NL

-			+ "\t\t// Initialize package" + NL + "\t\tsetName(eNAME);" + NL + "\t\tsetNsPrefix(eNS_PREFIX);" + NL

-			+ "\t\tsetNsURI(eNS_URI);";

-	protected final String TEXT_316 = NL + NL + "\t\t// Obtain other dependent packages";

-	protected final String TEXT_317 = NL + "\t\t";

-	protected final String TEXT_318 = " ";

-	protected final String TEXT_319 = " = (";

-	protected final String TEXT_320 = ")";

-	protected final String TEXT_321 = ".Registry.INSTANCE.getEPackage(";

-	protected final String TEXT_322 = ".eNS_URI);";

-	protected final String TEXT_323 = NL + NL + "\t\t// Add subpackages";

-	protected final String TEXT_324 = NL + "\t\tgetESubpackages().add(";

-	protected final String TEXT_325 = ");";

-	protected final String TEXT_326 = NL + NL + "\t\t// Create type parameters";

-	protected final String TEXT_327 = NL + "\t\t";

-	protected final String TEXT_328 = " ";

-	protected final String TEXT_329 = "_";

-	protected final String TEXT_330 = " = addETypeParameter(";

-	protected final String TEXT_331 = ", \"";

-	protected final String TEXT_332 = "\");";

-	protected final String TEXT_333 = NL + "\t\taddETypeParameter(";

-	protected final String TEXT_334 = ", \"";

-	protected final String TEXT_335 = "\");";

-	protected final String TEXT_336 = NL + NL + "\t\t// Set bounds for type parameters";

-	protected final String TEXT_337 = NL + "\t\t";

-	protected final String TEXT_338 = "g";

-	protected final String TEXT_339 = " = createEGenericType(";

-	protected final String TEXT_340 = ");";

-	protected final String TEXT_341 = NL + "\t\tg";

-	protected final String TEXT_342 = ".";

-	protected final String TEXT_343 = "(g";

-	protected final String TEXT_344 = ");";

-	protected final String TEXT_345 = NL + "\t\t";

-	protected final String TEXT_346 = "_";

-	protected final String TEXT_347 = ".getEBounds().add(g1);";

-	protected final String TEXT_348 = NL + NL + "\t\t// Add supertypes to classes";

-	protected final String TEXT_349 = NL + "\t\t";

-	protected final String TEXT_350 = ".getESuperTypes().add(";

-	protected final String TEXT_351 = ".get";

-	protected final String TEXT_352 = "());";

-	protected final String TEXT_353 = NL + "\t\t";

-	protected final String TEXT_354 = "g";

-	protected final String TEXT_355 = " = createEGenericType(";

-	protected final String TEXT_356 = ");";

-	protected final String TEXT_357 = NL + "\t\tg";

-	protected final String TEXT_358 = ".";

-	protected final String TEXT_359 = "(g";

-	protected final String TEXT_360 = ");";

-	protected final String TEXT_361 = NL + "\t\t";

-	protected final String TEXT_362 = ".getEGenericSuperTypes().add(g1);";

-	protected final String TEXT_363 = NL + NL + "\t\t// Initialize classes";

-	protected final String TEXT_364 = ", features, and operations; add parameters";

-	protected final String TEXT_365 = " and features; add operations and parameters";

-	protected final String TEXT_366 = NL + "\t\tinitEClass(";

-	protected final String TEXT_367 = ", ";

-	protected final String TEXT_368 = "null";

-	protected final String TEXT_369 = ".class";

-	protected final String TEXT_370 = ", \"";

-	protected final String TEXT_371 = "\", ";

-	protected final String TEXT_372 = ", ";

-	protected final String TEXT_373 = ", ";

-	protected final String TEXT_374 = ", \"";

-	protected final String TEXT_375 = "\"";

-	protected final String TEXT_376 = ");";

-	protected final String TEXT_377 = NL + "\t\t";

-	protected final String TEXT_378 = "g";

-	protected final String TEXT_379 = " = createEGenericType(";

-	protected final String TEXT_380 = ");";

-	protected final String TEXT_381 = NL + "\t\tg";

-	protected final String TEXT_382 = ".";

-	protected final String TEXT_383 = "(g";

-	protected final String TEXT_384 = ");";

-	protected final String TEXT_385 = NL + "\t\tinitEReference(get";

-	protected final String TEXT_386 = "(), ";

-	protected final String TEXT_387 = "g1";

-	protected final String TEXT_388 = ".get";

-	protected final String TEXT_389 = "()";

-	protected final String TEXT_390 = ", ";

-	protected final String TEXT_391 = ", \"";

-	protected final String TEXT_392 = "\", ";

-	protected final String TEXT_393 = ", ";

-	protected final String TEXT_394 = ", ";

-	protected final String TEXT_395 = ", ";

-	protected final String TEXT_396 = ", ";

-	protected final String TEXT_397 = ", ";

-	protected final String TEXT_398 = ", ";

-	protected final String TEXT_399 = ", ";

-	protected final String TEXT_400 = ", ";

-	protected final String TEXT_401 = ", ";

-	protected final String TEXT_402 = ", ";

-	protected final String TEXT_403 = ", ";

-	protected final String TEXT_404 = ", ";

-	protected final String TEXT_405 = ");";

-	protected final String TEXT_406 = NL + "\t\tget";

-	protected final String TEXT_407 = "().getEKeys().add(";

-	protected final String TEXT_408 = ".get";

-	protected final String TEXT_409 = "());";

-	protected final String TEXT_410 = NL + "\t\tinitEAttribute(get";

-	protected final String TEXT_411 = "(), ";

-	protected final String TEXT_412 = "g1";

-	protected final String TEXT_413 = ".get";

-	protected final String TEXT_414 = "()";

-	protected final String TEXT_415 = ", \"";

-	protected final String TEXT_416 = "\", ";

-	protected final String TEXT_417 = ", ";

-	protected final String TEXT_418 = ", ";

-	protected final String TEXT_419 = ", ";

-	protected final String TEXT_420 = ", ";

-	protected final String TEXT_421 = ", ";

-	protected final String TEXT_422 = ", ";

-	protected final String TEXT_423 = ", ";

-	protected final String TEXT_424 = ", ";

-	protected final String TEXT_425 = ", ";

-	protected final String TEXT_426 = ", ";

-	protected final String TEXT_427 = ", ";

-	protected final String TEXT_428 = ");";

-	protected final String TEXT_429 = NL;

-	protected final String TEXT_430 = NL + "\t\t";

-	protected final String TEXT_431 = "initEOperation(get";

-	protected final String TEXT_432 = "()";

-	protected final String TEXT_433 = "addEOperation(";

-	protected final String TEXT_434 = ", ";

-	protected final String TEXT_435 = "null";

-	protected final String TEXT_436 = ".get";

-	protected final String TEXT_437 = "()";

-	protected final String TEXT_438 = ", \"";

-	protected final String TEXT_439 = "\", ";

-	protected final String TEXT_440 = ", ";

-	protected final String TEXT_441 = ", ";

-	protected final String TEXT_442 = ", ";

-	protected final String TEXT_443 = ");";

-	protected final String TEXT_444 = NL + "\t\t";

-	protected final String TEXT_445 = "initEOperation(get";

-	protected final String TEXT_446 = "()";

-	protected final String TEXT_447 = "addEOperation(";

-	protected final String TEXT_448 = ", ";

-	protected final String TEXT_449 = ".get";

-	protected final String TEXT_450 = "(), \"";

-	protected final String TEXT_451 = "\", ";

-	protected final String TEXT_452 = ", ";

-	protected final String TEXT_453 = ", ";

-	protected final String TEXT_454 = ", ";

-	protected final String TEXT_455 = ");";

-	protected final String TEXT_456 = NL + "\t\t";

-	protected final String TEXT_457 = "initEOperation(get";

-	protected final String TEXT_458 = "()";

-	protected final String TEXT_459 = "addEOperation(";

-	protected final String TEXT_460 = ", ";

-	protected final String TEXT_461 = ".get";

-	protected final String TEXT_462 = "(), \"";

-	protected final String TEXT_463 = "\", ";

-	protected final String TEXT_464 = ", ";

-	protected final String TEXT_465 = ");";

-	protected final String TEXT_466 = NL + "\t\t";

-	protected final String TEXT_467 = "initEOperation(get";

-	protected final String TEXT_468 = "()";

-	protected final String TEXT_469 = "addEOperation(";

-	protected final String TEXT_470 = ", null, \"";

-	protected final String TEXT_471 = "\");";

-	protected final String TEXT_472 = NL + "\t\t";

-	protected final String TEXT_473 = "addETypeParameter(op, \"";

-	protected final String TEXT_474 = "\");";

-	protected final String TEXT_475 = NL + "\t\t";

-	protected final String TEXT_476 = "g";

-	protected final String TEXT_477 = " = createEGenericType(";

-	protected final String TEXT_478 = ");";

-	protected final String TEXT_479 = NL + "\t\tg";

-	protected final String TEXT_480 = ".";

-	protected final String TEXT_481 = "(g";

-	protected final String TEXT_482 = ");";

-	protected final String TEXT_483 = NL + "\t\tt";

-	protected final String TEXT_484 = ".getEBounds().add(g1);";

-	protected final String TEXT_485 = NL + "\t\t";

-	protected final String TEXT_486 = "g";

-	protected final String TEXT_487 = " = createEGenericType(";

-	protected final String TEXT_488 = ");";

-	protected final String TEXT_489 = NL + "\t\tg";

-	protected final String TEXT_490 = ".";

-	protected final String TEXT_491 = "(g";

-	protected final String TEXT_492 = ");";

-	protected final String TEXT_493 = NL + "\t\taddEParameter(op, ";

-	protected final String TEXT_494 = "g1";

-	protected final String TEXT_495 = ".get";

-	protected final String TEXT_496 = "()";

-	protected final String TEXT_497 = ", \"";

-	protected final String TEXT_498 = "\", ";

-	protected final String TEXT_499 = ", ";

-	protected final String TEXT_500 = ", ";

-	protected final String TEXT_501 = ", ";

-	protected final String TEXT_502 = ");";

-	protected final String TEXT_503 = NL + "\t\taddEParameter(op, ";

-	protected final String TEXT_504 = "g1";

-	protected final String TEXT_505 = ".get";

-	protected final String TEXT_506 = "()";

-	protected final String TEXT_507 = ", \"";

-	protected final String TEXT_508 = "\", ";

-	protected final String TEXT_509 = ", ";

-	protected final String TEXT_510 = ", ";

-	protected final String TEXT_511 = ", ";

-	protected final String TEXT_512 = ");";

-	protected final String TEXT_513 = NL + "\t\taddEParameter(op, ";

-	protected final String TEXT_514 = "g1";

-	protected final String TEXT_515 = ".get";

-	protected final String TEXT_516 = "()";

-	protected final String TEXT_517 = ", \"";

-	protected final String TEXT_518 = "\", ";

-	protected final String TEXT_519 = ", ";

-	protected final String TEXT_520 = ");";

-	protected final String TEXT_521 = NL + "\t\t";

-	protected final String TEXT_522 = "g";

-	protected final String TEXT_523 = " = createEGenericType(";

-	protected final String TEXT_524 = ");";

-	protected final String TEXT_525 = NL + "\t\tg";

-	protected final String TEXT_526 = ".";

-	protected final String TEXT_527 = "(g";

-	protected final String TEXT_528 = ");";

-	protected final String TEXT_529 = NL + "\t\taddEException(op, g";

-	protected final String TEXT_530 = ");";

-	protected final String TEXT_531 = NL + "\t\taddEException(op, ";

-	protected final String TEXT_532 = ".get";

-	protected final String TEXT_533 = "());";

-	protected final String TEXT_534 = NL + "\t\t";

-	protected final String TEXT_535 = "g";

-	protected final String TEXT_536 = " = createEGenericType(";

-	protected final String TEXT_537 = ");";

-	protected final String TEXT_538 = NL + "\t\tg";

-	protected final String TEXT_539 = ".";

-	protected final String TEXT_540 = "(g";

-	protected final String TEXT_541 = ");";

-	protected final String TEXT_542 = NL + "\t\tinitEOperation(op, g1);";

-	protected final String TEXT_543 = NL;

-	protected final String TEXT_544 = NL + NL + "\t\t// Initialize enums and add enum literals";

-	protected final String TEXT_545 = NL + "\t\tinitEEnum(";

-	protected final String TEXT_546 = ", ";

-	protected final String TEXT_547 = ".class, \"";

-	protected final String TEXT_548 = "\");";

-	protected final String TEXT_549 = NL + "\t\taddEEnumLiteral(";

-	protected final String TEXT_550 = ", ";

-	protected final String TEXT_551 = ".";

-	protected final String TEXT_552 = ");";

-	protected final String TEXT_553 = NL;

-	protected final String TEXT_554 = NL + NL + "\t\t// Initialize data types";

-	protected final String TEXT_555 = NL + "\t\tinitEDataType(";

-	protected final String TEXT_556 = ", ";

-	protected final String TEXT_557 = ".class, \"";

-	protected final String TEXT_558 = "\", ";

-	protected final String TEXT_559 = ", ";

-	protected final String TEXT_560 = ", \"";

-	protected final String TEXT_561 = "\"";

-	protected final String TEXT_562 = ");";

-	protected final String TEXT_563 = NL + NL + "\t\t// Create resource" + NL + "\t\tcreateResource(";

-	protected final String TEXT_564 = ");";

-	protected final String TEXT_565 = NL + NL + "\t\t// Create annotations";

-	protected final String TEXT_566 = NL + "\t\t// ";

-	protected final String TEXT_567 = NL + "\t\tcreate";

-	protected final String TEXT_568 = "Annotations();";

-	protected final String TEXT_569 = NL + "\t}" + NL;

-	protected final String TEXT_570 = NL + "\t/**" + NL + "\t * Initializes the annotations for <b>";

-	protected final String TEXT_571 = "</b>." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void create";

-	protected final String TEXT_572 = "Annotations()" + NL + "\t{" + NL + "\t\tString source = ";

-	protected final String TEXT_573 = "null;";

-	protected final String TEXT_574 = "\"";

-	protected final String TEXT_575 = "\";";

-	protected final String TEXT_576 = "\t" + NL + "\t\taddAnnotation" + NL + "\t\t  (";

-	protected final String TEXT_577 = ", " + NL + "\t\t   source, " + NL + "\t\t   new String[] " + NL + "\t\t   {";

-	protected final String TEXT_578 = NL + "\t\t\t ";

-	protected final String TEXT_579 = ", ";

-	protected final String TEXT_580 = NL + "\t\t   }";

-	protected final String TEXT_581 = ");";

-	protected final String TEXT_582 = ",";

-	protected final String TEXT_583 = NL + "\t\t   new ";

-	protected final String TEXT_584 = "[] " + NL + "\t\t   {";

-	protected final String TEXT_585 = NL + "\t\t\t ";

-	protected final String TEXT_586 = ".createURI(";

-	protected final String TEXT_587 = ".";

-	protected final String TEXT_588 = "eNS_URI).appendFragment(\"";

-	protected final String TEXT_589 = "\")";

-	protected final String TEXT_590 = ",";

-	protected final String TEXT_591 = NL + "\t\t   });";

-	protected final String TEXT_592 = NL + "\t\taddAnnotation" + NL + "\t\t  (";

-	protected final String TEXT_593 = ", " + NL + "\t\t   ";

-	protected final String TEXT_594 = "new boolean[] { ";

-	protected final String TEXT_595 = " }";

-	protected final String TEXT_596 = "," + NL + "\t\t   ";

-	protected final String TEXT_597 = "null,";

-	protected final String TEXT_598 = "\"";

-	protected final String TEXT_599 = "\",";

-	protected final String TEXT_600 = NL + "\t\t   new String[] " + NL + "\t\t   {";

-	protected final String TEXT_601 = NL + "\t\t\t ";

-	protected final String TEXT_602 = ", ";

-	protected final String TEXT_603 = NL + "\t\t   }";

-	protected final String TEXT_604 = ");";

-	protected final String TEXT_605 = ",";

-	protected final String TEXT_606 = NL + "\t\t   new ";

-	protected final String TEXT_607 = "[] " + NL + "\t\t   {";

-	protected final String TEXT_608 = NL + "\t\t\t ";

-	protected final String TEXT_609 = ".createURI(";

-	protected final String TEXT_610 = ".";

-	protected final String TEXT_611 = "eNS_URI).appendFragment(\"";

-	protected final String TEXT_612 = "\")";

-	protected final String TEXT_613 = ",";

-	protected final String TEXT_614 = NL + "\t\t   });";

-	protected final String TEXT_615 = NL + "\t}" + NL;

-	protected final String TEXT_616 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate boolean isLoaded = false;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Laods the package and any sub-packages from their serialized form." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void loadPackage()" + NL + "\t{" + NL + "\t\tif (isLoaded) return;" + NL

-			+ "\t\tisLoaded = true;" + NL + "" + NL + "\t\t";

-	protected final String TEXT_617 = " url = getClass().getResource(packageFilename);" + NL + "\t\tif (url == null)"

-			+ NL + "\t\t{" + NL

-			+ "\t\t\tthrow new RuntimeException(\"Missing serialized package: \" + packageFilename);";

-	protected final String TEXT_618 = NL + "\t\t}" + NL + "\t\t";

-	protected final String TEXT_619 = " uri = ";

-	protected final String TEXT_620 = ".createURI(url.toString());" + NL + "\t\t";

-	protected final String TEXT_621 = " resource = new ";

-	protected final String TEXT_622 = "().createResource(uri);" + NL + "\t\ttry" + NL + "\t\t{" + NL

-			+ "\t\t\tresource.load(null);" + NL + "\t\t}" + NL + "\t\tcatch (";

-	protected final String TEXT_623 = " exception)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";

-	protected final String TEXT_624 = "(exception);" + NL + "\t\t}" + NL + "\t\tinitializeFromLoadedEPackage(this, (";

-	protected final String TEXT_625 = ")resource.getContents().get(0));" + NL + "\t\tcreateResource(eNS_URI);" + NL

-			+ "\t}" + NL;

-	protected final String TEXT_626 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate boolean isFixed = false;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Fixes up the loaded package, to make it appear as if it had been programmatically built." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void fixPackageContents()" + NL + "\t{" + NL + "\t\tif (isFixed) return;" + NL

-			+ "\t\tisFixed = true;" + NL + "\t\tfixEClassifiers();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Sets the instance class on the given classifier." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_627 = NL + "\t@Override";

-	protected final String TEXT_628 = NL + "\tprotected void fixInstanceClass(";

-	protected final String TEXT_629 = " eClassifier)" + NL + "\t{" + NL

-			+ "\t\tif (eClassifier.getInstanceClassName() == null)" + NL + "\t\t{";

-	protected final String TEXT_630 = NL + "\t\t\teClassifier.setInstanceClassName(\"";

-	protected final String TEXT_631 = ".\" + eClassifier.getName());";

-	protected final String TEXT_632 = NL + "\t\t\tsetGeneratedClassName(eClassifier);";

-	protected final String TEXT_633 = NL + "\t\t\tswitch (eClassifier.getClassifierID())" + NL + "\t\t\t{";

-	protected final String TEXT_634 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_635 = ":";

-	protected final String TEXT_636 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tbreak;" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t\tdefault:" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\teClassifier.setInstanceClassName(\"";

-	protected final String TEXT_637 = ".\" + eClassifier.getName());";

-	protected final String TEXT_638 = NL + "\t\t\t\t\tsetGeneratedClassName(eClassifier);" + NL + "\t\t\t\t\tbreak;"

-			+ NL + "\t\t\t\t}" + NL + "\t\t\t}";

-	protected final String TEXT_639 = NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_640 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_641 = " addEOperation(";

-	protected final String TEXT_642 = " owner, ";

-	protected final String TEXT_643 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"

-			+ NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_644 = " o = addEOperation(owner, type, name, lowerBound, upperBound);" + NL

-			+ "\t\to.setUnique(isUnique);" + NL + "\t\to.setOrdered(isOrdered);" + NL + "\t\treturn o;" + NL + "\t}"

-			+ NL + "\t";

-	protected final String TEXT_645 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_646 = " addEParameter(";

-	protected final String TEXT_647 = " owner, ";

-	protected final String TEXT_648 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"

-			+ NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_649 = " p = ecoreFactory.createEParameter();" + NL + "\t\tp.setEType(type);" + NL

-			+ "\t\tp.setName(name);" + NL + "\t\tp.setLowerBound(lowerBound);" + NL

-			+ "\t\tp.setUpperBound(upperBound);" + NL + "\t\tp.setUnique(isUnique);" + NL

-			+ "\t\tp.setOrdered(isOrdered);" + NL + "\t\towner.getEParameters().add(p);" + NL + "\t\treturn p;" + NL

-			+ "\t}" + NL + "\t";

-	protected final String TEXT_650 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * Defines literals for the meta objects that represent" + NL + "\t * <ul>" + NL

-			+ "\t *   <li>each class,</li>" + NL + "\t *   <li>each feature of each class,</li>";

-	protected final String TEXT_651 = NL + "\t *   <li>each operation of each class,</li>";

-	protected final String TEXT_652 = NL + "\t *   <li>each enum,</li>" + NL + "\t *   <li>and each data type</li>"

-			+ NL + "\t * </ul>" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_653 = "public ";

-	protected final String TEXT_654 = "interface Literals" + NL + "\t{";

-	protected final String TEXT_655 = NL + "\t\t/**";

-	protected final String TEXT_656 = NL + "\t\t * The meta object literal for the '{@link ";

-	protected final String TEXT_657 = " <em>";

-	protected final String TEXT_658 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";

-	protected final String TEXT_659 = NL + "\t\t * The meta object literal for the '{@link ";

-	protected final String TEXT_660 = " <em>";

-	protected final String TEXT_661 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";

-	protected final String TEXT_662 = NL + "\t\t * The meta object literal for the '{@link ";

-	protected final String TEXT_663 = " <em>";

-	protected final String TEXT_664 = "</em>}' enum." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";

-	protected final String TEXT_665 = NL + "\t\t * The meta object literal for the '<em>";

-	protected final String TEXT_666 = "</em>' data type." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->";

-	protected final String TEXT_667 = NL + "\t\t * @see ";

-	protected final String TEXT_668 = NL + "\t\t * @see ";

-	protected final String TEXT_669 = "#get";

-	protected final String TEXT_670 = "()" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";

-	protected final String TEXT_671 = " ";

-	protected final String TEXT_672 = " = eINSTANCE.get";

-	protected final String TEXT_673 = "();" + NL;

-	protected final String TEXT_674 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";

-	protected final String TEXT_675 = "</b></em>' ";

-	protected final String TEXT_676 = " feature." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";

-	protected final String TEXT_677 = " ";

-	protected final String TEXT_678 = " = eINSTANCE.get";

-	protected final String TEXT_679 = "();" + NL;

-	protected final String TEXT_680 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";

-	protected final String TEXT_681 = "</b></em>' operation." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";

-	protected final String TEXT_682 = " ";

-	protected final String TEXT_683 = " = eINSTANCE.get";

-	protected final String TEXT_684 = "();" + NL;

-	protected final String TEXT_685 = NL + "\t}" + NL;

-	protected final String TEXT_686 = NL + "} //";

-	protected final String TEXT_687 = NL;

-	protected final String TEXT_688 = NL;

-	protected final String TEXT_689 = NL;

-

-	public PackageClass() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_688);

-		stringBuffer.append(TEXT_689);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getModelDirectory();

-		packageName = genPackage.getReflectionClassPackageName();

-		className = genPackage.getPackageClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = ((Object[]) new Object[] { new Object[] {

-				genPackage,

-				genPackage.getGenModel().isSuppressEMFMetaData() || genPackage.getGenModel().isSuppressInterfaces() ? Boolean.TRUE

-						: Boolean.FALSE, Boolean.TRUE } })[0];

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2010 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		final GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];

-		final GenModel genModel = genPackage.getGenModel();

-		boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);

-		boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);

-		String publicStaticFinalFlag = isImplementation ? "public static final " : "";

-		boolean needsAddEOperation = false;

-		boolean needsAddEParameter = false;

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		if (isImplementation && !genModel.isSuppressInterfaces()) {

-			stringBuffer.append(TEXT_2);

-			stringBuffer.append(genPackage.getClassPackageName());

-			stringBuffer.append(TEXT_3);

-		} else {

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(genPackage.getReflectionPackageName());

-			stringBuffer.append(TEXT_5);

-		}

-		stringBuffer.append(TEXT_6);

-		genModel.markImportLocation(stringBuffer, genPackage);

-		if (isImplementation) {

-			genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Registry");

-			genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Descriptor");

-			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.EPackageImpl.EBasicWhiteList");

-			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");

-			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");

-			if (genPackage.isLiteralsInterface()) {

-				genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + ".Literals");

-			}

-			for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers())

-				genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + "."

-						+ genPackage.getClassifierID(genClassifier));

-		}

-		if (isInterface) {

-			stringBuffer.append(TEXT_7);

-			if (genModel.isOperationReflection()) {

-				stringBuffer.append(TEXT_8);

-			}

-			stringBuffer.append(TEXT_9);

-			if (genPackage.hasDocumentation()) {

-				stringBuffer.append(TEXT_10);

-				stringBuffer.append(genPackage.getDocumentation(genModel.getIndentation(stringBuffer)));

-				stringBuffer.append(TEXT_11);

-			}

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genPackage.getQualifiedFactoryInterfaceName());

-			if (!genModel.isSuppressEMFModelTags()) {

-				boolean first = true;

-				for (StringTokenizer stringTokenizer = new StringTokenizer(genPackage.getModelInfo(), "\n\r"); stringTokenizer

-						.hasMoreTokens();) {

-					String modelInfo = stringTokenizer.nextToken();

-					if (first) {

-						first = false;

-						stringBuffer.append(TEXT_13);

-						stringBuffer.append(modelInfo);

-					} else {

-						stringBuffer.append(TEXT_14);

-						stringBuffer.append(modelInfo);

-					}

-				}

-				if (first) {

-					stringBuffer.append(TEXT_15);

-				}

-			}

-			stringBuffer.append(TEXT_16);

-		} else {

-			stringBuffer.append(TEXT_17);

-		}

-		if (isImplementation) {

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(genPackage.getPackageClassName());

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl"));

-			if (!isInterface) {

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			}

-		} else {

-			stringBuffer.append(TEXT_21);

-			stringBuffer.append(genPackage.getPackageInterfaceName());

-			stringBuffer.append(TEXT_22);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-		}

-		stringBuffer.append(TEXT_23);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_26);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_27);

-		}

-		if (isInterface) {

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_29);

-			stringBuffer.append(genPackage.getPackageName());

-			stringBuffer.append(TEXT_30);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_31);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_32);

-			stringBuffer.append(genPackage.getNSURI());

-			stringBuffer.append(TEXT_33);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_34);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_35);

-			stringBuffer.append(genPackage.getNSName());

-			stringBuffer.append(TEXT_36);

-			stringBuffer.append(genModel.getNonNLS());

-			if (genPackage.isContentType()) {

-				stringBuffer.append(TEXT_37);

-				stringBuffer.append(publicStaticFinalFlag);

-				stringBuffer.append(genModel.getImportedName("java.lang.String"));

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genPackage.getContentTypeIdentifier());

-				stringBuffer.append(TEXT_39);

-				stringBuffer.append(genModel.getNonNLS());

-			}

-			stringBuffer.append(TEXT_40);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genPackage.getPackageInterfaceName());

-			stringBuffer.append(TEXT_41);

-			stringBuffer.append(genPackage.getQualifiedPackageClassName());

-			stringBuffer.append(TEXT_42);

-			for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {

-				stringBuffer.append(TEXT_43);

-				if (genClassifier instanceof GenClass) {

-					GenClass genClass = (GenClass) genClassifier;

-					if (!genClass.isInterface()) {

-						stringBuffer.append(TEXT_44);

-						stringBuffer.append(genClass.getQualifiedClassName());

-						stringBuffer.append(TEXT_45);

-						stringBuffer.append(genClass.getFormattedName());

-						stringBuffer.append(TEXT_46);

-						stringBuffer.append(genClass.getQualifiedClassName());

-					} else {

-						stringBuffer.append(TEXT_47);

-						stringBuffer.append(genClass.getQualifiedInterfaceName());

-						stringBuffer.append(TEXT_48);

-						stringBuffer.append(genClass.getFormattedName());

-						stringBuffer.append(TEXT_49);

-						stringBuffer.append(genClass.getQualifiedInterfaceName());

-					}

-				} else if (genClassifier instanceof GenEnum) {

-					GenEnum genEnum = (GenEnum) genClassifier;

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(genEnum.getQualifiedName());

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(genEnum.getFormattedName());

-					stringBuffer.append(TEXT_52);

-					stringBuffer.append(genEnum.getQualifiedName());

-				} else if (genClassifier instanceof GenDataType) {

-					GenDataType genDataType = (GenDataType) genClassifier;

-					stringBuffer.append(TEXT_53);

-					stringBuffer.append(genDataType.getFormattedName());

-					stringBuffer.append(TEXT_54);

-					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(genDataType.getRawInstanceClassName());

-					}

-				}

-				stringBuffer.append(TEXT_56);

-				stringBuffer.append(genPackage.getQualifiedPackageClassName());

-				stringBuffer.append(TEXT_57);

-				stringBuffer.append(genClassifier.getClassifierAccessorName());

-				stringBuffer.append(TEXT_58);

-				stringBuffer.append(publicStaticFinalFlag);

-				stringBuffer.append(TEXT_59);

-				stringBuffer.append(genPackage.getClassifierID(genClassifier));

-				stringBuffer.append(TEXT_60);

-				stringBuffer.append(genPackage.getClassifierValue(genClassifier));

-				stringBuffer.append(TEXT_61);

-				if (genClassifier instanceof GenClass) {

-					GenClass genClass = (GenClass) genClassifier;

-					for (GenFeature genFeature : genClass.getAllGenFeatures()) {

-						stringBuffer.append(TEXT_62);

-						stringBuffer.append(genFeature.getFormattedName());

-						stringBuffer.append(TEXT_63);

-						stringBuffer.append(genFeature.getFeatureKind());

-						stringBuffer.append(TEXT_64);

-						stringBuffer.append(publicStaticFinalFlag);

-						stringBuffer.append(TEXT_65);

-						stringBuffer.append(genClass.getFeatureID(genFeature));

-						stringBuffer.append(TEXT_66);

-						stringBuffer.append(genClass.getFeatureValue(genFeature));

-						stringBuffer.append(TEXT_67);

-					}

-					stringBuffer.append(TEXT_68);

-					stringBuffer.append(genClass.getFormattedName());

-					stringBuffer.append(TEXT_69);

-					stringBuffer.append(publicStaticFinalFlag);

-					stringBuffer.append(TEXT_70);

-					stringBuffer.append(genClass.getFeatureCountID());

-					stringBuffer.append(TEXT_71);

-					stringBuffer.append(genClass.getFeatureCountValue());

-					stringBuffer.append(TEXT_72);

-					if (genModel.isOperationReflection()) {

-						for (GenOperation genOperation : genClass.getAllGenOperations(false)) {

-							if (genClass.getOverrideGenOperation(genOperation) == null) {

-								stringBuffer.append(TEXT_73);

-								stringBuffer.append(genOperation.getFormattedName());

-								stringBuffer.append(TEXT_74);

-								stringBuffer.append(publicStaticFinalFlag);

-								stringBuffer.append(TEXT_75);

-								stringBuffer.append(genClass.getOperationID(genOperation, false));

-								stringBuffer.append(TEXT_76);

-								stringBuffer.append(genClass.getOperationValue(genOperation));

-								stringBuffer.append(TEXT_77);

-							}

-						}

-						stringBuffer.append(TEXT_78);

-						stringBuffer.append(genClass.getFormattedName());

-						stringBuffer.append(TEXT_79);

-						stringBuffer.append(publicStaticFinalFlag);

-						stringBuffer.append(TEXT_80);

-						stringBuffer.append(genClass.getOperationCountID());

-						stringBuffer.append(TEXT_81);

-						stringBuffer.append(genClass.getOperationCountValue());

-						stringBuffer.append(TEXT_82);

-					}

-				}

-			}

-		}

-		if (isImplementation) {

-			if (genPackage.isLoadingInitialization()) {

-				stringBuffer.append(TEXT_83);

-				stringBuffer.append(genPackage.getSerializedPackageFilename());

-				stringBuffer.append(TEXT_84);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(TEXT_85);

-			}

-			for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-				stringBuffer.append(TEXT_86);

-				stringBuffer.append(genClassifier.getImportedMetaType());

-				stringBuffer.append(TEXT_87);

-				stringBuffer.append(genClassifier.getClassifierInstanceName());

-				stringBuffer.append(TEXT_88);

-			}

-			stringBuffer.append(TEXT_89);

-			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-			stringBuffer.append(TEXT_90);

-			stringBuffer.append(genPackage.getPackageClassName());

-			stringBuffer.append(TEXT_91);

-			stringBuffer.append(genPackage.getQualifiedEFactoryInstanceAccessor());

-			stringBuffer.append(TEXT_92);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_93);

-			if (!genPackage.isLoadedInitialization()) {

-				stringBuffer.append(TEXT_94);

-			}

-			stringBuffer.append(TEXT_95);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_96);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_97);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_98);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_99);

-			if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

-				stringBuffer.append(TEXT_100);

-			}

-			stringBuffer.append(TEXT_101);

-			stringBuffer.append(genPackage.getPackageClassName());

-			stringBuffer.append(TEXT_102);

-			stringBuffer.append(genPackage.getBasicPackageName());

-			stringBuffer.append(TEXT_103);

-			stringBuffer.append(genPackage.getPackageClassName());

-			stringBuffer.append(TEXT_104);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_105);

-			stringBuffer.append(genPackage.getPackageClassName());

-			stringBuffer.append(TEXT_106);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_107);

-			stringBuffer.append(genPackage.getPackageClassName());

-			stringBuffer.append(TEXT_108);

-			if (!genPackage.getPackageSimpleDependencies().isEmpty()) {

-				stringBuffer.append(TEXT_109);

-				for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {

-					stringBuffer.append(TEXT_110);

-					stringBuffer.append(dep.getImportedPackageInterfaceName());

-					stringBuffer.append(TEXT_111);

-				}

-				stringBuffer.append(TEXT_112);

-			}

-			if (!genPackage.getPackageInterDependencies().isEmpty()) {

-				stringBuffer.append(TEXT_113);

-				for (GenPackage interdep : genPackage.getPackageInterDependencies()) {

-					stringBuffer.append(TEXT_114);

-					stringBuffer.append(interdep.getImportedPackageClassName());

-					stringBuffer.append(TEXT_115);

-					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

-					stringBuffer.append(TEXT_116);

-					stringBuffer.append(interdep.getImportedPackageClassName());

-					stringBuffer.append(TEXT_117);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-					stringBuffer.append(TEXT_118);

-					stringBuffer.append(interdep.getImportedPackageInterfaceName());

-					stringBuffer.append(TEXT_119);

-					stringBuffer.append(interdep.getImportedPackageClassName());

-					stringBuffer.append(TEXT_120);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-					stringBuffer.append(TEXT_121);

-					stringBuffer.append(interdep.getImportedPackageInterfaceName());

-					stringBuffer.append(TEXT_122);

-					stringBuffer.append(interdep.getImportedPackageInterfaceName());

-					stringBuffer.append(TEXT_123);

-				}

-				stringBuffer.append(TEXT_124);

-			}

-			if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {

-				stringBuffer.append(TEXT_125);

-				if (genPackage.isLoadingInitialization()) {

-					stringBuffer.append(TEXT_126);

-					stringBuffer.append(genPackage.getBasicPackageName());

-					stringBuffer.append(TEXT_127);

-				}

-				for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {

-					if (interdep.isLoadingInitialization()) {

-						stringBuffer.append(TEXT_128);

-						stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

-						stringBuffer.append(TEXT_129);

-					}

-				}

-				stringBuffer.append(TEXT_130);

-			}

-			if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {

-				stringBuffer.append(TEXT_131);

-				if (!genPackage.isLoadedInitialization()) {

-					stringBuffer.append(TEXT_132);

-					stringBuffer.append(genPackage.getBasicPackageName());

-					stringBuffer.append(TEXT_133);

-				}

-				for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {

-					stringBuffer.append(TEXT_134);

-					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

-					stringBuffer.append(TEXT_135);

-				}

-				stringBuffer.append(TEXT_136);

-				if (!genPackage.isLoadedInitialization()) {

-					stringBuffer.append(TEXT_137);

-					stringBuffer.append(genPackage.getBasicPackageName());

-					stringBuffer.append(TEXT_138);

-				}

-				for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {

-					stringBuffer.append(TEXT_139);

-					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

-					stringBuffer.append(TEXT_140);

-				}

-				stringBuffer.append(TEXT_141);

-			}

-			if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {

-				stringBuffer.append(TEXT_142);

-				if (genPackage.isLoadedInitialization()) {

-					stringBuffer.append(TEXT_143);

-					stringBuffer.append(genPackage.getBasicPackageName());

-					stringBuffer.append(TEXT_144);

-				}

-				for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {

-					stringBuffer.append(TEXT_145);

-					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

-					stringBuffer.append(TEXT_146);

-				}

-				stringBuffer.append(TEXT_147);

-			}

-			if (genPackage.hasConstraints()) {

-				stringBuffer.append(TEXT_148);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));

-				stringBuffer.append(TEXT_149);

-				stringBuffer.append(genPackage.getBasicPackageName());

-				stringBuffer.append(TEXT_150);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));

-				stringBuffer.append(TEXT_151);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));

-				stringBuffer.append(TEXT_152);

-				stringBuffer.append(genPackage.getImportedValidatorClassName());

-				stringBuffer.append(TEXT_153);

-			}

-			if (!genPackage.isEcorePackage()) {

-				stringBuffer.append(TEXT_154);

-				stringBuffer.append(genPackage.getBasicPackageName());

-				stringBuffer.append(TEXT_155);

-			}

-			stringBuffer.append(TEXT_156);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_157);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_158);

-			stringBuffer.append(genPackage.getBasicPackageName());

-			stringBuffer.append(TEXT_159);

-			stringBuffer.append(genPackage.getBasicPackageName());

-			stringBuffer.append(TEXT_160);

-			if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

-				stringBuffer.append(TEXT_161);

-				Set<String> helpers = new HashSet<String>();

-				for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-					if (genClassifier instanceof GenClass) {

-						GenClass genClass = (GenClass) genClassifier;

-						if (!genClass.isDynamic()) {

-							String theClass = genClass.isMapEntry() ? genClass.getImportedClassName() : genClass

-									.getRawImportedInterfaceName();

-							if (helpers.add(theClass)) {

-								stringBuffer.append(TEXT_162);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

-								stringBuffer.append(TEXT_163);

-								stringBuffer.append(theClass);

-								stringBuffer.append(TEXT_164);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

-								stringBuffer.append(TEXT_165);

-								stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName() : genClass

-										.getRawImportedInterfaceName() + genClass.getInterfaceWildTypeArguments());

-								stringBuffer.append(TEXT_166);

-								stringBuffer.append(theClass);

-								stringBuffer.append(TEXT_167);

-							}

-						}

-					} else if (genClassifier instanceof GenDataType) {

-						GenDataType genDataType = (GenDataType) genClassifier;

-						if (!genDataType.isPrimitiveType() && !genDataType.isObjectType()) {

-							String theClass = genDataType.getRawImportedInstanceClassName();

-							if (helpers.add(theClass)) {

-								stringBuffer.append(TEXT_168);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

-								stringBuffer.append(TEXT_169);

-								stringBuffer.append(theClass);

-								stringBuffer.append(TEXT_170);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

-								stringBuffer.append(TEXT_171);

-								stringBuffer.append(theClass);

-								stringBuffer.append(TEXT_172);

-								if (genDataType.isArrayType()) {

-									String componentType = theClass;

-									String indices = "";

-									while (componentType.endsWith("[]")) {

-										componentType = componentType.substring(0, componentType.length() - 2);

-										indices += "[]";

-									}

-									stringBuffer.append(TEXT_173);

-									stringBuffer.append(componentType);

-									stringBuffer.append(TEXT_174);

-									stringBuffer.append(indices);

-									stringBuffer.append(TEXT_175);

-								} else {

-									stringBuffer.append(TEXT_176);

-									stringBuffer.append(theClass);

-									stringBuffer.append(TEXT_177);

-								}

-								stringBuffer.append(TEXT_178);

-							}

-						}

-					}

-				}

-				stringBuffer.append(TEXT_179);

-				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable"));

-				stringBuffer.append(TEXT_180);

-				for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-					if (genClassifier instanceof GenClass) {

-						GenClass genClass = (GenClass) genClassifier;

-						if (!genClass.isDynamic()) {

-							stringBuffer.append(TEXT_181);

-							stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName() : genClass

-									.getImportedWildcardInstanceClassName());

-							stringBuffer.append(TEXT_182);

-							stringBuffer.append(genClass.getSafeUncapName());

-							stringBuffer.append(TEXT_183);

-						}

-					} else if (genClassifier instanceof GenDataType) {

-						GenDataType genDataType = (GenDataType) genClassifier;

-						if (!genDataType.isObjectType() && genDataType.isSerializable()) {

-							stringBuffer.append(TEXT_184);

-							stringBuffer.append(genDataType.getImportedWildcardInstanceClassName());

-							stringBuffer.append(TEXT_185);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_186);

-						}

-					}

-				}

-				stringBuffer.append(TEXT_187);

-			}

-			stringBuffer.append(TEXT_188);

-		}

-		if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE

-			stringBuffer.append(TEXT_189);

-		}

-		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-			if (isInterface) {

-				stringBuffer.append(TEXT_190);

-				if (genClassifier instanceof GenClass) {

-					GenClass genClass = (GenClass) genClassifier;

-					stringBuffer.append(TEXT_191);

-					stringBuffer.append(genClass.getQualifiedInterfaceName());

-					stringBuffer.append(TEXT_192);

-					stringBuffer.append(genClass.getFormattedName());

-					stringBuffer.append(TEXT_193);

-					stringBuffer.append(genClass.getFormattedName());

-					stringBuffer.append(TEXT_194);

-					stringBuffer.append(genClass.getQualifiedInterfaceName());

-					if (!genModel.isSuppressEMFModelTags() && (genClass.isExternalInterface() || genClass.isDynamic())) {

-						boolean first = true;

-						for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer

-								.hasMoreTokens();) {

-							String modelInfo = stringTokenizer.nextToken();

-							if (first) {

-								first = false;

-								stringBuffer.append(TEXT_195);

-								stringBuffer.append(modelInfo);

-							} else {

-								stringBuffer.append(TEXT_196);

-								stringBuffer.append(modelInfo);

-							}

-						}

-						if (first) {

-							stringBuffer.append(TEXT_197);

-						}

-					}

-				} else if (genClassifier instanceof GenEnum) {

-					GenEnum genEnum = (GenEnum) genClassifier;

-					stringBuffer.append(TEXT_198);

-					stringBuffer.append(genEnum.getQualifiedName());

-					stringBuffer.append(TEXT_199);

-					stringBuffer.append(genEnum.getFormattedName());

-					stringBuffer.append(TEXT_200);

-					stringBuffer.append(genEnum.getFormattedName());

-					stringBuffer.append(TEXT_201);

-					stringBuffer.append(genEnum.getQualifiedName());

-				} else if (genClassifier instanceof GenDataType) {

-					GenDataType genDataType = (GenDataType) genClassifier;

-					if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {

-						stringBuffer.append(TEXT_202);

-						stringBuffer.append(genDataType.getFormattedName());

-						stringBuffer.append(TEXT_203);

-					} else {

-						stringBuffer.append(TEXT_204);

-						stringBuffer.append(genDataType.getRawInstanceClassName());

-						stringBuffer.append(TEXT_205);

-						stringBuffer.append(genDataType.getFormattedName());

-						stringBuffer.append(TEXT_206);

-					}

-					stringBuffer.append(TEXT_207);

-					stringBuffer.append(genDataType.getFormattedName());

-					stringBuffer.append(TEXT_208);

-					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {

-						stringBuffer.append(TEXT_209);

-						stringBuffer.append(genDataType.getRawInstanceClassName());

-					}

-					if (!genModel.isSuppressEMFModelTags()) {

-						boolean first = true;

-						for (StringTokenizer stringTokenizer = new StringTokenizer(genDataType.getModelInfo(), "\n\r"); stringTokenizer

-								.hasMoreTokens();) {

-							String modelInfo = stringTokenizer.nextToken();

-							if (first) {

-								first = false;

-								stringBuffer.append(TEXT_210);

-								stringBuffer.append(modelInfo);

-							} else {

-								stringBuffer.append(TEXT_211);

-								stringBuffer.append(modelInfo);

-							}

-						}

-						if (first) {

-							stringBuffer.append(TEXT_212);

-						}

-					}

-				}

-				stringBuffer.append(TEXT_213);

-			} else {

-				stringBuffer.append(TEXT_214);

-			}

-			if (isImplementation) {

-				stringBuffer.append(TEXT_215);

-				stringBuffer.append(genClassifier.getImportedMetaType());

-				stringBuffer.append(TEXT_216);

-				stringBuffer.append(genClassifier.getClassifierAccessorName());

-				stringBuffer.append(TEXT_217);

-				if (genPackage.isLoadedInitialization()) {

-					stringBuffer.append(TEXT_218);

-					stringBuffer.append(genClassifier.getClassifierInstanceName());

-					stringBuffer.append(TEXT_219);

-					stringBuffer.append(genClassifier.getClassifierInstanceName());

-					stringBuffer.append(TEXT_220);

-					stringBuffer.append(genClassifier.getImportedMetaType());

-					stringBuffer.append(TEXT_221);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-					stringBuffer.append(TEXT_222);

-					stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-					stringBuffer.append(TEXT_223);

-					stringBuffer.append(genPackage.getLocalClassifierIndex(genClassifier));

-					stringBuffer.append(TEXT_224);

-				}

-				stringBuffer.append(TEXT_225);

-				stringBuffer.append(genClassifier.getClassifierInstanceName());

-				stringBuffer.append(TEXT_226);

-			} else {

-				stringBuffer.append(TEXT_227);

-				stringBuffer.append(genClassifier.getImportedMetaType());

-				stringBuffer.append(TEXT_228);

-				stringBuffer.append(genClassifier.getClassifierAccessorName());

-				stringBuffer.append(TEXT_229);

-			}

-			if (genClassifier instanceof GenClass) {

-				GenClass genClass = (GenClass) genClassifier;

-				for (GenFeature genFeature : genClass.getGenFeatures()) {

-					if (isInterface) {

-						stringBuffer.append(TEXT_230);

-						stringBuffer.append(genFeature.getFeatureKind());

-						stringBuffer.append(TEXT_231);

-						stringBuffer.append(genClass.getQualifiedInterfaceName());

-						if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {

-							stringBuffer.append(TEXT_232);

-							stringBuffer.append(genFeature.getGetAccessor());

-						}

-						stringBuffer.append(TEXT_233);

-						stringBuffer.append(genFeature.getFormattedName());

-						stringBuffer.append(TEXT_234);

-						stringBuffer.append(genFeature.getFeatureKind());

-						stringBuffer.append(TEXT_235);

-						stringBuffer.append(genFeature.getFormattedName());

-						stringBuffer.append(TEXT_236);

-						stringBuffer.append(genClass.getQualifiedInterfaceName());

-						if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {

-							stringBuffer.append(TEXT_237);

-							stringBuffer.append(genFeature.getGetAccessor());

-							stringBuffer.append(TEXT_238);

-						}

-						stringBuffer.append(TEXT_239);

-						stringBuffer.append(genClass.getClassifierAccessorName());

-						stringBuffer.append(TEXT_240);

-					} else {

-						stringBuffer.append(TEXT_241);

-					}

-					if (isImplementation) {

-						stringBuffer.append(TEXT_242);

-						stringBuffer.append(genFeature.getImportedMetaType());

-						stringBuffer.append(TEXT_243);

-						stringBuffer.append(genFeature.getFeatureAccessorName());

-						stringBuffer.append(TEXT_244);

-						if (!genPackage.isLoadedInitialization()) {

-							stringBuffer.append(TEXT_245);

-							stringBuffer.append(genFeature.getImportedMetaType());

-							stringBuffer.append(TEXT_246);

-							stringBuffer.append(genClass.getClassifierInstanceName());

-							stringBuffer.append(TEXT_247);

-							stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));

-							stringBuffer.append(TEXT_248);

-						} else {

-							stringBuffer.append(TEXT_249);

-							stringBuffer.append(genFeature.getImportedMetaType());

-							stringBuffer.append(TEXT_250);

-							stringBuffer.append(genClassifier.getClassifierAccessorName());

-							stringBuffer.append(TEXT_251);

-							stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));

-							stringBuffer.append(TEXT_252);

-						}

-						stringBuffer.append(TEXT_253);

-					} else {

-						stringBuffer.append(TEXT_254);

-						stringBuffer.append(genFeature.getImportedMetaType());

-						stringBuffer.append(TEXT_255);

-						stringBuffer.append(genFeature.getFeatureAccessorName());

-						stringBuffer.append(TEXT_256);

-					}

-					stringBuffer.append(TEXT_257);

-				}

-				if (genModel.isOperationReflection()) {

-					for (GenOperation genOperation : genClass.getGenOperations()) {

-						if (isInterface) {

-							stringBuffer.append(TEXT_258);

-							stringBuffer.append(genClass.getQualifiedInterfaceName());

-							stringBuffer.append(TEXT_259);

-							stringBuffer.append(genOperation.getName());

-							stringBuffer.append(TEXT_260);

-							stringBuffer.append(genOperation.getParameterTypes(", "));

-							stringBuffer.append(TEXT_261);

-							stringBuffer.append(genOperation.getFormattedName());

-							stringBuffer.append(TEXT_262);

-							stringBuffer.append(genOperation.getFormattedName());

-							stringBuffer.append(TEXT_263);

-							stringBuffer.append(genClass.getQualifiedInterfaceName());

-							stringBuffer.append(TEXT_264);

-							stringBuffer.append(genOperation.getName());

-							stringBuffer.append(TEXT_265);

-							stringBuffer.append(genOperation.getParameterTypes(", "));

-							stringBuffer.append(TEXT_266);

-						} else {

-							stringBuffer.append(TEXT_267);

-						}

-						if (isImplementation) {

-							stringBuffer.append(TEXT_268);

-							stringBuffer.append(genOperation.getImportedMetaType());

-							stringBuffer.append(TEXT_269);

-							stringBuffer.append(genOperation.getOperationAccessorName());

-							stringBuffer.append(TEXT_270);

-							if (!genPackage.isLoadedInitialization()) {

-								stringBuffer.append(TEXT_271);

-								stringBuffer.append(genClass.getClassifierInstanceName());

-								stringBuffer.append(TEXT_272);

-								stringBuffer.append(genClass.getLocalOperationIndex(genOperation));

-								stringBuffer.append(TEXT_273);

-							} else {

-								stringBuffer.append(TEXT_274);

-								stringBuffer.append(genClassifier.getClassifierAccessorName());

-								stringBuffer.append(TEXT_275);

-								stringBuffer.append(genClass.getLocalOperationIndex(genOperation));

-								stringBuffer.append(TEXT_276);

-							}

-							stringBuffer.append(TEXT_277);

-						} else {

-							stringBuffer.append(TEXT_278);

-							stringBuffer.append(genOperation.getImportedMetaType());

-							stringBuffer.append(TEXT_279);

-							stringBuffer.append(genOperation.getOperationAccessorName());

-							stringBuffer.append(TEXT_280);

-						}

-						stringBuffer.append(TEXT_281);

-					}

-				}

-			}

-		}

-		if (isInterface) {

-			stringBuffer.append(TEXT_282);

-		} else {

-			stringBuffer.append(TEXT_283);

-		}

-		if (isImplementation) {

-			stringBuffer.append(TEXT_284);

-			stringBuffer.append(genPackage.getImportedFactoryInterfaceName());

-			stringBuffer.append(TEXT_285);

-			stringBuffer.append(genPackage.getFactoryName());

-			stringBuffer.append(TEXT_286);

-			stringBuffer.append(genPackage.getImportedFactoryInterfaceName());

-			stringBuffer.append(TEXT_287);

-		} else {

-			stringBuffer.append(TEXT_288);

-			stringBuffer.append(genPackage.getFactoryInterfaceName());

-			stringBuffer.append(TEXT_289);

-			stringBuffer.append(genPackage.getFactoryName());

-			stringBuffer.append(TEXT_290);

-		}

-		stringBuffer.append(TEXT_291);

-		if (isImplementation) {

-			if (!genPackage.isLoadedInitialization()) {

-				stringBuffer.append(TEXT_292);

-				if (!genPackage.getGenClasses().isEmpty()) {

-					stringBuffer.append(TEXT_293);

-					for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {

-						GenClass genClass = c.next();

-						stringBuffer.append(TEXT_294);

-						stringBuffer.append(genClass.getClassifierInstanceName());

-						stringBuffer.append(TEXT_295);

-						stringBuffer.append(genClass.getMetaType());

-						stringBuffer.append(TEXT_296);

-						stringBuffer.append(genClass.getClassifierID());

-						stringBuffer.append(TEXT_297);

-						for (GenFeature genFeature : genClass.getGenFeatures()) {

-							stringBuffer.append(TEXT_298);

-							stringBuffer.append(genFeature.getMetaType());

-							stringBuffer.append(TEXT_299);

-							stringBuffer.append(genClass.getClassifierInstanceName());

-							stringBuffer.append(TEXT_300);

-							stringBuffer.append(genClass.getFeatureID(genFeature));

-							stringBuffer.append(TEXT_301);

-						}

-						if (genModel.isOperationReflection()) {

-							for (GenOperation genOperation : genClass.getGenOperations()) {

-								stringBuffer.append(TEXT_302);

-								stringBuffer.append(genClass.getClassifierInstanceName());

-								stringBuffer.append(TEXT_303);

-								stringBuffer.append(genClass.getOperationID(genOperation, false));

-								stringBuffer.append(TEXT_304);

-							}

-						}

-						if (c.hasNext()) {

-							stringBuffer.append(TEXT_305);

-						}

-					}

-				}

-				if (!genPackage.getGenEnums().isEmpty()) {

-					stringBuffer.append(TEXT_306);

-					for (GenEnum genEnum : genPackage.getGenEnums()) {

-						stringBuffer.append(TEXT_307);

-						stringBuffer.append(genEnum.getClassifierInstanceName());

-						stringBuffer.append(TEXT_308);

-						stringBuffer.append(genEnum.getClassifierID());

-						stringBuffer.append(TEXT_309);

-					}

-				}

-				if (!genPackage.getGenDataTypes().isEmpty()) {

-					stringBuffer.append(TEXT_310);

-					for (GenDataType genDataType : genPackage.getGenDataTypes()) {

-						stringBuffer.append(TEXT_311);

-						stringBuffer.append(genDataType.getClassifierInstanceName());

-						stringBuffer.append(TEXT_312);

-						stringBuffer.append(genDataType.getClassifierID());

-						stringBuffer.append(TEXT_313);

-					}

-				}

-				stringBuffer.append(TEXT_314);

-

-				///////////////////////

-				class Information {

-					@SuppressWarnings("unused")

-					EGenericType eGenericType;

-					int depth;

-					String type;

-					String accessor;

-				}

-

-				class InformationIterator {

-					Iterator<?> iterator;

-

-					InformationIterator(EGenericType eGenericType) {

-						iterator = EcoreUtil.getAllContents(Collections.singleton(eGenericType));

-					}

-

-					boolean hasNext() {

-						return iterator.hasNext();

-					}

-

-					Information next() {

-						Information information = new Information();

-						EGenericType eGenericType = information.eGenericType = (EGenericType) iterator.next();

-						for (EObject container = eGenericType.eContainer(); container instanceof EGenericType; container = container

-								.eContainer()) {

-							++information.depth;

-						}

-						if (eGenericType.getEClassifier() != null) {

-							GenClassifier genClassifier = genModel.findGenClassifier(eGenericType.getEClassifier());

-							information.type = genPackage.getPackageInstanceVariable(genClassifier.getGenPackage())

-									+ ".get" + genClassifier.getClassifierAccessorName() + "()";

-						} else if (eGenericType.getETypeParameter() != null) {

-							ETypeParameter eTypeParameter = eGenericType.getETypeParameter();

-							if (eTypeParameter.eContainer() instanceof EClass) {

-								information.type = genModel.findGenClassifier((EClass) eTypeParameter.eContainer())

-										.getClassifierInstanceName() + "_" + eGenericType.getETypeParameter().getName();

-							} else {

-								information.type = "t"

-										+ (((EOperation) eTypeParameter.eContainer()).getETypeParameters().indexOf(

-												eTypeParameter) + 1);

-							}

-						} else {

-							information.type = "";

-						}

-						if (information.depth > 0) {

-							if (eGenericType.eContainmentFeature().isMany()) {

-								information.accessor = "getE"

-										+ eGenericType.eContainmentFeature().getName().substring(1) + "().add";

-							} else {

-								information.accessor = "setE"

-										+ eGenericType.eContainmentFeature().getName().substring(1);

-							}

-						}

-						return information;

-					}

-				}

-				///////////////////////

-				int maxGenericTypeAssignment = 0;

-

-				stringBuffer.append(TEXT_315);

-				if (!genPackage.getPackageInitializationDependencies().isEmpty()) {

-					stringBuffer.append(TEXT_316);

-					for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {

-						stringBuffer.append(TEXT_317);

-						stringBuffer.append(dep.getImportedPackageInterfaceName());

-						stringBuffer.append(TEXT_318);

-						stringBuffer.append(genPackage.getPackageInstanceVariable(dep));

-						stringBuffer.append(TEXT_319);

-						stringBuffer.append(dep.getImportedPackageInterfaceName());

-						stringBuffer.append(TEXT_320);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-						stringBuffer.append(TEXT_321);

-						stringBuffer.append(dep.getImportedPackageInterfaceName());

-						stringBuffer.append(TEXT_322);

-					}

-				}

-				if (!genPackage.getSubGenPackages().isEmpty()) {

-					stringBuffer.append(TEXT_323);

-					for (GenPackage sub : genPackage.getSubGenPackages()) {

-						stringBuffer.append(TEXT_324);

-						stringBuffer.append(genPackage.getPackageInstanceVariable(sub));

-						stringBuffer.append(TEXT_325);

-					}

-				}

-				if (!genPackage.getGenClasses().isEmpty()) {

-					boolean firstOperationAssignment = true;

-					int maxTypeParameterAssignment = 0;

-					if (genModel.useGenerics()) {

-						stringBuffer.append(TEXT_326);

-						for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-							for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {

-								if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()

-										|| genTypeParameter.isUsed()) {

-									stringBuffer.append(TEXT_327);

-									stringBuffer.append(genModel

-											.getImportedName("org.eclipse.emf.ecore.ETypeParameter"));

-									stringBuffer.append(TEXT_328);

-									stringBuffer.append(genClassifier.getClassifierInstanceName());

-									stringBuffer.append(TEXT_329);

-									stringBuffer.append(genTypeParameter.getName());

-									stringBuffer.append(TEXT_330);

-									stringBuffer.append(genClassifier.getClassifierInstanceName());

-									stringBuffer.append(TEXT_331);

-									stringBuffer.append(genTypeParameter.getName());

-									stringBuffer.append(TEXT_332);

-									stringBuffer.append(genModel.getNonNLS());

-								} else {

-									stringBuffer.append(TEXT_333);

-									stringBuffer.append(genClassifier.getClassifierInstanceName());

-									stringBuffer.append(TEXT_334);

-									stringBuffer.append(genTypeParameter.getName());

-									stringBuffer.append(TEXT_335);

-									stringBuffer.append(genModel.getNonNLS());

-								}

-							}

-						}

-					}

-					if (genModel.useGenerics()) {

-						stringBuffer.append(TEXT_336);

-						for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-							for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {

-								for (EGenericType bound : genTypeParameter.getEcoreTypeParameter().getEBounds()) {

-									for (InformationIterator i = new InformationIterator(bound); i.hasNext();) {

-										Information info = i.next();

-										String prefix = "";

-										if (maxGenericTypeAssignment <= info.depth) {

-											++maxGenericTypeAssignment;

-											prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")

-													+ " ";

-										}

-										stringBuffer.append(TEXT_337);

-										stringBuffer.append(prefix);

-										stringBuffer.append(TEXT_338);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_339);

-										stringBuffer.append(info.type);

-										stringBuffer.append(TEXT_340);

-										if (info.depth > 0) {

-											stringBuffer.append(TEXT_341);

-											stringBuffer.append(info.depth);

-											stringBuffer.append(TEXT_342);

-											stringBuffer.append(info.accessor);

-											stringBuffer.append(TEXT_343);

-											stringBuffer.append(info.depth + 1);

-											stringBuffer.append(TEXT_344);

-										}

-									}

-									stringBuffer.append(TEXT_345);

-									stringBuffer.append(genClassifier.getClassifierInstanceName());

-									stringBuffer.append(TEXT_346);

-									stringBuffer.append(genTypeParameter.getName());

-									stringBuffer.append(TEXT_347);

-								}

-							}

-						}

-					}

-					stringBuffer.append(TEXT_348);

-					for (GenClass genClass : genPackage.getGenClasses()) {

-						if (!genClass.hasGenericSuperTypes()) {

-							for (GenClass baseGenClass : genClass.getBaseGenClasses()) {

-								stringBuffer.append(TEXT_349);

-								stringBuffer.append(genClass.getClassifierInstanceName());

-								stringBuffer.append(TEXT_350);

-								stringBuffer

-										.append(genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage()));

-								stringBuffer.append(TEXT_351);

-								stringBuffer.append(baseGenClass.getClassifierAccessorName());

-								stringBuffer.append(TEXT_352);

-							}

-						} else {

-							for (EGenericType superType : genClass.getEcoreClass().getEGenericSuperTypes()) {

-								for (InformationIterator i = new InformationIterator(superType); i.hasNext();) {

-									Information info = i.next();

-									String prefix = "";

-									if (maxGenericTypeAssignment <= info.depth) {

-										++maxGenericTypeAssignment;

-										prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";

-									}

-									stringBuffer.append(TEXT_353);

-									stringBuffer.append(prefix);

-									stringBuffer.append(TEXT_354);

-									stringBuffer.append(info.depth + 1);

-									stringBuffer.append(TEXT_355);

-									stringBuffer.append(info.type);

-									stringBuffer.append(TEXT_356);

-									if (info.depth > 0) {

-										stringBuffer.append(TEXT_357);

-										stringBuffer.append(info.depth);

-										stringBuffer.append(TEXT_358);

-										stringBuffer.append(info.accessor);

-										stringBuffer.append(TEXT_359);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_360);

-									}

-								}

-								stringBuffer.append(TEXT_361);

-								stringBuffer.append(genClass.getClassifierInstanceName());

-								stringBuffer.append(TEXT_362);

-							}

-						}

-					}

-					stringBuffer.append(TEXT_363);

-					if (genModel.isOperationReflection()) {

-						stringBuffer.append(TEXT_364);

-					} else {

-						stringBuffer.append(TEXT_365);

-					}

-					for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {

-						GenClass genClass = c.next();

-						boolean hasInstanceTypeName = genModel.useGenerics()

-								&& genClass.getEcoreClass().getInstanceTypeName() != null

-								&& genClass.getEcoreClass().getInstanceTypeName().contains("<");

-						stringBuffer.append(TEXT_366);

-						stringBuffer.append(genClass.getClassifierInstanceName());

-						stringBuffer.append(TEXT_367);

-						if (genClass.isDynamic()) {

-							stringBuffer.append(TEXT_368);

-						} else {

-							stringBuffer.append(genClass.getRawImportedInterfaceName());

-							stringBuffer.append(TEXT_369);

-						}

-						stringBuffer.append(TEXT_370);

-						stringBuffer.append(genClass.getName());

-						stringBuffer.append(TEXT_371);

-						stringBuffer.append(genClass.getAbstractFlag());

-						stringBuffer.append(TEXT_372);

-						stringBuffer.append(genClass.getInterfaceFlag());

-						stringBuffer.append(TEXT_373);

-						stringBuffer.append(genClass.getGeneratedInstanceClassFlag());

-						if (hasInstanceTypeName) {

-							stringBuffer.append(TEXT_374);

-							stringBuffer.append(genClass.getEcoreClass().getInstanceTypeName());

-							stringBuffer.append(TEXT_375);

-						}

-						stringBuffer.append(TEXT_376);

-						stringBuffer.append(genModel.getNonNLS());

-						if (hasInstanceTypeName) {

-							stringBuffer.append(genModel.getNonNLS(2));

-						}

-						for (GenFeature genFeature : genClass.getGenFeatures()) {

-							if (genFeature.hasGenericType()) {

-								for (InformationIterator i = new InformationIterator(genFeature.getEcoreFeature()

-										.getEGenericType()); i.hasNext();) {

-									Information info = i.next();

-									String prefix = "";

-									if (maxGenericTypeAssignment <= info.depth) {

-										++maxGenericTypeAssignment;

-										prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";

-									}

-									stringBuffer.append(TEXT_377);

-									stringBuffer.append(prefix);

-									stringBuffer.append(TEXT_378);

-									stringBuffer.append(info.depth + 1);

-									stringBuffer.append(TEXT_379);

-									stringBuffer.append(info.type);

-									stringBuffer.append(TEXT_380);

-									if (info.depth > 0) {

-										stringBuffer.append(TEXT_381);

-										stringBuffer.append(info.depth);

-										stringBuffer.append(TEXT_382);

-										stringBuffer.append(info.accessor);

-										stringBuffer.append(TEXT_383);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_384);

-									}

-								}

-							}

-							if (genFeature.isReferenceType()) {

-								GenFeature reverseGenFeature = genFeature.getReverse();

-								String reverse = reverseGenFeature == null ? "null" : genPackage

-										.getPackageInstanceVariable(reverseGenFeature.getGenPackage())

-										+ ".get"

-										+ reverseGenFeature.getFeatureAccessorName() + "()";

-								stringBuffer.append(TEXT_385);

-								stringBuffer.append(genFeature.getFeatureAccessorName());

-								stringBuffer.append(TEXT_386);

-								if (genFeature.hasGenericType()) {

-									stringBuffer.append(TEXT_387);

-								} else {

-									stringBuffer.append(genPackage.getPackageInstanceVariable(genFeature

-											.getTypeGenPackage()));

-									stringBuffer.append(TEXT_388);

-									stringBuffer.append(genFeature.getTypeClassifierAccessorName());

-									stringBuffer.append(TEXT_389);

-								}

-								stringBuffer.append(TEXT_390);

-								stringBuffer.append(reverse);

-								stringBuffer.append(TEXT_391);

-								stringBuffer.append(genFeature.getName());

-								stringBuffer.append(TEXT_392);

-								stringBuffer.append(genFeature.getDefaultValue());

-								stringBuffer.append(TEXT_393);

-								stringBuffer.append(genFeature.getLowerBound());

-								stringBuffer.append(TEXT_394);

-								stringBuffer.append(genFeature.getUpperBound());

-								stringBuffer.append(TEXT_395);

-								stringBuffer.append(genFeature.getContainerClass());

-								stringBuffer.append(TEXT_396);

-								stringBuffer.append(genFeature.getTransientFlag());

-								stringBuffer.append(TEXT_397);

-								stringBuffer.append(genFeature.getVolatileFlag());

-								stringBuffer.append(TEXT_398);

-								stringBuffer.append(genFeature.getChangeableFlag());

-								stringBuffer.append(TEXT_399);

-								stringBuffer.append(genFeature.getContainmentFlag());

-								stringBuffer.append(TEXT_400);

-								stringBuffer.append(genFeature.getResolveProxiesFlag());

-								stringBuffer.append(TEXT_401);

-								stringBuffer.append(genFeature.getUnsettableFlag());

-								stringBuffer.append(TEXT_402);

-								stringBuffer.append(genFeature.getUniqueFlag());

-								stringBuffer.append(TEXT_403);

-								stringBuffer.append(genFeature.getDerivedFlag());

-								stringBuffer.append(TEXT_404);

-								stringBuffer.append(genFeature.getOrderedFlag());

-								stringBuffer.append(TEXT_405);

-								stringBuffer.append(genModel.getNonNLS());

-								stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));

-								for (GenFeature keyFeature : genFeature.getKeys()) {

-									stringBuffer.append(TEXT_406);

-									stringBuffer.append(genFeature.getFeatureAccessorName());

-									stringBuffer.append(TEXT_407);

-									stringBuffer.append(genPackage.getPackageInstanceVariable(keyFeature

-											.getGenPackage()));

-									stringBuffer.append(TEXT_408);

-									stringBuffer.append(keyFeature.getFeatureAccessorName());

-									stringBuffer.append(TEXT_409);

-								}

-							} else {

-								stringBuffer.append(TEXT_410);

-								stringBuffer.append(genFeature.getFeatureAccessorName());

-								stringBuffer.append(TEXT_411);

-								if (genFeature.hasGenericType()) {

-									stringBuffer.append(TEXT_412);

-								} else {

-									stringBuffer.append(genPackage.getPackageInstanceVariable(genFeature

-											.getTypeGenPackage()));

-									stringBuffer.append(TEXT_413);

-									stringBuffer.append(genFeature.getTypeClassifierAccessorName());

-									stringBuffer.append(TEXT_414);

-								}

-								stringBuffer.append(TEXT_415);

-								stringBuffer.append(genFeature.getName());

-								stringBuffer.append(TEXT_416);

-								stringBuffer.append(genFeature.getDefaultValue());

-								stringBuffer.append(TEXT_417);

-								stringBuffer.append(genFeature.getLowerBound());

-								stringBuffer.append(TEXT_418);

-								stringBuffer.append(genFeature.getUpperBound());

-								stringBuffer.append(TEXT_419);

-								stringBuffer.append(genFeature.getContainerClass());

-								stringBuffer.append(TEXT_420);

-								stringBuffer.append(genFeature.getTransientFlag());

-								stringBuffer.append(TEXT_421);

-								stringBuffer.append(genFeature.getVolatileFlag());

-								stringBuffer.append(TEXT_422);

-								stringBuffer.append(genFeature.getChangeableFlag());

-								stringBuffer.append(TEXT_423);

-								stringBuffer.append(genFeature.getUnsettableFlag());

-								stringBuffer.append(TEXT_424);

-								stringBuffer.append(genFeature.getIDFlag());

-								stringBuffer.append(TEXT_425);

-								stringBuffer.append(genFeature.getUniqueFlag());

-								stringBuffer.append(TEXT_426);

-								stringBuffer.append(genFeature.getDerivedFlag());

-								stringBuffer.append(TEXT_427);

-								stringBuffer.append(genFeature.getOrderedFlag());

-								stringBuffer.append(TEXT_428);

-								stringBuffer.append(genModel.getNonNLS());

-								stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));

-							}

-						}

-						for (GenOperation genOperation : genClass.getGenOperations()) {

-							String prefix = "";

-							if (genOperation.hasGenericType() || !genOperation.getGenParameters().isEmpty()

-									|| !genOperation.getGenExceptions().isEmpty()

-									|| !genOperation.getGenTypeParameters().isEmpty()) {

-								if (firstOperationAssignment) {

-									firstOperationAssignment = false;

-									prefix = genModel.getImportedName("org.eclipse.emf.ecore.EOperation") + " op = ";

-								} else {

-									prefix = "op = ";

-								}

-							}

-							stringBuffer.append(TEXT_429);

-							if (genModel.useGenerics()) {

-								stringBuffer.append(TEXT_430);

-								stringBuffer.append(prefix);

-								if (genModel.isOperationReflection()) {

-									stringBuffer.append(TEXT_431);

-									stringBuffer.append(genOperation.getOperationAccessorName());

-									stringBuffer.append(TEXT_432);

-								} else {

-									stringBuffer.append(TEXT_433);

-									stringBuffer.append(genClass.getClassifierInstanceName());

-								}

-								stringBuffer.append(TEXT_434);

-								if (genOperation.isVoid() || genOperation.hasGenericType()) {

-									stringBuffer.append(TEXT_435);

-								} else {

-									stringBuffer.append(genPackage.getPackageInstanceVariable(genOperation

-											.getTypeGenPackage()));

-									stringBuffer.append(TEXT_436);

-									stringBuffer.append(genOperation.getTypeClassifierAccessorName());

-									stringBuffer.append(TEXT_437);

-								}

-								stringBuffer.append(TEXT_438);

-								stringBuffer.append(genOperation.getName());

-								stringBuffer.append(TEXT_439);

-								stringBuffer.append(genOperation.getLowerBound());

-								stringBuffer.append(TEXT_440);

-								stringBuffer.append(genOperation.getUpperBound());

-								stringBuffer.append(TEXT_441);

-								stringBuffer.append(genOperation.getUniqueFlag());

-								stringBuffer.append(TEXT_442);

-								stringBuffer.append(genOperation.getOrderedFlag());

-								stringBuffer.append(TEXT_443);

-								stringBuffer.append(genModel.getNonNLS());

-							} else if (!genOperation.isVoid()) {

-								if (!genOperation.getEcoreOperation().isOrdered()

-										|| !genOperation.getEcoreOperation().isUnique()) {

-									needsAddEOperation = true;

-									stringBuffer.append(TEXT_444);

-									stringBuffer.append(prefix);

-									if (genModel.isOperationReflection()) {

-										stringBuffer.append(TEXT_445);

-										stringBuffer.append(genOperation.getOperationAccessorName());

-										stringBuffer.append(TEXT_446);

-									} else {

-										stringBuffer.append(TEXT_447);

-										stringBuffer.append(genClass.getClassifierInstanceName());

-									}

-									stringBuffer.append(TEXT_448);

-									stringBuffer.append(genPackage.getPackageInstanceVariable(genOperation

-											.getTypeGenPackage()));

-									stringBuffer.append(TEXT_449);

-									stringBuffer.append(genOperation.getTypeClassifierAccessorName());

-									stringBuffer.append(TEXT_450);

-									stringBuffer.append(genOperation.getName());

-									stringBuffer.append(TEXT_451);

-									stringBuffer.append(genOperation.getLowerBound());

-									stringBuffer.append(TEXT_452);

-									stringBuffer.append(genOperation.getUpperBound());

-									stringBuffer.append(TEXT_453);

-									stringBuffer.append(genOperation.getUniqueFlag());

-									stringBuffer.append(TEXT_454);

-									stringBuffer.append(genOperation.getOrderedFlag());

-									stringBuffer.append(TEXT_455);

-									stringBuffer.append(genModel.getNonNLS());

-								} else {

-									stringBuffer.append(TEXT_456);

-									stringBuffer.append(prefix);

-									if (genModel.isOperationReflection()) {

-										stringBuffer.append(TEXT_457);

-										stringBuffer.append(genOperation.getOperationAccessorName());

-										stringBuffer.append(TEXT_458);

-									} else {

-										stringBuffer.append(TEXT_459);

-										stringBuffer.append(genClass.getClassifierInstanceName());

-									}

-									stringBuffer.append(TEXT_460);

-									stringBuffer.append(genPackage.getPackageInstanceVariable(genOperation

-											.getTypeGenPackage()));

-									stringBuffer.append(TEXT_461);

-									stringBuffer.append(genOperation.getTypeClassifierAccessorName());

-									stringBuffer.append(TEXT_462);

-									stringBuffer.append(genOperation.getName());

-									stringBuffer.append(TEXT_463);

-									stringBuffer.append(genOperation.getLowerBound());

-									stringBuffer.append(TEXT_464);

-									stringBuffer.append(genOperation.getUpperBound());

-									stringBuffer.append(TEXT_465);

-									stringBuffer.append(genModel.getNonNLS());

-								}

-							} else {

-								stringBuffer.append(TEXT_466);

-								stringBuffer.append(prefix);

-								if (genModel.isOperationReflection()) {

-									stringBuffer.append(TEXT_467);

-									stringBuffer.append(genOperation.getOperationAccessorName());

-									stringBuffer.append(TEXT_468);

-								} else {

-									stringBuffer.append(TEXT_469);

-									stringBuffer.append(genClass.getClassifierInstanceName());

-								}

-								stringBuffer.append(TEXT_470);

-								stringBuffer.append(genOperation.getName());

-								stringBuffer.append(TEXT_471);

-								stringBuffer.append(genModel.getNonNLS());

-							}

-							if (genModel.useGenerics()) {

-								for (ListIterator<GenTypeParameter> t = genOperation.getGenTypeParameters()

-										.listIterator(); t.hasNext();) {

-									GenTypeParameter genTypeParameter = t.next();

-									String typeParameterVariable = "";

-									if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()

-											|| genTypeParameter.isUsed()) {

-										if (maxTypeParameterAssignment <= t.previousIndex()) {

-											++maxTypeParameterAssignment;

-											typeParameterVariable = genModel

-													.getImportedName("org.eclipse.emf.ecore.ETypeParameter")

-													+ " t"

-													+ t.nextIndex() + " = ";

-										} else {

-											typeParameterVariable = "t" + t.nextIndex() + " = ";

-										}

-									}

-									stringBuffer.append(TEXT_472);

-									stringBuffer.append(typeParameterVariable);

-									stringBuffer.append(TEXT_473);

-									stringBuffer.append(genTypeParameter.getName());

-									stringBuffer.append(TEXT_474);

-									stringBuffer.append(genModel.getNonNLS());

-									for (EGenericType typeParameter : genTypeParameter.getEcoreTypeParameter()

-											.getEBounds()) {

-										for (InformationIterator i = new InformationIterator(typeParameter); i

-												.hasNext();) {

-											Information info = i.next();

-											String typePrefix = "";

-											if (maxGenericTypeAssignment <= info.depth) {

-												++maxGenericTypeAssignment;

-												typePrefix = genModel

-														.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";

-											}

-											stringBuffer.append(TEXT_475);

-											stringBuffer.append(typePrefix);

-											stringBuffer.append(TEXT_476);

-											stringBuffer.append(info.depth + 1);

-											stringBuffer.append(TEXT_477);

-											stringBuffer.append(info.type);

-											stringBuffer.append(TEXT_478);

-											if (info.depth > 0) {

-												stringBuffer.append(TEXT_479);

-												stringBuffer.append(info.depth);

-												stringBuffer.append(TEXT_480);

-												stringBuffer.append(info.accessor);

-												stringBuffer.append(TEXT_481);

-												stringBuffer.append(info.depth + 1);

-												stringBuffer.append(TEXT_482);

-											}

-										}

-										stringBuffer.append(TEXT_483);

-										stringBuffer.append(t.nextIndex());

-										stringBuffer.append(TEXT_484);

-									}

-								}

-							}

-							for (GenParameter genParameter : genOperation.getGenParameters()) {

-								if (genParameter.hasGenericType()) {

-									for (InformationIterator i = new InformationIterator(genParameter

-											.getEcoreParameter().getEGenericType()); i.hasNext();) {

-										Information info = i.next();

-										String typePrefix = "";

-										if (maxGenericTypeAssignment <= info.depth) {

-											++maxGenericTypeAssignment;

-											typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")

-													+ " ";

-										}

-										stringBuffer.append(TEXT_485);

-										stringBuffer.append(typePrefix);

-										stringBuffer.append(TEXT_486);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_487);

-										stringBuffer.append(info.type);

-										stringBuffer.append(TEXT_488);

-										if (info.depth > 0) {

-											stringBuffer.append(TEXT_489);

-											stringBuffer.append(info.depth);

-											stringBuffer.append(TEXT_490);

-											stringBuffer.append(info.accessor);

-											stringBuffer.append(TEXT_491);

-											stringBuffer.append(info.depth + 1);

-											stringBuffer.append(TEXT_492);

-										}

-									}

-								}

-								if (genModel.useGenerics()) {

-									stringBuffer.append(TEXT_493);

-									if (genParameter.hasGenericType()) {

-										stringBuffer.append(TEXT_494);

-									} else {

-										stringBuffer.append(genPackage.getPackageInstanceVariable(genParameter

-												.getTypeGenPackage()));

-										stringBuffer.append(TEXT_495);

-										stringBuffer.append(genParameter.getTypeClassifierAccessorName());

-										stringBuffer.append(TEXT_496);

-									}

-									stringBuffer.append(TEXT_497);

-									stringBuffer.append(genParameter.getName());

-									stringBuffer.append(TEXT_498);

-									stringBuffer.append(genParameter.getLowerBound());

-									stringBuffer.append(TEXT_499);

-									stringBuffer.append(genParameter.getUpperBound());

-									stringBuffer.append(TEXT_500);

-									stringBuffer.append(genParameter.getUniqueFlag());

-									stringBuffer.append(TEXT_501);

-									stringBuffer.append(genParameter.getOrderedFlag());

-									stringBuffer.append(TEXT_502);

-									stringBuffer.append(genModel.getNonNLS());

-								} else if (!genParameter.getEcoreParameter().isOrdered()

-										|| !genParameter.getEcoreParameter().isUnique()) {

-									needsAddEParameter = true;

-									stringBuffer.append(TEXT_503);

-									if (genParameter.hasGenericType()) {

-										stringBuffer.append(TEXT_504);

-									} else {

-										stringBuffer.append(genPackage.getPackageInstanceVariable(genParameter

-												.getTypeGenPackage()));

-										stringBuffer.append(TEXT_505);

-										stringBuffer.append(genParameter.getTypeClassifierAccessorName());

-										stringBuffer.append(TEXT_506);

-									}

-									stringBuffer.append(TEXT_507);

-									stringBuffer.append(genParameter.getName());

-									stringBuffer.append(TEXT_508);

-									stringBuffer.append(genParameter.getLowerBound());

-									stringBuffer.append(TEXT_509);

-									stringBuffer.append(genParameter.getUpperBound());

-									stringBuffer.append(TEXT_510);

-									stringBuffer.append(genParameter.getUniqueFlag());

-									stringBuffer.append(TEXT_511);

-									stringBuffer.append(genParameter.getOrderedFlag());

-									stringBuffer.append(TEXT_512);

-									stringBuffer.append(genModel.getNonNLS());

-								} else {

-									stringBuffer.append(TEXT_513);

-									if (genParameter.hasGenericType()) {

-										stringBuffer.append(TEXT_514);

-									} else {

-										stringBuffer.append(genPackage.getPackageInstanceVariable(genParameter

-												.getTypeGenPackage()));

-										stringBuffer.append(TEXT_515);

-										stringBuffer.append(genParameter.getTypeClassifierAccessorName());

-										stringBuffer.append(TEXT_516);

-									}

-									stringBuffer.append(TEXT_517);

-									stringBuffer.append(genParameter.getName());

-									stringBuffer.append(TEXT_518);

-									stringBuffer.append(genParameter.getLowerBound());

-									stringBuffer.append(TEXT_519);

-									stringBuffer.append(genParameter.getUpperBound());

-									stringBuffer.append(TEXT_520);

-									stringBuffer.append(genModel.getNonNLS());

-								}

-							}

-							if (genOperation.hasGenericExceptions()) {

-								for (EGenericType genericExceptions : genOperation.getEcoreOperation()

-										.getEGenericExceptions()) {

-									for (InformationIterator i = new InformationIterator(genericExceptions); i

-											.hasNext();) {

-										Information info = i.next();

-										String typePrefix = "";

-										if (maxGenericTypeAssignment <= info.depth) {

-											++maxGenericTypeAssignment;

-											typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")

-													+ " ";

-										}

-										stringBuffer.append(TEXT_521);

-										stringBuffer.append(typePrefix);

-										stringBuffer.append(TEXT_522);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_523);

-										stringBuffer.append(info.type);

-										stringBuffer.append(TEXT_524);

-										if (info.depth > 0) {

-											stringBuffer.append(TEXT_525);

-											stringBuffer.append(info.depth);

-											stringBuffer.append(TEXT_526);

-											stringBuffer.append(info.accessor);

-											stringBuffer.append(TEXT_527);

-											stringBuffer.append(info.depth + 1);

-											stringBuffer.append(TEXT_528);

-										}

-										stringBuffer.append(TEXT_529);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_530);

-									}

-								}

-							} else {

-								for (GenClassifier genException : genOperation.getGenExceptions()) {

-									stringBuffer.append(TEXT_531);

-									stringBuffer.append(genPackage.getPackageInstanceVariable(genException

-											.getGenPackage()));

-									stringBuffer.append(TEXT_532);

-									stringBuffer.append(genException.getClassifierAccessorName());

-									stringBuffer.append(TEXT_533);

-								}

-							}

-							if (!genOperation.isVoid() && genOperation.hasGenericType()) {

-								for (InformationIterator i = new InformationIterator(genOperation.getEcoreOperation()

-										.getEGenericType()); i.hasNext();) {

-									Information info = i.next();

-									String typePrefix = "";

-									if (maxGenericTypeAssignment <= info.depth) {

-										++maxGenericTypeAssignment;

-										typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")

-												+ " ";

-									}

-									stringBuffer.append(TEXT_534);

-									stringBuffer.append(typePrefix);

-									stringBuffer.append(TEXT_535);

-									stringBuffer.append(info.depth + 1);

-									stringBuffer.append(TEXT_536);

-									stringBuffer.append(info.type);

-									stringBuffer.append(TEXT_537);

-									if (info.depth > 0) {

-										stringBuffer.append(TEXT_538);

-										stringBuffer.append(info.depth);

-										stringBuffer.append(TEXT_539);

-										stringBuffer.append(info.accessor);

-										stringBuffer.append(TEXT_540);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_541);

-									}

-								}

-								stringBuffer.append(TEXT_542);

-							}

-						}

-						if (c.hasNext()) {

-							stringBuffer.append(TEXT_543);

-						}

-					}

-				}

-				if (!genPackage.getGenEnums().isEmpty()) {

-					stringBuffer.append(TEXT_544);

-					for (Iterator<GenEnum> e = genPackage.getGenEnums().iterator(); e.hasNext();) {

-						GenEnum genEnum = e.next();

-						stringBuffer.append(TEXT_545);

-						stringBuffer.append(genEnum.getClassifierInstanceName());

-						stringBuffer.append(TEXT_546);

-						stringBuffer.append(genEnum.getImportedName());

-						stringBuffer.append(TEXT_547);

-						stringBuffer.append(genEnum.getName());

-						stringBuffer.append(TEXT_548);

-						stringBuffer.append(genModel.getNonNLS());

-						for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

-							stringBuffer.append(TEXT_549);

-							stringBuffer.append(genEnum.getClassifierInstanceName());

-							stringBuffer.append(TEXT_550);

-							stringBuffer.append(genEnum.getImportedName().equals(genEnum.getClassifierID()) ? genEnum

-									.getQualifiedName() : genEnum.getImportedName());

-							stringBuffer.append(TEXT_551);

-							stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

-							stringBuffer.append(TEXT_552);

-						}

-						if (e.hasNext()) {

-							stringBuffer.append(TEXT_553);

-						}

-					}

-				}

-				if (!genPackage.getGenDataTypes().isEmpty()) {

-					stringBuffer.append(TEXT_554);

-					for (GenDataType genDataType : genPackage.getGenDataTypes()) {

-						boolean hasInstanceTypeName = genModel.useGenerics()

-								&& genDataType.getEcoreDataType().getInstanceTypeName() != null

-								&& genDataType.getEcoreDataType().getInstanceTypeName().contains("<");

-						stringBuffer.append(TEXT_555);

-						stringBuffer.append(genDataType.getClassifierInstanceName());

-						stringBuffer.append(TEXT_556);

-						stringBuffer.append(genDataType.getRawImportedInstanceClassName());

-						stringBuffer.append(TEXT_557);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_558);

-						stringBuffer.append(genDataType.getSerializableFlag());

-						stringBuffer.append(TEXT_559);

-						stringBuffer.append(genDataType.getGeneratedInstanceClassFlag());

-						if (hasInstanceTypeName) {

-							stringBuffer.append(TEXT_560);

-							stringBuffer.append(genDataType.getEcoreDataType().getInstanceTypeName());

-							stringBuffer.append(TEXT_561);

-						}

-						stringBuffer.append(TEXT_562);

-						stringBuffer.append(genModel.getNonNLS());

-						if (hasInstanceTypeName) {

-							stringBuffer.append(genModel.getNonNLS(2));

-						}

-					}

-				}

-				if (genPackage.getSuperGenPackage() == null) {

-					stringBuffer.append(TEXT_563);

-					stringBuffer.append(genPackage.getSchemaLocation());

-					stringBuffer.append(TEXT_564);

-				}

-				if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {

-					stringBuffer.append(TEXT_565);

-					for (String annotationSource : genPackage.getAnnotationSources()) {

-						stringBuffer.append(TEXT_566);

-						stringBuffer.append(annotationSource);

-						stringBuffer.append(TEXT_567);

-						stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));

-						stringBuffer.append(TEXT_568);

-					}

-				}

-				stringBuffer.append(TEXT_569);

-				for (String annotationSource : genPackage.getAnnotationSources()) {

-					stringBuffer.append(TEXT_570);

-					stringBuffer.append(annotationSource);

-					stringBuffer.append(TEXT_571);

-					stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));

-					stringBuffer.append(TEXT_572);

-					if (annotationSource == null) {

-						stringBuffer.append(TEXT_573);

-					} else {

-						stringBuffer.append(TEXT_574);

-						stringBuffer.append(annotationSource);

-						stringBuffer.append(TEXT_575);

-						stringBuffer.append(genModel.getNonNLS());

-					}

-					for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) {

-						List<GenPackage.AnnotationReferenceData> annotationReferenceDataList = genPackage

-								.getReferenceData(eAnnotation);

-						if (annotationSource == null ? eAnnotation.getSource() == null : annotationSource

-								.equals(eAnnotation.getSource())) {

-							stringBuffer.append(TEXT_576);

-							stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));

-							stringBuffer.append(TEXT_577);

-							for (Iterator<Map.Entry<String, String>> k = eAnnotation.getDetails().iterator(); k

-									.hasNext();) {

-								Map.Entry<String, String> detail = k.next();

-								String key = Literals.toStringLiteral(detail.getKey(), genModel);

-								String value = Literals.toStringLiteral(detail.getValue(), genModel);

-								stringBuffer.append(TEXT_578);

-								stringBuffer.append(key);

-								stringBuffer.append(TEXT_579);

-								stringBuffer.append(value);

-								stringBuffer.append(k.hasNext() ? "," : "");

-								stringBuffer.append(genModel.getNonNLS(key + value));

-							}

-							stringBuffer.append(TEXT_580);

-							if (annotationReferenceDataList.isEmpty()) {

-								stringBuffer.append(TEXT_581);

-							} else {

-								stringBuffer.append(TEXT_582);

-							}

-							if (!annotationReferenceDataList.isEmpty()) {

-								stringBuffer.append(TEXT_583);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

-								stringBuffer.append(TEXT_584);

-								for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList

-										.iterator(); k.hasNext();) {

-									GenPackage.AnnotationReferenceData annotationReferenceData = k.next();

-									stringBuffer.append(TEXT_585);

-									stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

-									stringBuffer.append(TEXT_586);

-									if (annotationReferenceData.containingGenPackage != genPackage) {

-										stringBuffer.append(annotationReferenceData.containingGenPackage

-												.getImportedPackageInterfaceName());

-										stringBuffer.append(TEXT_587);

-									}

-									stringBuffer.append(TEXT_588);

-									stringBuffer.append(annotationReferenceData.uriFragment);

-									stringBuffer.append(TEXT_589);

-									if (k.hasNext()) {

-										stringBuffer.append(TEXT_590);

-									}

-									stringBuffer.append(genModel.getNonNLS());

-								}

-								stringBuffer.append(TEXT_591);

-							}

-							for (EAnnotation nestedEAnnotation : genPackage.getAllNestedAnnotations(eAnnotation)) {

-								String nestedAnnotationSource = nestedEAnnotation.getSource();

-								int depth = 0;

-								boolean nonContentAnnotation = false;

-								StringBuilder path = new StringBuilder();

-								for (EObject eContainer = nestedEAnnotation.eContainer(), child = nestedEAnnotation; child != eAnnotation; child = eContainer, eContainer = eContainer

-										.eContainer()) {

-									boolean nonContentChild = child.eContainmentFeature() != EcorePackage.Literals.EANNOTATION__CONTENTS;

-									if (path.length() != 0) {

-										path.insert(0, ", ");

-									}

-									path.insert(0, nonContentChild);

-									if (nonContentChild) {

-										nonContentAnnotation = true;

-									}

-									++depth;

-								}

-								List<GenPackage.AnnotationReferenceData> nestedAnnotationReferenceDataList = genPackage

-										.getReferenceData(nestedEAnnotation);

-								stringBuffer.append(TEXT_592);

-								stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));

-								stringBuffer.append(TEXT_593);

-								if (nonContentAnnotation

-										&& genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {

-									stringBuffer.append(TEXT_594);

-									stringBuffer.append(path.toString());

-									stringBuffer.append(TEXT_595);

-								} else {

-									stringBuffer.append(depth);

-								}

-								stringBuffer.append(TEXT_596);

-								if (nestedAnnotationSource == null) {

-									stringBuffer.append(TEXT_597);

-								} else {

-									stringBuffer.append(TEXT_598);

-									stringBuffer.append(nestedAnnotationSource);

-									stringBuffer.append(TEXT_599);

-									stringBuffer.append(genModel.getNonNLS());

-								}

-								stringBuffer.append(TEXT_600);

-								for (Iterator<Map.Entry<String, String>> l = nestedEAnnotation.getDetails().iterator(); l

-										.hasNext();) {

-									Map.Entry<String, String> detail = l.next();

-									String key = Literals.toStringLiteral(detail.getKey(), genModel);

-									String value = Literals.toStringLiteral(detail.getValue(), genModel);

-									stringBuffer.append(TEXT_601);

-									stringBuffer.append(key);

-									stringBuffer.append(TEXT_602);

-									stringBuffer.append(value);

-									stringBuffer.append(l.hasNext() ? "," : "");

-									stringBuffer.append(genModel.getNonNLS(key + value));

-								}

-								stringBuffer.append(TEXT_603);

-								if (nestedAnnotationReferenceDataList.isEmpty()) {

-									stringBuffer.append(TEXT_604);

-								} else {

-									stringBuffer.append(TEXT_605);

-								}

-								if (!nestedAnnotationReferenceDataList.isEmpty()) {

-									stringBuffer.append(TEXT_606);

-									stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

-									stringBuffer.append(TEXT_607);

-									for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList

-											.iterator(); l.hasNext();) {

-										GenPackage.AnnotationReferenceData annotationReferenceData = l.next();

-										stringBuffer.append(TEXT_608);

-										stringBuffer

-												.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

-										stringBuffer.append(TEXT_609);

-										if (annotationReferenceData.containingGenPackage != genPackage) {

-											stringBuffer.append(annotationReferenceData.containingGenPackage

-													.getImportedPackageInterfaceName());

-											stringBuffer.append(TEXT_610);

-										}

-										stringBuffer.append(TEXT_611);

-										stringBuffer.append(annotationReferenceData.uriFragment);

-										stringBuffer.append(TEXT_612);

-										if (l.hasNext()) {

-											stringBuffer.append(TEXT_613);

-										}

-										stringBuffer.append(genModel.getNonNLS());

-									}

-									stringBuffer.append(TEXT_614);

-								}

-							}

-						}

-					}

-					stringBuffer.append(TEXT_615);

-				}

-			} else {

-				if (genPackage.isLoadingInitialization()) {

-					stringBuffer.append(TEXT_616);

-					stringBuffer.append(genModel.getImportedName("java.net.URL"));

-					stringBuffer.append(TEXT_617);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(TEXT_618);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

-					stringBuffer.append(TEXT_619);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

-					stringBuffer.append(TEXT_620);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));

-					stringBuffer.append(TEXT_621);

-					stringBuffer.append(genModel

-							.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl"));

-					stringBuffer.append(TEXT_622);

-					stringBuffer.append(genModel.getImportedName("java.io.IOException"));

-					stringBuffer.append(TEXT_623);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));

-					stringBuffer.append(TEXT_624);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-					stringBuffer.append(TEXT_625);

-				}

-				stringBuffer.append(TEXT_626);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_627);

-				}

-				stringBuffer.append(TEXT_628);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));

-				stringBuffer.append(TEXT_629);

-				ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>();

-				for (GenClass genClass : genPackage.getGenClasses()) {

-					if (genClass.isDynamic()) {

-						dynamicGenClasses.add(genClass);

-					}

-				}

-				if (dynamicGenClasses.isEmpty()) {

-					stringBuffer.append(TEXT_630);

-					stringBuffer.append(genPackage.getInterfacePackageName());

-					stringBuffer.append(TEXT_631);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(TEXT_632);

-				} else {

-					stringBuffer.append(TEXT_633);

-					for (GenClass genClass : dynamicGenClasses) {

-						if (genClass.isDynamic()) {

-							stringBuffer.append(TEXT_634);

-							stringBuffer.append(genPackage.getClassifierID(genClass));

-							stringBuffer.append(TEXT_635);

-						}

-					}

-					stringBuffer.append(TEXT_636);

-					stringBuffer.append(genPackage.getInterfacePackageName());

-					stringBuffer.append(TEXT_637);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(TEXT_638);

-				}

-				stringBuffer.append(TEXT_639);

-			}

-			if (needsAddEOperation) {

-				stringBuffer.append(TEXT_640);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

-				stringBuffer.append(TEXT_641);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));

-				stringBuffer.append(TEXT_642);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));

-				stringBuffer.append(TEXT_643);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

-				stringBuffer.append(TEXT_644);

-			}

-			if (needsAddEParameter) {

-				stringBuffer.append(TEXT_645);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));

-				stringBuffer.append(TEXT_646);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

-				stringBuffer.append(TEXT_647);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));

-				stringBuffer.append(TEXT_648);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));

-				stringBuffer.append(TEXT_649);

-			}

-		}

-		if (isInterface && genPackage.isLiteralsInterface()) {

-			stringBuffer.append(TEXT_650);

-			if (genModel.isOperationReflection()) {

-				stringBuffer.append(TEXT_651);

-			}

-			stringBuffer.append(TEXT_652);

-			if (isImplementation) {

-				stringBuffer.append(TEXT_653);

-			}

-			stringBuffer.append(TEXT_654);

-			for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-				stringBuffer.append(TEXT_655);

-				if (genClassifier instanceof GenClass) {

-					GenClass genClass = (GenClass) genClassifier;

-					if (!genClass.isInterface()) {

-						stringBuffer.append(TEXT_656);

-						stringBuffer.append(genClass.getQualifiedClassName());

-						stringBuffer.append(TEXT_657);

-						stringBuffer.append(genClass.getFormattedName());

-						stringBuffer.append(TEXT_658);

-						stringBuffer.append(genClass.getQualifiedClassName());

-					} else {

-						stringBuffer.append(TEXT_659);

-						stringBuffer.append(genClass.getQualifiedInterfaceName());

-						stringBuffer.append(TEXT_660);

-						stringBuffer.append(genClass.getFormattedName());

-						stringBuffer.append(TEXT_661);

-						stringBuffer.append(genClass.getQualifiedInterfaceName());

-					}

-				} else if (genClassifier instanceof GenEnum) {

-					GenEnum genEnum = (GenEnum) genClassifier;

-					stringBuffer.append(TEXT_662);

-					stringBuffer.append(genEnum.getQualifiedName());

-					stringBuffer.append(TEXT_663);

-					stringBuffer.append(genEnum.getFormattedName());

-					stringBuffer.append(TEXT_664);

-					stringBuffer.append(genEnum.getQualifiedName());

-				} else if (genClassifier instanceof GenDataType) {

-					GenDataType genDataType = (GenDataType) genClassifier;

-					stringBuffer.append(TEXT_665);

-					stringBuffer.append(genDataType.getFormattedName());

-					stringBuffer.append(TEXT_666);

-					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {

-						stringBuffer.append(TEXT_667);

-						stringBuffer.append(genDataType.getRawInstanceClassName());

-					}

-				}

-				stringBuffer.append(TEXT_668);

-				stringBuffer.append(genPackage.getQualifiedPackageClassName());

-				stringBuffer.append(TEXT_669);

-				stringBuffer.append(genClassifier.getClassifierAccessorName());

-				stringBuffer.append(TEXT_670);

-				stringBuffer.append(publicStaticFinalFlag);

-				stringBuffer.append(genClassifier.getImportedMetaType());

-				stringBuffer.append(TEXT_671);

-				stringBuffer.append(genPackage.getClassifierID(genClassifier));

-				stringBuffer.append(TEXT_672);

-				stringBuffer.append(genClassifier.getClassifierAccessorName());

-				stringBuffer.append(TEXT_673);

-				if (genClassifier instanceof GenClass) {

-					GenClass genClass = (GenClass) genClassifier;

-					for (GenFeature genFeature : genClass.getGenFeatures()) {

-						stringBuffer.append(TEXT_674);

-						stringBuffer.append(genFeature.getFormattedName());

-						stringBuffer.append(TEXT_675);

-						stringBuffer.append(genFeature.getFeatureKind());

-						stringBuffer.append(TEXT_676);

-						stringBuffer.append(publicStaticFinalFlag);

-						stringBuffer.append(genFeature.getImportedMetaType());

-						stringBuffer.append(TEXT_677);

-						stringBuffer.append(genClass.getFeatureID(genFeature));

-						stringBuffer.append(TEXT_678);

-						stringBuffer.append(genFeature.getFeatureAccessorName());

-						stringBuffer.append(TEXT_679);

-					}

-					if (genModel.isOperationReflection()) {

-						for (GenOperation genOperation : genClass.getGenOperations()) {

-							stringBuffer.append(TEXT_680);

-							stringBuffer.append(genOperation.getFormattedName());

-							stringBuffer.append(TEXT_681);

-							stringBuffer.append(publicStaticFinalFlag);

-							stringBuffer.append(genOperation.getImportedMetaType());

-							stringBuffer.append(TEXT_682);

-							stringBuffer.append(genClass.getOperationID(genOperation, false));

-							stringBuffer.append(TEXT_683);

-							stringBuffer.append(genOperation.getOperationAccessorName());

-							stringBuffer.append(TEXT_684);

-						}

-					}

-				}

-			}

-			stringBuffer.append(TEXT_685);

-		}

-		stringBuffer.append(TEXT_686);

-		stringBuffer.append(isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_687);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate && (genPackage.hasClassifiers());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PackageClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized PackageClass create(String lineSeparator) {
+		nl = lineSeparator;
+		PackageClass result = new PackageClass();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";";
+	protected final String TEXT_4 = NL + "package ";
+	protected final String TEXT_5 = ";";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * The <b>Package</b> for the model." + NL + " * It contains accessors for the meta objects to represent"
+			+ NL + " * <ul>" + NL + " *   <li>each class,</li>" + NL + " *   <li>each feature of each class,</li>";
+	protected final String TEXT_8 = NL + " *   <li>each operation of each class,</li>";
+	protected final String TEXT_9 = NL + " *   <li>each enum,</li>" + NL + " *   <li>and each data type</li>" + NL
+			+ " * </ul>" + NL + " * <!-- end-user-doc -->";
+	protected final String TEXT_10 = NL + " * <!-- begin-model-doc -->" + NL + " * ";
+	protected final String TEXT_11 = NL + " * <!-- end-model-doc -->";
+	protected final String TEXT_12 = NL + " * @see ";
+	protected final String TEXT_13 = NL + " * @model ";
+	protected final String TEXT_14 = NL + " *        ";
+	protected final String TEXT_15 = NL + " * @model";
+	protected final String TEXT_16 = NL + " * @generated" + NL + " */";
+	protected final String TEXT_17 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * An implementation of the model <b>Package</b>." + NL + " * <!-- end-user-doc -->" + NL
+			+ " * @generated" + NL + " */";
+	protected final String TEXT_18 = NL + "public class ";
+	protected final String TEXT_19 = " extends ";
+	protected final String TEXT_20 = " implements ";
+	protected final String TEXT_21 = NL + "public interface ";
+	protected final String TEXT_22 = " extends ";
+	protected final String TEXT_23 = NL + "{";
+	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_25 = " copyright = ";
+	protected final String TEXT_26 = ";";
+	protected final String TEXT_27 = NL;
+	protected final String TEXT_28 = NL + "\t/**" + NL + "\t * The package name." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_29 = " eNAME = \"";
+	protected final String TEXT_30 = "\";";
+	protected final String TEXT_31 = NL + NL + "\t/**" + NL + "\t * The package namespace URI." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_32 = " eNS_URI = \"";
+	protected final String TEXT_33 = "\";";
+	protected final String TEXT_34 = NL + NL + "\t/**" + NL + "\t * The package namespace name." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_35 = " eNS_PREFIX = \"";
+	protected final String TEXT_36 = "\";";
+	protected final String TEXT_37 = NL + NL + "\t/**" + NL + "\t * The package content type ID." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_38 = " eCONTENT_TYPE = \"";
+	protected final String TEXT_39 = "\";";
+	protected final String TEXT_40 = NL + NL + "\t/**" + NL + "\t * The singleton instance of the package." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_41 = " eINSTANCE = ";
+	protected final String TEXT_42 = ".init();" + NL;
+	protected final String TEXT_43 = NL + "\t/**";
+	protected final String TEXT_44 = NL + "\t * The meta object id for the '{@link ";
+	protected final String TEXT_45 = " <em>";
+	protected final String TEXT_46 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+	protected final String TEXT_47 = NL + "\t * The meta object id for the '{@link ";
+	protected final String TEXT_48 = " <em>";
+	protected final String TEXT_49 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+	protected final String TEXT_50 = NL + "\t * The meta object id for the '{@link ";
+	protected final String TEXT_51 = " <em>";
+	protected final String TEXT_52 = "</em>}' enum." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+	protected final String TEXT_53 = NL + "\t * The meta object id for the '<em>";
+	protected final String TEXT_54 = "</em>' data type." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->";
+	protected final String TEXT_55 = NL + "\t * @see ";
+	protected final String TEXT_56 = NL + "\t * @see ";
+	protected final String TEXT_57 = "#get";
+	protected final String TEXT_58 = "()" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_59 = "int ";
+	protected final String TEXT_60 = " = ";
+	protected final String TEXT_61 = ";" + NL;
+	protected final String TEXT_62 = NL + "\t/**" + NL + "\t * The feature id for the '<em><b>";
+	protected final String TEXT_63 = "</b></em>' ";
+	protected final String TEXT_64 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_65 = "int ";
+	protected final String TEXT_66 = " = ";
+	protected final String TEXT_67 = ";" + NL;
+	protected final String TEXT_68 = NL + "\t/**" + NL + "\t * The number of structural features of the '<em>";
+	protected final String TEXT_69 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_70 = "int ";
+	protected final String TEXT_71 = " = ";
+	protected final String TEXT_72 = ";" + NL;
+	protected final String TEXT_73 = NL + "\t/**" + NL + "\t * The operation id for the '<em>";
+	protected final String TEXT_74 = "</em>' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_75 = "int ";
+	protected final String TEXT_76 = " = ";
+	protected final String TEXT_77 = ";" + NL;
+	protected final String TEXT_78 = NL + "\t/**" + NL + "\t * The number of operations of the '<em>";
+	protected final String TEXT_79 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_80 = "int ";
+	protected final String TEXT_81 = " = ";
+	protected final String TEXT_82 = ";" + NL;
+	protected final String TEXT_83 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected String packageFilename = \"";
+	protected final String TEXT_84 = "\";";
+	protected final String TEXT_85 = NL;
+	protected final String TEXT_86 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate ";
+	protected final String TEXT_87 = " ";
+	protected final String TEXT_88 = " = null;" + NL;
+	protected final String TEXT_89 = NL + "\t/**" + NL
+			+ "\t * Creates an instance of the model <b>Package</b>, registered with" + NL
+			+ "\t * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package" + NL
+			+ "\t * package URI value." + NL + "\t * <p>Note: the correct way to create the package is via the static"
+			+ NL + "\t * factory method {@link #init init()}, which also performs" + NL
+			+ "\t * initialization of the package, or returns the registered package," + NL
+			+ "\t * if one already exists." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @see org.eclipse.emf.ecore.EPackage.Registry" + NL + "\t * @see ";
+	protected final String TEXT_90 = "#eNS_URI" + NL + "\t * @see #init()" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate ";
+	protected final String TEXT_91 = "()" + NL + "\t{" + NL + "\t\tsuper(eNS_URI, ";
+	protected final String TEXT_92 = ");" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate static boolean isInited = false;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends."
+			+ NL + "\t * " + NL + "\t * <p>This method is used to initialize {@link ";
+	protected final String TEXT_93 = "#eINSTANCE} when that field is accessed." + NL
+			+ "\t * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #eNS_URI";
+	protected final String TEXT_94 = NL + "\t * @see #createPackageContents()" + NL
+			+ "\t * @see #initializePackageContents()";
+	protected final String TEXT_95 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
+	protected final String TEXT_96 = " init()" + NL + "\t{" + NL + "\t\tif (isInited) return (";
+	protected final String TEXT_97 = ")";
+	protected final String TEXT_98 = ".Registry.INSTANCE.getEPackage(";
+	protected final String TEXT_99 = ".eNS_URI);" + NL;
+	protected final String TEXT_100 = NL + "\t\tinitializeRegistryHelpers();" + NL;
+	protected final String TEXT_101 = NL + "\t\t// Obtain or create and register package" + NL + "\t\t";
+	protected final String TEXT_102 = " the";
+	protected final String TEXT_103 = " = (";
+	protected final String TEXT_104 = ")(";
+	protected final String TEXT_105 = ".Registry.INSTANCE.get(eNS_URI) instanceof ";
+	protected final String TEXT_106 = " ? ";
+	protected final String TEXT_107 = ".Registry.INSTANCE.get(eNS_URI) : new ";
+	protected final String TEXT_108 = "());" + NL + "" + NL + "\t\tisInited = true;" + NL;
+	protected final String TEXT_109 = NL + "\t\t// Initialize simple dependencies";
+	protected final String TEXT_110 = NL + "\t\t";
+	protected final String TEXT_111 = ".eINSTANCE.eClass();";
+	protected final String TEXT_112 = NL;
+	protected final String TEXT_113 = NL + "\t\t// Obtain or create and register interdependencies";
+	protected final String TEXT_114 = NL + "\t\t";
+	protected final String TEXT_115 = " ";
+	protected final String TEXT_116 = " = (";
+	protected final String TEXT_117 = ")(";
+	protected final String TEXT_118 = ".Registry.INSTANCE.getEPackage(";
+	protected final String TEXT_119 = ".eNS_URI) instanceof ";
+	protected final String TEXT_120 = " ? ";
+	protected final String TEXT_121 = ".Registry.INSTANCE.getEPackage(";
+	protected final String TEXT_122 = ".eNS_URI) : ";
+	protected final String TEXT_123 = ".eINSTANCE);";
+	protected final String TEXT_124 = NL;
+	protected final String TEXT_125 = NL + "\t\t// Load packages";
+	protected final String TEXT_126 = NL + "\t\tthe";
+	protected final String TEXT_127 = ".loadPackage();";
+	protected final String TEXT_128 = NL + "\t\t";
+	protected final String TEXT_129 = ".loadPackage();";
+	protected final String TEXT_130 = NL;
+	protected final String TEXT_131 = NL + "\t\t// Create package meta-data objects";
+	protected final String TEXT_132 = NL + "\t\tthe";
+	protected final String TEXT_133 = ".createPackageContents();";
+	protected final String TEXT_134 = NL + "\t\t";
+	protected final String TEXT_135 = ".createPackageContents();";
+	protected final String TEXT_136 = NL + NL + "\t\t// Initialize created meta-data";
+	protected final String TEXT_137 = NL + "\t\tthe";
+	protected final String TEXT_138 = ".initializePackageContents();";
+	protected final String TEXT_139 = NL + "\t\t";
+	protected final String TEXT_140 = ".initializePackageContents();";
+	protected final String TEXT_141 = NL;
+	protected final String TEXT_142 = NL + "\t\t// Fix loaded packages";
+	protected final String TEXT_143 = NL + "\t\tthe";
+	protected final String TEXT_144 = ".fixPackageContents();";
+	protected final String TEXT_145 = NL + "\t\t";
+	protected final String TEXT_146 = ".fixPackageContents();";
+	protected final String TEXT_147 = NL;
+	protected final String TEXT_148 = NL + "\t\t// Register package validator" + NL + "\t\t";
+	protected final String TEXT_149 = ".Registry.INSTANCE.put" + NL + "\t\t\t(the";
+	protected final String TEXT_150 = ", " + NL + "\t\t\t new ";
+	protected final String TEXT_151 = ".Descriptor()" + NL + "\t\t\t {" + NL + "\t\t\t\t public ";
+	protected final String TEXT_152 = " getEValidator()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return ";
+	protected final String TEXT_153 = ".INSTANCE;" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;
+	protected final String TEXT_154 = NL + "\t\t// Mark meta-data to indicate it can't be changed" + NL + "\t\tthe";
+	protected final String TEXT_155 = ".freeze();" + NL;
+	protected final String TEXT_156 = NL + "  " + NL + "\t\t// Update the registry and return the package" + NL
+			+ "\t\t";
+	protected final String TEXT_157 = ".Registry.INSTANCE.put(";
+	protected final String TEXT_158 = ".eNS_URI, the";
+	protected final String TEXT_159 = ");" + NL + "\t\treturn the";
+	protected final String TEXT_160 = ";" + NL + "\t}";
+	protected final String TEXT_161 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static void initializeRegistryHelpers()" + NL + "\t{";
+	protected final String TEXT_162 = NL + "\t\t";
+	protected final String TEXT_163 = ".register" + NL + "\t\t\t(";
+	protected final String TEXT_164 = ".class, " + NL + "\t\t\t new ";
+	protected final String TEXT_165 = ".Helper() " + NL + "\t\t\t {" + NL
+			+ "\t\t\t\t public boolean isInstance(Object instance)" + NL + "\t\t\t\t {" + NL
+			+ "\t\t\t\t\t return instance instanceof ";
+	protected final String TEXT_166 = ";" + NL + "\t\t\t\t }" + NL + "" + NL
+			+ "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return new ";
+	protected final String TEXT_167 = "[size];" + NL + "\t\t\t\t }" + NL + "\t\t\t });";
+	protected final String TEXT_168 = NL + "\t\t";
+	protected final String TEXT_169 = ".register" + NL + "\t\t\t(";
+	protected final String TEXT_170 = ".class, " + NL + "\t\t\t new ";
+	protected final String TEXT_171 = ".Helper() " + NL + "\t\t\t {" + NL
+			+ "\t\t\t\t public boolean isInstance(Object instance)" + NL + "\t\t\t\t {" + NL
+			+ "\t\t\t\t\t return instance instanceof ";
+	protected final String TEXT_172 = ";" + NL + "\t\t\t\t }" + NL + "" + NL
+			+ "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {";
+	protected final String TEXT_173 = NL + "\t\t\t\t\t return new ";
+	protected final String TEXT_174 = "[size]";
+	protected final String TEXT_175 = ";";
+	protected final String TEXT_176 = NL + "\t\t\t\t\t return new ";
+	protected final String TEXT_177 = "[size];";
+	protected final String TEXT_178 = NL + "\t\t\t\t }" + NL + "\t\t});";
+	protected final String TEXT_179 = NL + "\t}" + NL + "" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static class WhiteList implements ";
+	protected final String TEXT_180 = ", EBasicWhiteList" + NL + "\t{";
+	protected final String TEXT_181 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+	protected final String TEXT_182 = " ";
+	protected final String TEXT_183 = ";" + NL;
+	protected final String TEXT_184 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+	protected final String TEXT_185 = " ";
+	protected final String TEXT_186 = ";" + NL;
+	protected final String TEXT_187 = NL + "\t}";
+	protected final String TEXT_188 = NL;
+	protected final String TEXT_189 = NL;
+	protected final String TEXT_190 = NL + "\t/**";
+	protected final String TEXT_191 = NL + "\t * Returns the meta object for class '{@link ";
+	protected final String TEXT_192 = " <em>";
+	protected final String TEXT_193 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for class '<em>";
+	protected final String TEXT_194 = "</em>'." + NL + "\t * @see ";
+	protected final String TEXT_195 = NL + "\t * @model ";
+	protected final String TEXT_196 = NL + "\t *        ";
+	protected final String TEXT_197 = NL + "\t * @model";
+	protected final String TEXT_198 = NL + "\t * Returns the meta object for enum '{@link ";
+	protected final String TEXT_199 = " <em>";
+	protected final String TEXT_200 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for enum '<em>";
+	protected final String TEXT_201 = "</em>'." + NL + "\t * @see ";
+	protected final String TEXT_202 = NL + "\t * Returns the meta object for data type '<em>";
+	protected final String TEXT_203 = "</em>'.";
+	protected final String TEXT_204 = NL + "\t * Returns the meta object for data type '{@link ";
+	protected final String TEXT_205 = " <em>";
+	protected final String TEXT_206 = "</em>}'.";
+	protected final String TEXT_207 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the meta object for data type '<em>";
+	protected final String TEXT_208 = "</em>'.";
+	protected final String TEXT_209 = NL + "\t * @see ";
+	protected final String TEXT_210 = NL + "\t * @model ";
+	protected final String TEXT_211 = NL + "\t *        ";
+	protected final String TEXT_212 = NL + "\t * @model";
+	protected final String TEXT_213 = NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_214 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_215 = NL + "\tpublic ";
+	protected final String TEXT_216 = " get";
+	protected final String TEXT_217 = "()" + NL + "\t{";
+	protected final String TEXT_218 = NL + "\t\tif (";
+	protected final String TEXT_219 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_220 = " = (";
+	protected final String TEXT_221 = ")";
+	protected final String TEXT_222 = ".Registry.INSTANCE.getEPackage(";
+	protected final String TEXT_223 = ".eNS_URI).getEClassifiers().get(";
+	protected final String TEXT_224 = ");" + NL + "\t\t}";
+	protected final String TEXT_225 = NL + "\t\treturn ";
+	protected final String TEXT_226 = ";" + NL + "\t}" + NL;
+	protected final String TEXT_227 = NL + "\t";
+	protected final String TEXT_228 = " get";
+	protected final String TEXT_229 = "();" + NL;
+	protected final String TEXT_230 = NL + "\t/**" + NL + "\t * Returns the meta object for the ";
+	protected final String TEXT_231 = " '{@link ";
+	protected final String TEXT_232 = "#";
+	protected final String TEXT_233 = " <em>";
+	protected final String TEXT_234 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the ";
+	protected final String TEXT_235 = " '<em>";
+	protected final String TEXT_236 = "</em>'." + NL + "\t * @see ";
+	protected final String TEXT_237 = "#";
+	protected final String TEXT_238 = "()";
+	protected final String TEXT_239 = NL + "\t * @see #get";
+	protected final String TEXT_240 = "()" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_241 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_242 = NL + "\tpublic ";
+	protected final String TEXT_243 = " get";
+	protected final String TEXT_244 = "()" + NL + "\t{";
+	protected final String TEXT_245 = NL + "\t\treturn (";
+	protected final String TEXT_246 = ")";
+	protected final String TEXT_247 = ".getEStructuralFeatures().get(";
+	protected final String TEXT_248 = ");";
+	protected final String TEXT_249 = NL + "        return (";
+	protected final String TEXT_250 = ")get";
+	protected final String TEXT_251 = "().getEStructuralFeatures().get(";
+	protected final String TEXT_252 = ");";
+	protected final String TEXT_253 = NL + "\t}";
+	protected final String TEXT_254 = NL + "\t";
+	protected final String TEXT_255 = " get";
+	protected final String TEXT_256 = "();";
+	protected final String TEXT_257 = NL;
+	protected final String TEXT_258 = NL + "\t/**" + NL + "\t * Returns the meta object for the '{@link ";
+	protected final String TEXT_259 = "#";
+	protected final String TEXT_260 = "(";
+	protected final String TEXT_261 = ") <em>";
+	protected final String TEXT_262 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the '<em>";
+	protected final String TEXT_263 = "</em>' operation." + NL + "\t * @see ";
+	protected final String TEXT_264 = "#";
+	protected final String TEXT_265 = "(";
+	protected final String TEXT_266 = ")" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_267 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_268 = NL + "\tpublic ";
+	protected final String TEXT_269 = " get";
+	protected final String TEXT_270 = "()" + NL + "\t{";
+	protected final String TEXT_271 = NL + "\t\treturn ";
+	protected final String TEXT_272 = ".getEOperations().get(";
+	protected final String TEXT_273 = ");";
+	protected final String TEXT_274 = NL + "        return get";
+	protected final String TEXT_275 = "().getEOperations().get(";
+	protected final String TEXT_276 = ");";
+	protected final String TEXT_277 = NL + "\t}";
+	protected final String TEXT_278 = NL + "\t";
+	protected final String TEXT_279 = " get";
+	protected final String TEXT_280 = "();";
+	protected final String TEXT_281 = NL;
+	protected final String TEXT_282 = NL + "\t/**" + NL
+			+ "\t * Returns the factory that creates the instances of the model." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the factory that creates the instances of the model." + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_283 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_284 = NL + "\tpublic ";
+	protected final String TEXT_285 = " get";
+	protected final String TEXT_286 = "()" + NL + "\t{" + NL + "\t\treturn (";
+	protected final String TEXT_287 = ")getEFactoryInstance();" + NL + "\t}";
+	protected final String TEXT_288 = NL + "\t";
+	protected final String TEXT_289 = " get";
+	protected final String TEXT_290 = "();";
+	protected final String TEXT_291 = NL;
+	protected final String TEXT_292 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate boolean isCreated = false;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Creates the meta-model objects for the package.  This method is" + NL
+			+ "\t * guarded to have no affect on any invocation but its first." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic void createPackageContents()" + NL + "\t{" + NL + "\t\tif (isCreated) return;" + NL
+			+ "\t\tisCreated = true;";
+	protected final String TEXT_293 = NL + NL + "\t\t// Create classes and their features";
+	protected final String TEXT_294 = NL + "\t\t";
+	protected final String TEXT_295 = " = create";
+	protected final String TEXT_296 = "(";
+	protected final String TEXT_297 = ");";
+	protected final String TEXT_298 = NL + "\t\tcreate";
+	protected final String TEXT_299 = "(";
+	protected final String TEXT_300 = ", ";
+	protected final String TEXT_301 = ");";
+	protected final String TEXT_302 = NL + "\t\tcreateEOperation(";
+	protected final String TEXT_303 = ", ";
+	protected final String TEXT_304 = ");";
+	protected final String TEXT_305 = NL;
+	protected final String TEXT_306 = NL + NL + "\t\t// Create enums";
+	protected final String TEXT_307 = NL + "\t\t";
+	protected final String TEXT_308 = " = createEEnum(";
+	protected final String TEXT_309 = ");";
+	protected final String TEXT_310 = NL + NL + "\t\t// Create data types";
+	protected final String TEXT_311 = NL + "\t\t";
+	protected final String TEXT_312 = " = createEDataType(";
+	protected final String TEXT_313 = ");";
+	protected final String TEXT_314 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate boolean isInitialized = false;" + NL;
+	protected final String TEXT_315 = NL + "\t/**" + NL
+			+ "\t * Complete the initialization of the package and its meta-model.  This" + NL
+			+ "\t * method is guarded to have no affect on any invocation but its first." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void initializePackageContents()" + NL + "\t{" + NL + "\t\tif (isInitialized) return;" + NL
+			+ "\t\tisInitialized = true;" + NL + "" + NL + "\t\t// Initialize package" + NL + "\t\tsetName(eNAME);" + NL
+			+ "\t\tsetNsPrefix(eNS_PREFIX);" + NL + "\t\tsetNsURI(eNS_URI);";
+	protected final String TEXT_316 = NL + NL + "\t\t// Obtain other dependent packages";
+	protected final String TEXT_317 = NL + "\t\t";
+	protected final String TEXT_318 = " ";
+	protected final String TEXT_319 = " = (";
+	protected final String TEXT_320 = ")";
+	protected final String TEXT_321 = ".Registry.INSTANCE.getEPackage(";
+	protected final String TEXT_322 = ".eNS_URI);";
+	protected final String TEXT_323 = NL + NL + "\t\t// Add subpackages";
+	protected final String TEXT_324 = NL + "\t\tgetESubpackages().add(";
+	protected final String TEXT_325 = ");";
+	protected final String TEXT_326 = NL + NL + "\t\t// Create type parameters";
+	protected final String TEXT_327 = NL + "\t\t";
+	protected final String TEXT_328 = " ";
+	protected final String TEXT_329 = "_";
+	protected final String TEXT_330 = " = addETypeParameter(";
+	protected final String TEXT_331 = ", \"";
+	protected final String TEXT_332 = "\");";
+	protected final String TEXT_333 = NL + "\t\taddETypeParameter(";
+	protected final String TEXT_334 = ", \"";
+	protected final String TEXT_335 = "\");";
+	protected final String TEXT_336 = NL + NL + "\t\t// Set bounds for type parameters";
+	protected final String TEXT_337 = NL + "\t\t";
+	protected final String TEXT_338 = "g";
+	protected final String TEXT_339 = " = createEGenericType(";
+	protected final String TEXT_340 = ");";
+	protected final String TEXT_341 = NL + "\t\tg";
+	protected final String TEXT_342 = ".";
+	protected final String TEXT_343 = "(g";
+	protected final String TEXT_344 = ");";
+	protected final String TEXT_345 = NL + "\t\t";
+	protected final String TEXT_346 = "_";
+	protected final String TEXT_347 = ".getEBounds().add(g1);";
+	protected final String TEXT_348 = NL + NL + "\t\t// Add supertypes to classes";
+	protected final String TEXT_349 = NL + "\t\t";
+	protected final String TEXT_350 = ".getESuperTypes().add(";
+	protected final String TEXT_351 = ".get";
+	protected final String TEXT_352 = "());";
+	protected final String TEXT_353 = NL + "\t\t";
+	protected final String TEXT_354 = "g";
+	protected final String TEXT_355 = " = createEGenericType(";
+	protected final String TEXT_356 = ");";
+	protected final String TEXT_357 = NL + "\t\tg";
+	protected final String TEXT_358 = ".";
+	protected final String TEXT_359 = "(g";
+	protected final String TEXT_360 = ");";
+	protected final String TEXT_361 = NL + "\t\t";
+	protected final String TEXT_362 = ".getEGenericSuperTypes().add(g1);";
+	protected final String TEXT_363 = NL + NL + "\t\t// Initialize classes";
+	protected final String TEXT_364 = ", features, and operations; add parameters";
+	protected final String TEXT_365 = " and features; add operations and parameters";
+	protected final String TEXT_366 = NL + "\t\tinitEClass(";
+	protected final String TEXT_367 = ", ";
+	protected final String TEXT_368 = "null";
+	protected final String TEXT_369 = ".class";
+	protected final String TEXT_370 = ", \"";
+	protected final String TEXT_371 = "\", ";
+	protected final String TEXT_372 = ", ";
+	protected final String TEXT_373 = ", ";
+	protected final String TEXT_374 = ", \"";
+	protected final String TEXT_375 = "\"";
+	protected final String TEXT_376 = ");";
+	protected final String TEXT_377 = NL + "\t\t";
+	protected final String TEXT_378 = "g";
+	protected final String TEXT_379 = " = createEGenericType(";
+	protected final String TEXT_380 = ");";
+	protected final String TEXT_381 = NL + "\t\tg";
+	protected final String TEXT_382 = ".";
+	protected final String TEXT_383 = "(g";
+	protected final String TEXT_384 = ");";
+	protected final String TEXT_385 = NL + "\t\tinitEReference(get";
+	protected final String TEXT_386 = "(), ";
+	protected final String TEXT_387 = "g1";
+	protected final String TEXT_388 = ".get";
+	protected final String TEXT_389 = "()";
+	protected final String TEXT_390 = ", ";
+	protected final String TEXT_391 = ", \"";
+	protected final String TEXT_392 = "\", ";
+	protected final String TEXT_393 = ", ";
+	protected final String TEXT_394 = ", ";
+	protected final String TEXT_395 = ", ";
+	protected final String TEXT_396 = ", ";
+	protected final String TEXT_397 = ", ";
+	protected final String TEXT_398 = ", ";
+	protected final String TEXT_399 = ", ";
+	protected final String TEXT_400 = ", ";
+	protected final String TEXT_401 = ", ";
+	protected final String TEXT_402 = ", ";
+	protected final String TEXT_403 = ", ";
+	protected final String TEXT_404 = ", ";
+	protected final String TEXT_405 = ");";
+	protected final String TEXT_406 = NL + "\t\tget";
+	protected final String TEXT_407 = "().getEKeys().add(";
+	protected final String TEXT_408 = ".get";
+	protected final String TEXT_409 = "());";
+	protected final String TEXT_410 = NL + "\t\tinitEAttribute(get";
+	protected final String TEXT_411 = "(), ";
+	protected final String TEXT_412 = "g1";
+	protected final String TEXT_413 = ".get";
+	protected final String TEXT_414 = "()";
+	protected final String TEXT_415 = ", \"";
+	protected final String TEXT_416 = "\", ";
+	protected final String TEXT_417 = ", ";
+	protected final String TEXT_418 = ", ";
+	protected final String TEXT_419 = ", ";
+	protected final String TEXT_420 = ", ";
+	protected final String TEXT_421 = ", ";
+	protected final String TEXT_422 = ", ";
+	protected final String TEXT_423 = ", ";
+	protected final String TEXT_424 = ", ";
+	protected final String TEXT_425 = ", ";
+	protected final String TEXT_426 = ", ";
+	protected final String TEXT_427 = ", ";
+	protected final String TEXT_428 = ");";
+	protected final String TEXT_429 = NL;
+	protected final String TEXT_430 = NL + "\t\t";
+	protected final String TEXT_431 = "initEOperation(get";
+	protected final String TEXT_432 = "()";
+	protected final String TEXT_433 = "addEOperation(";
+	protected final String TEXT_434 = ", ";
+	protected final String TEXT_435 = "null";
+	protected final String TEXT_436 = ".get";
+	protected final String TEXT_437 = "()";
+	protected final String TEXT_438 = ", \"";
+	protected final String TEXT_439 = "\", ";
+	protected final String TEXT_440 = ", ";
+	protected final String TEXT_441 = ", ";
+	protected final String TEXT_442 = ", ";
+	protected final String TEXT_443 = ");";
+	protected final String TEXT_444 = NL + "\t\t";
+	protected final String TEXT_445 = "initEOperation(get";
+	protected final String TEXT_446 = "()";
+	protected final String TEXT_447 = "addEOperation(";
+	protected final String TEXT_448 = ", ";
+	protected final String TEXT_449 = ".get";
+	protected final String TEXT_450 = "(), \"";
+	protected final String TEXT_451 = "\", ";
+	protected final String TEXT_452 = ", ";
+	protected final String TEXT_453 = ", ";
+	protected final String TEXT_454 = ", ";
+	protected final String TEXT_455 = ");";
+	protected final String TEXT_456 = NL + "\t\t";
+	protected final String TEXT_457 = "initEOperation(get";
+	protected final String TEXT_458 = "()";
+	protected final String TEXT_459 = "addEOperation(";
+	protected final String TEXT_460 = ", ";
+	protected final String TEXT_461 = ".get";
+	protected final String TEXT_462 = "(), \"";
+	protected final String TEXT_463 = "\", ";
+	protected final String TEXT_464 = ", ";
+	protected final String TEXT_465 = ");";
+	protected final String TEXT_466 = NL + "\t\t";
+	protected final String TEXT_467 = "initEOperation(get";
+	protected final String TEXT_468 = "()";
+	protected final String TEXT_469 = "addEOperation(";
+	protected final String TEXT_470 = ", null, \"";
+	protected final String TEXT_471 = "\");";
+	protected final String TEXT_472 = NL + "\t\t";
+	protected final String TEXT_473 = "addETypeParameter(op, \"";
+	protected final String TEXT_474 = "\");";
+	protected final String TEXT_475 = NL + "\t\t";
+	protected final String TEXT_476 = "g";
+	protected final String TEXT_477 = " = createEGenericType(";
+	protected final String TEXT_478 = ");";
+	protected final String TEXT_479 = NL + "\t\tg";
+	protected final String TEXT_480 = ".";
+	protected final String TEXT_481 = "(g";
+	protected final String TEXT_482 = ");";
+	protected final String TEXT_483 = NL + "\t\tt";
+	protected final String TEXT_484 = ".getEBounds().add(g1);";
+	protected final String TEXT_485 = NL + "\t\t";
+	protected final String TEXT_486 = "g";
+	protected final String TEXT_487 = " = createEGenericType(";
+	protected final String TEXT_488 = ");";
+	protected final String TEXT_489 = NL + "\t\tg";
+	protected final String TEXT_490 = ".";
+	protected final String TEXT_491 = "(g";
+	protected final String TEXT_492 = ");";
+	protected final String TEXT_493 = NL + "\t\taddEParameter(op, ";
+	protected final String TEXT_494 = "g1";
+	protected final String TEXT_495 = ".get";
+	protected final String TEXT_496 = "()";
+	protected final String TEXT_497 = ", \"";
+	protected final String TEXT_498 = "\", ";
+	protected final String TEXT_499 = ", ";
+	protected final String TEXT_500 = ", ";
+	protected final String TEXT_501 = ", ";
+	protected final String TEXT_502 = ");";
+	protected final String TEXT_503 = NL + "\t\taddEParameter(op, ";
+	protected final String TEXT_504 = "g1";
+	protected final String TEXT_505 = ".get";
+	protected final String TEXT_506 = "()";
+	protected final String TEXT_507 = ", \"";
+	protected final String TEXT_508 = "\", ";
+	protected final String TEXT_509 = ", ";
+	protected final String TEXT_510 = ", ";
+	protected final String TEXT_511 = ", ";
+	protected final String TEXT_512 = ");";
+	protected final String TEXT_513 = NL + "\t\taddEParameter(op, ";
+	protected final String TEXT_514 = "g1";
+	protected final String TEXT_515 = ".get";
+	protected final String TEXT_516 = "()";
+	protected final String TEXT_517 = ", \"";
+	protected final String TEXT_518 = "\", ";
+	protected final String TEXT_519 = ", ";
+	protected final String TEXT_520 = ");";
+	protected final String TEXT_521 = NL + "\t\t";
+	protected final String TEXT_522 = "g";
+	protected final String TEXT_523 = " = createEGenericType(";
+	protected final String TEXT_524 = ");";
+	protected final String TEXT_525 = NL + "\t\tg";
+	protected final String TEXT_526 = ".";
+	protected final String TEXT_527 = "(g";
+	protected final String TEXT_528 = ");";
+	protected final String TEXT_529 = NL + "\t\taddEException(op, g";
+	protected final String TEXT_530 = ");";
+	protected final String TEXT_531 = NL + "\t\taddEException(op, ";
+	protected final String TEXT_532 = ".get";
+	protected final String TEXT_533 = "());";
+	protected final String TEXT_534 = NL + "\t\t";
+	protected final String TEXT_535 = "g";
+	protected final String TEXT_536 = " = createEGenericType(";
+	protected final String TEXT_537 = ");";
+	protected final String TEXT_538 = NL + "\t\tg";
+	protected final String TEXT_539 = ".";
+	protected final String TEXT_540 = "(g";
+	protected final String TEXT_541 = ");";
+	protected final String TEXT_542 = NL + "\t\tinitEOperation(op, g1);";
+	protected final String TEXT_543 = NL;
+	protected final String TEXT_544 = NL + NL + "\t\t// Initialize enums and add enum literals";
+	protected final String TEXT_545 = NL + "\t\tinitEEnum(";
+	protected final String TEXT_546 = ", ";
+	protected final String TEXT_547 = ".class, \"";
+	protected final String TEXT_548 = "\");";
+	protected final String TEXT_549 = NL + "\t\taddEEnumLiteral(";
+	protected final String TEXT_550 = ", ";
+	protected final String TEXT_551 = ".";
+	protected final String TEXT_552 = ");";
+	protected final String TEXT_553 = NL;
+	protected final String TEXT_554 = NL + NL + "\t\t// Initialize data types";
+	protected final String TEXT_555 = NL + "\t\tinitEDataType(";
+	protected final String TEXT_556 = ", ";
+	protected final String TEXT_557 = ".class, \"";
+	protected final String TEXT_558 = "\", ";
+	protected final String TEXT_559 = ", ";
+	protected final String TEXT_560 = ", \"";
+	protected final String TEXT_561 = "\"";
+	protected final String TEXT_562 = ");";
+	protected final String TEXT_563 = NL + NL + "\t\t// Create resource" + NL + "\t\tcreateResource(";
+	protected final String TEXT_564 = ");";
+	protected final String TEXT_565 = NL + NL + "\t\t// Create annotations";
+	protected final String TEXT_566 = NL + "\t\t// ";
+	protected final String TEXT_567 = NL + "\t\tcreate";
+	protected final String TEXT_568 = "Annotations();";
+	protected final String TEXT_569 = NL + "\t}" + NL;
+	protected final String TEXT_570 = NL + "\t/**" + NL + "\t * Initializes the annotations for <b>";
+	protected final String TEXT_571 = "</b>." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void create";
+	protected final String TEXT_572 = "Annotations()" + NL + "\t{" + NL + "\t\tString source = ";
+	protected final String TEXT_573 = "null;";
+	protected final String TEXT_574 = "\"";
+	protected final String TEXT_575 = "\";";
+	protected final String TEXT_576 = "\t" + NL + "\t\taddAnnotation" + NL + "\t\t  (";
+	protected final String TEXT_577 = ", " + NL + "\t\t   source, " + NL + "\t\t   new String[] " + NL + "\t\t   {";
+	protected final String TEXT_578 = NL + "\t\t\t ";
+	protected final String TEXT_579 = ", ";
+	protected final String TEXT_580 = NL + "\t\t   }";
+	protected final String TEXT_581 = ");";
+	protected final String TEXT_582 = ",";
+	protected final String TEXT_583 = NL + "\t\t   new ";
+	protected final String TEXT_584 = "[] " + NL + "\t\t   {";
+	protected final String TEXT_585 = NL + "\t\t\t ";
+	protected final String TEXT_586 = ".createURI(";
+	protected final String TEXT_587 = ".";
+	protected final String TEXT_588 = "eNS_URI).appendFragment(\"";
+	protected final String TEXT_589 = "\")";
+	protected final String TEXT_590 = ",";
+	protected final String TEXT_591 = NL + "\t\t   });";
+	protected final String TEXT_592 = NL + "\t\taddAnnotation" + NL + "\t\t  (";
+	protected final String TEXT_593 = ", " + NL + "\t\t   ";
+	protected final String TEXT_594 = "new boolean[] { ";
+	protected final String TEXT_595 = " }";
+	protected final String TEXT_596 = "," + NL + "\t\t   ";
+	protected final String TEXT_597 = "null,";
+	protected final String TEXT_598 = "\"";
+	protected final String TEXT_599 = "\",";
+	protected final String TEXT_600 = NL + "\t\t   new String[] " + NL + "\t\t   {";
+	protected final String TEXT_601 = NL + "\t\t\t ";
+	protected final String TEXT_602 = ", ";
+	protected final String TEXT_603 = NL + "\t\t   }";
+	protected final String TEXT_604 = ");";
+	protected final String TEXT_605 = ",";
+	protected final String TEXT_606 = NL + "\t\t   new ";
+	protected final String TEXT_607 = "[] " + NL + "\t\t   {";
+	protected final String TEXT_608 = NL + "\t\t\t ";
+	protected final String TEXT_609 = ".createURI(";
+	protected final String TEXT_610 = ".";
+	protected final String TEXT_611 = "eNS_URI).appendFragment(\"";
+	protected final String TEXT_612 = "\")";
+	protected final String TEXT_613 = ",";
+	protected final String TEXT_614 = NL + "\t\t   });";
+	protected final String TEXT_615 = NL + "\t}" + NL;
+	protected final String TEXT_616 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate boolean isLoaded = false;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Laods the package and any sub-packages from their serialized form." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void loadPackage()" + NL + "\t{" + NL + "\t\tif (isLoaded) return;" + NL
+			+ "\t\tisLoaded = true;" + NL + "" + NL + "\t\t";
+	protected final String TEXT_617 = " url = getClass().getResource(packageFilename);" + NL + "\t\tif (url == null)"
+			+ NL + "\t\t{" + NL
+			+ "\t\t\tthrow new RuntimeException(\"Missing serialized package: \" + packageFilename);";
+	protected final String TEXT_618 = NL + "\t\t}" + NL + "\t\t";
+	protected final String TEXT_619 = " uri = ";
+	protected final String TEXT_620 = ".createURI(url.toString());" + NL + "\t\t";
+	protected final String TEXT_621 = " resource = new ";
+	protected final String TEXT_622 = "().createResource(uri);" + NL + "\t\ttry" + NL + "\t\t{" + NL
+			+ "\t\t\tresource.load(null);" + NL + "\t\t}" + NL + "\t\tcatch (";
+	protected final String TEXT_623 = " exception)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";
+	protected final String TEXT_624 = "(exception);" + NL + "\t\t}" + NL + "\t\tinitializeFromLoadedEPackage(this, (";
+	protected final String TEXT_625 = ")resource.getContents().get(0));" + NL + "\t\tcreateResource(eNS_URI);" + NL
+			+ "\t}" + NL;
+	protected final String TEXT_626 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate boolean isFixed = false;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Fixes up the loaded package, to make it appear as if it had been programmatically built." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void fixPackageContents()" + NL + "\t{" + NL + "\t\tif (isFixed) return;" + NL
+			+ "\t\tisFixed = true;" + NL + "\t\tfixEClassifiers();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Sets the instance class on the given classifier." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_627 = NL + "\t@Override";
+	protected final String TEXT_628 = NL + "\tprotected void fixInstanceClass(";
+	protected final String TEXT_629 = " eClassifier)" + NL + "\t{" + NL
+			+ "\t\tif (eClassifier.getInstanceClassName() == null)" + NL + "\t\t{";
+	protected final String TEXT_630 = NL + "\t\t\teClassifier.setInstanceClassName(\"";
+	protected final String TEXT_631 = ".\" + eClassifier.getName());";
+	protected final String TEXT_632 = NL + "\t\t\tsetGeneratedClassName(eClassifier);";
+	protected final String TEXT_633 = NL + "\t\t\tswitch (eClassifier.getClassifierID())" + NL + "\t\t\t{";
+	protected final String TEXT_634 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_635 = ":";
+	protected final String TEXT_636 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tbreak;" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t\tdefault:" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\teClassifier.setInstanceClassName(\"";
+	protected final String TEXT_637 = ".\" + eClassifier.getName());";
+	protected final String TEXT_638 = NL + "\t\t\t\t\tsetGeneratedClassName(eClassifier);" + NL + "\t\t\t\t\tbreak;"
+			+ NL + "\t\t\t\t}" + NL + "\t\t\t}";
+	protected final String TEXT_639 = NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_640 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_641 = " addEOperation(";
+	protected final String TEXT_642 = " owner, ";
+	protected final String TEXT_643 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"
+			+ NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_644 = " o = addEOperation(owner, type, name, lowerBound, upperBound);" + NL
+			+ "\t\to.setUnique(isUnique);" + NL + "\t\to.setOrdered(isOrdered);" + NL + "\t\treturn o;" + NL + "\t}"
+			+ NL + "\t";
+	protected final String TEXT_645 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_646 = " addEParameter(";
+	protected final String TEXT_647 = " owner, ";
+	protected final String TEXT_648 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"
+			+ NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_649 = " p = ecoreFactory.createEParameter();" + NL + "\t\tp.setEType(type);" + NL
+			+ "\t\tp.setName(name);" + NL + "\t\tp.setLowerBound(lowerBound);" + NL + "\t\tp.setUpperBound(upperBound);"
+			+ NL + "\t\tp.setUnique(isUnique);" + NL + "\t\tp.setOrdered(isOrdered);" + NL
+			+ "\t\towner.getEParameters().add(p);" + NL + "\t\treturn p;" + NL + "\t}" + NL + "\t";
+	protected final String TEXT_650 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * Defines literals for the meta objects that represent" + NL + "\t * <ul>" + NL
+			+ "\t *   <li>each class,</li>" + NL + "\t *   <li>each feature of each class,</li>";
+	protected final String TEXT_651 = NL + "\t *   <li>each operation of each class,</li>";
+	protected final String TEXT_652 = NL + "\t *   <li>each enum,</li>" + NL + "\t *   <li>and each data type</li>" + NL
+			+ "\t * </ul>" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_653 = "public ";
+	protected final String TEXT_654 = "interface Literals" + NL + "\t{";
+	protected final String TEXT_655 = NL + "\t\t/**";
+	protected final String TEXT_656 = NL + "\t\t * The meta object literal for the '{@link ";
+	protected final String TEXT_657 = " <em>";
+	protected final String TEXT_658 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
+	protected final String TEXT_659 = NL + "\t\t * The meta object literal for the '{@link ";
+	protected final String TEXT_660 = " <em>";
+	protected final String TEXT_661 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
+	protected final String TEXT_662 = NL + "\t\t * The meta object literal for the '{@link ";
+	protected final String TEXT_663 = " <em>";
+	protected final String TEXT_664 = "</em>}' enum." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
+	protected final String TEXT_665 = NL + "\t\t * The meta object literal for the '<em>";
+	protected final String TEXT_666 = "</em>' data type." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->";
+	protected final String TEXT_667 = NL + "\t\t * @see ";
+	protected final String TEXT_668 = NL + "\t\t * @see ";
+	protected final String TEXT_669 = "#get";
+	protected final String TEXT_670 = "()" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";
+	protected final String TEXT_671 = " ";
+	protected final String TEXT_672 = " = eINSTANCE.get";
+	protected final String TEXT_673 = "();" + NL;
+	protected final String TEXT_674 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";
+	protected final String TEXT_675 = "</b></em>' ";
+	protected final String TEXT_676 = " feature." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";
+	protected final String TEXT_677 = " ";
+	protected final String TEXT_678 = " = eINSTANCE.get";
+	protected final String TEXT_679 = "();" + NL;
+	protected final String TEXT_680 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";
+	protected final String TEXT_681 = "</b></em>' operation." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";
+	protected final String TEXT_682 = " ";
+	protected final String TEXT_683 = " = eINSTANCE.get";
+	protected final String TEXT_684 = "();" + NL;
+	protected final String TEXT_685 = NL + "\t}" + NL;
+	protected final String TEXT_686 = NL + "} //";
+	protected final String TEXT_687 = NL;
+	protected final String TEXT_688 = NL;
+	protected final String TEXT_689 = NL;
+
+	public PackageClass() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_688);
+		stringBuffer.append(TEXT_689);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getModelDirectory();
+		packageName = genPackage.getReflectionClassPackageName();
+		className = genPackage.getPackageClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = ((Object[]) new Object[] {
+				new Object[] { genPackage,
+						genPackage.getGenModel().isSuppressEMFMetaData()
+								|| genPackage.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE,
+						Boolean.TRUE } })[0];
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2010 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		final GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];
+		final GenModel genModel = genPackage.getGenModel();
+		boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
+		boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
+		String publicStaticFinalFlag = isImplementation ? "public static final " : "";
+		boolean needsAddEOperation = false;
+		boolean needsAddEParameter = false;
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		if (isImplementation && !genModel.isSuppressInterfaces()) {
+			stringBuffer.append(TEXT_2);
+			stringBuffer.append(genPackage.getClassPackageName());
+			stringBuffer.append(TEXT_3);
+		} else {
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(genPackage.getReflectionPackageName());
+			stringBuffer.append(TEXT_5);
+		}
+		stringBuffer.append(TEXT_6);
+		genModel.markImportLocation(stringBuffer, genPackage);
+		if (isImplementation) {
+			genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Registry");
+			genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Descriptor");
+			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.EPackageImpl.EBasicWhiteList");
+			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");
+			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");
+			if (genPackage.isLiteralsInterface()) {
+				genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + ".Literals");
+			}
+			for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers())
+				genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + "."
+						+ genPackage.getClassifierID(genClassifier));
+		}
+		if (isInterface) {
+			stringBuffer.append(TEXT_7);
+			if (genModel.isOperationReflection()) {
+				stringBuffer.append(TEXT_8);
+			}
+			stringBuffer.append(TEXT_9);
+			if (genPackage.hasDocumentation()) {
+				stringBuffer.append(TEXT_10);
+				stringBuffer.append(genPackage.getDocumentation(genModel.getIndentation(stringBuffer)));
+				stringBuffer.append(TEXT_11);
+			}
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genPackage.getQualifiedFactoryInterfaceName());
+			if (!genModel.isSuppressEMFModelTags()) {
+				boolean first = true;
+				for (StringTokenizer stringTokenizer = new StringTokenizer(genPackage.getModelInfo(),
+						"\n\r"); stringTokenizer.hasMoreTokens();) {
+					String modelInfo = stringTokenizer.nextToken();
+					if (first) {
+						first = false;
+						stringBuffer.append(TEXT_13);
+						stringBuffer.append(modelInfo);
+					} else {
+						stringBuffer.append(TEXT_14);
+						stringBuffer.append(modelInfo);
+					}
+				}
+				if (first) {
+					stringBuffer.append(TEXT_15);
+				}
+			}
+			stringBuffer.append(TEXT_16);
+		} else {
+			stringBuffer.append(TEXT_17);
+		}
+		if (isImplementation) {
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(genPackage.getPackageClassName());
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl"));
+			if (!isInterface) {
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			}
+		} else {
+			stringBuffer.append(TEXT_21);
+			stringBuffer.append(genPackage.getPackageInterfaceName());
+			stringBuffer.append(TEXT_22);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+		}
+		stringBuffer.append(TEXT_23);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_26);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_27);
+		}
+		if (isInterface) {
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_29);
+			stringBuffer.append(genPackage.getPackageName());
+			stringBuffer.append(TEXT_30);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_31);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_32);
+			stringBuffer.append(genPackage.getNSURI());
+			stringBuffer.append(TEXT_33);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_34);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_35);
+			stringBuffer.append(genPackage.getNSName());
+			stringBuffer.append(TEXT_36);
+			stringBuffer.append(genModel.getNonNLS());
+			if (genPackage.isContentType()) {
+				stringBuffer.append(TEXT_37);
+				stringBuffer.append(publicStaticFinalFlag);
+				stringBuffer.append(genModel.getImportedName("java.lang.String"));
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genPackage.getContentTypeIdentifier());
+				stringBuffer.append(TEXT_39);
+				stringBuffer.append(genModel.getNonNLS());
+			}
+			stringBuffer.append(TEXT_40);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genPackage.getPackageInterfaceName());
+			stringBuffer.append(TEXT_41);
+			stringBuffer.append(genPackage.getQualifiedPackageClassName());
+			stringBuffer.append(TEXT_42);
+			for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {
+				stringBuffer.append(TEXT_43);
+				if (genClassifier instanceof GenClass) {
+					GenClass genClass = (GenClass) genClassifier;
+					if (!genClass.isInterface()) {
+						stringBuffer.append(TEXT_44);
+						stringBuffer.append(genClass.getQualifiedClassName());
+						stringBuffer.append(TEXT_45);
+						stringBuffer.append(genClass.getFormattedName());
+						stringBuffer.append(TEXT_46);
+						stringBuffer.append(genClass.getQualifiedClassName());
+					} else {
+						stringBuffer.append(TEXT_47);
+						stringBuffer.append(genClass.getQualifiedInterfaceName());
+						stringBuffer.append(TEXT_48);
+						stringBuffer.append(genClass.getFormattedName());
+						stringBuffer.append(TEXT_49);
+						stringBuffer.append(genClass.getQualifiedInterfaceName());
+					}
+				} else if (genClassifier instanceof GenEnum) {
+					GenEnum genEnum = (GenEnum) genClassifier;
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(genEnum.getQualifiedName());
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(genEnum.getFormattedName());
+					stringBuffer.append(TEXT_52);
+					stringBuffer.append(genEnum.getQualifiedName());
+				} else if (genClassifier instanceof GenDataType) {
+					GenDataType genDataType = (GenDataType) genClassifier;
+					stringBuffer.append(TEXT_53);
+					stringBuffer.append(genDataType.getFormattedName());
+					stringBuffer.append(TEXT_54);
+					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(genDataType.getRawInstanceClassName());
+					}
+				}
+				stringBuffer.append(TEXT_56);
+				stringBuffer.append(genPackage.getQualifiedPackageClassName());
+				stringBuffer.append(TEXT_57);
+				stringBuffer.append(genClassifier.getClassifierAccessorName());
+				stringBuffer.append(TEXT_58);
+				stringBuffer.append(publicStaticFinalFlag);
+				stringBuffer.append(TEXT_59);
+				stringBuffer.append(genPackage.getClassifierID(genClassifier));
+				stringBuffer.append(TEXT_60);
+				stringBuffer.append(genPackage.getClassifierValue(genClassifier));
+				stringBuffer.append(TEXT_61);
+				if (genClassifier instanceof GenClass) {
+					GenClass genClass = (GenClass) genClassifier;
+					for (GenFeature genFeature : genClass.getAllGenFeatures()) {
+						stringBuffer.append(TEXT_62);
+						stringBuffer.append(genFeature.getFormattedName());
+						stringBuffer.append(TEXT_63);
+						stringBuffer.append(genFeature.getFeatureKind());
+						stringBuffer.append(TEXT_64);
+						stringBuffer.append(publicStaticFinalFlag);
+						stringBuffer.append(TEXT_65);
+						stringBuffer.append(genClass.getFeatureID(genFeature));
+						stringBuffer.append(TEXT_66);
+						stringBuffer.append(genClass.getFeatureValue(genFeature));
+						stringBuffer.append(TEXT_67);
+					}
+					stringBuffer.append(TEXT_68);
+					stringBuffer.append(genClass.getFormattedName());
+					stringBuffer.append(TEXT_69);
+					stringBuffer.append(publicStaticFinalFlag);
+					stringBuffer.append(TEXT_70);
+					stringBuffer.append(genClass.getFeatureCountID());
+					stringBuffer.append(TEXT_71);
+					stringBuffer.append(genClass.getFeatureCountValue());
+					stringBuffer.append(TEXT_72);
+					if (genModel.isOperationReflection()) {
+						for (GenOperation genOperation : genClass.getAllGenOperations(false)) {
+							if (genClass.getOverrideGenOperation(genOperation) == null) {
+								stringBuffer.append(TEXT_73);
+								stringBuffer.append(genOperation.getFormattedName());
+								stringBuffer.append(TEXT_74);
+								stringBuffer.append(publicStaticFinalFlag);
+								stringBuffer.append(TEXT_75);
+								stringBuffer.append(genClass.getOperationID(genOperation, false));
+								stringBuffer.append(TEXT_76);
+								stringBuffer.append(genClass.getOperationValue(genOperation));
+								stringBuffer.append(TEXT_77);
+							}
+						}
+						stringBuffer.append(TEXT_78);
+						stringBuffer.append(genClass.getFormattedName());
+						stringBuffer.append(TEXT_79);
+						stringBuffer.append(publicStaticFinalFlag);
+						stringBuffer.append(TEXT_80);
+						stringBuffer.append(genClass.getOperationCountID());
+						stringBuffer.append(TEXT_81);
+						stringBuffer.append(genClass.getOperationCountValue());
+						stringBuffer.append(TEXT_82);
+					}
+				}
+			}
+		}
+		if (isImplementation) {
+			if (genPackage.isLoadingInitialization()) {
+				stringBuffer.append(TEXT_83);
+				stringBuffer.append(genPackage.getSerializedPackageFilename());
+				stringBuffer.append(TEXT_84);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(TEXT_85);
+			}
+			for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+				stringBuffer.append(TEXT_86);
+				stringBuffer.append(genClassifier.getImportedMetaType());
+				stringBuffer.append(TEXT_87);
+				stringBuffer.append(genClassifier.getClassifierInstanceName());
+				stringBuffer.append(TEXT_88);
+			}
+			stringBuffer.append(TEXT_89);
+			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+			stringBuffer.append(TEXT_90);
+			stringBuffer.append(genPackage.getPackageClassName());
+			stringBuffer.append(TEXT_91);
+			stringBuffer.append(genPackage.getQualifiedEFactoryInstanceAccessor());
+			stringBuffer.append(TEXT_92);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_93);
+			if (!genPackage.isLoadedInitialization()) {
+				stringBuffer.append(TEXT_94);
+			}
+			stringBuffer.append(TEXT_95);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_96);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_97);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_98);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_99);
+			if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+				stringBuffer.append(TEXT_100);
+			}
+			stringBuffer.append(TEXT_101);
+			stringBuffer.append(genPackage.getPackageClassName());
+			stringBuffer.append(TEXT_102);
+			stringBuffer.append(genPackage.getBasicPackageName());
+			stringBuffer.append(TEXT_103);
+			stringBuffer.append(genPackage.getPackageClassName());
+			stringBuffer.append(TEXT_104);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_105);
+			stringBuffer.append(genPackage.getPackageClassName());
+			stringBuffer.append(TEXT_106);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_107);
+			stringBuffer.append(genPackage.getPackageClassName());
+			stringBuffer.append(TEXT_108);
+			if (!genPackage.getPackageSimpleDependencies().isEmpty()) {
+				stringBuffer.append(TEXT_109);
+				for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {
+					stringBuffer.append(TEXT_110);
+					stringBuffer.append(dep.getImportedPackageInterfaceName());
+					stringBuffer.append(TEXT_111);
+				}
+				stringBuffer.append(TEXT_112);
+			}
+			if (!genPackage.getPackageInterDependencies().isEmpty()) {
+				stringBuffer.append(TEXT_113);
+				for (GenPackage interdep : genPackage.getPackageInterDependencies()) {
+					stringBuffer.append(TEXT_114);
+					stringBuffer.append(interdep.getImportedPackageClassName());
+					stringBuffer.append(TEXT_115);
+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+					stringBuffer.append(TEXT_116);
+					stringBuffer.append(interdep.getImportedPackageClassName());
+					stringBuffer.append(TEXT_117);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+					stringBuffer.append(TEXT_118);
+					stringBuffer.append(interdep.getImportedPackageInterfaceName());
+					stringBuffer.append(TEXT_119);
+					stringBuffer.append(interdep.getImportedPackageClassName());
+					stringBuffer.append(TEXT_120);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+					stringBuffer.append(TEXT_121);
+					stringBuffer.append(interdep.getImportedPackageInterfaceName());
+					stringBuffer.append(TEXT_122);
+					stringBuffer.append(interdep.getImportedPackageInterfaceName());
+					stringBuffer.append(TEXT_123);
+				}
+				stringBuffer.append(TEXT_124);
+			}
+			if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {
+				stringBuffer.append(TEXT_125);
+				if (genPackage.isLoadingInitialization()) {
+					stringBuffer.append(TEXT_126);
+					stringBuffer.append(genPackage.getBasicPackageName());
+					stringBuffer.append(TEXT_127);
+				}
+				for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {
+					if (interdep.isLoadingInitialization()) {
+						stringBuffer.append(TEXT_128);
+						stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+						stringBuffer.append(TEXT_129);
+					}
+				}
+				stringBuffer.append(TEXT_130);
+			}
+			if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {
+				stringBuffer.append(TEXT_131);
+				if (!genPackage.isLoadedInitialization()) {
+					stringBuffer.append(TEXT_132);
+					stringBuffer.append(genPackage.getBasicPackageName());
+					stringBuffer.append(TEXT_133);
+				}
+				for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {
+					stringBuffer.append(TEXT_134);
+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+					stringBuffer.append(TEXT_135);
+				}
+				stringBuffer.append(TEXT_136);
+				if (!genPackage.isLoadedInitialization()) {
+					stringBuffer.append(TEXT_137);
+					stringBuffer.append(genPackage.getBasicPackageName());
+					stringBuffer.append(TEXT_138);
+				}
+				for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {
+					stringBuffer.append(TEXT_139);
+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+					stringBuffer.append(TEXT_140);
+				}
+				stringBuffer.append(TEXT_141);
+			}
+			if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {
+				stringBuffer.append(TEXT_142);
+				if (genPackage.isLoadedInitialization()) {
+					stringBuffer.append(TEXT_143);
+					stringBuffer.append(genPackage.getBasicPackageName());
+					stringBuffer.append(TEXT_144);
+				}
+				for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {
+					stringBuffer.append(TEXT_145);
+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+					stringBuffer.append(TEXT_146);
+				}
+				stringBuffer.append(TEXT_147);
+			}
+			if (genPackage.hasConstraints()) {
+				stringBuffer.append(TEXT_148);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
+				stringBuffer.append(TEXT_149);
+				stringBuffer.append(genPackage.getBasicPackageName());
+				stringBuffer.append(TEXT_150);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
+				stringBuffer.append(TEXT_151);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
+				stringBuffer.append(TEXT_152);
+				stringBuffer.append(genPackage.getImportedValidatorClassName());
+				stringBuffer.append(TEXT_153);
+			}
+			if (!genPackage.isEcorePackage()) {
+				stringBuffer.append(TEXT_154);
+				stringBuffer.append(genPackage.getBasicPackageName());
+				stringBuffer.append(TEXT_155);
+			}
+			stringBuffer.append(TEXT_156);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_157);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_158);
+			stringBuffer.append(genPackage.getBasicPackageName());
+			stringBuffer.append(TEXT_159);
+			stringBuffer.append(genPackage.getBasicPackageName());
+			stringBuffer.append(TEXT_160);
+			if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+				stringBuffer.append(TEXT_161);
+				Set<String> helpers = new HashSet<String>();
+				for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+					if (genClassifier instanceof GenClass) {
+						GenClass genClass = (GenClass) genClassifier;
+						if (!genClass.isDynamic()) {
+							String theClass = genClass.isMapEntry() ? genClass.getImportedClassName()
+									: genClass.getRawImportedInterfaceName();
+							if (helpers.add(theClass)) {
+								stringBuffer.append(TEXT_162);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+								stringBuffer.append(TEXT_163);
+								stringBuffer.append(theClass);
+								stringBuffer.append(TEXT_164);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+								stringBuffer.append(TEXT_165);
+								stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()
+										: genClass.getRawImportedInterfaceName()
+												+ genClass.getInterfaceWildTypeArguments());
+								stringBuffer.append(TEXT_166);
+								stringBuffer.append(theClass);
+								stringBuffer.append(TEXT_167);
+							}
+						}
+					} else if (genClassifier instanceof GenDataType) {
+						GenDataType genDataType = (GenDataType) genClassifier;
+						if (!genDataType.isPrimitiveType() && !genDataType.isObjectType()) {
+							String theClass = genDataType.getRawImportedInstanceClassName();
+							if (helpers.add(theClass)) {
+								stringBuffer.append(TEXT_168);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+								stringBuffer.append(TEXT_169);
+								stringBuffer.append(theClass);
+								stringBuffer.append(TEXT_170);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+								stringBuffer.append(TEXT_171);
+								stringBuffer.append(theClass);
+								stringBuffer.append(TEXT_172);
+								if (genDataType.isArrayType()) {
+									String componentType = theClass;
+									String indices = "";
+									while (componentType.endsWith("[]")) {
+										componentType = componentType.substring(0, componentType.length() - 2);
+										indices += "[]";
+									}
+									stringBuffer.append(TEXT_173);
+									stringBuffer.append(componentType);
+									stringBuffer.append(TEXT_174);
+									stringBuffer.append(indices);
+									stringBuffer.append(TEXT_175);
+								} else {
+									stringBuffer.append(TEXT_176);
+									stringBuffer.append(theClass);
+									stringBuffer.append(TEXT_177);
+								}
+								stringBuffer.append(TEXT_178);
+							}
+						}
+					}
+				}
+				stringBuffer.append(TEXT_179);
+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable"));
+				stringBuffer.append(TEXT_180);
+				for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+					if (genClassifier instanceof GenClass) {
+						GenClass genClass = (GenClass) genClassifier;
+						if (!genClass.isDynamic()) {
+							stringBuffer.append(TEXT_181);
+							stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()
+									: genClass.getImportedWildcardInstanceClassName());
+							stringBuffer.append(TEXT_182);
+							stringBuffer.append(genClass.getSafeUncapName());
+							stringBuffer.append(TEXT_183);
+						}
+					} else if (genClassifier instanceof GenDataType) {
+						GenDataType genDataType = (GenDataType) genClassifier;
+						if (!genDataType.isObjectType() && genDataType.isSerializable()) {
+							stringBuffer.append(TEXT_184);
+							stringBuffer.append(genDataType.getImportedWildcardInstanceClassName());
+							stringBuffer.append(TEXT_185);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_186);
+						}
+					}
+				}
+				stringBuffer.append(TEXT_187);
+			}
+			stringBuffer.append(TEXT_188);
+		}
+		if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE
+			stringBuffer.append(TEXT_189);
+		}
+		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+			if (isInterface) {
+				stringBuffer.append(TEXT_190);
+				if (genClassifier instanceof GenClass) {
+					GenClass genClass = (GenClass) genClassifier;
+					stringBuffer.append(TEXT_191);
+					stringBuffer.append(genClass.getQualifiedInterfaceName());
+					stringBuffer.append(TEXT_192);
+					stringBuffer.append(genClass.getFormattedName());
+					stringBuffer.append(TEXT_193);
+					stringBuffer.append(genClass.getFormattedName());
+					stringBuffer.append(TEXT_194);
+					stringBuffer.append(genClass.getQualifiedInterfaceName());
+					if (!genModel.isSuppressEMFModelTags()
+							&& (genClass.isExternalInterface() || genClass.isDynamic())) {
+						boolean first = true;
+						for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(),
+								"\n\r"); stringTokenizer.hasMoreTokens();) {
+							String modelInfo = stringTokenizer.nextToken();
+							if (first) {
+								first = false;
+								stringBuffer.append(TEXT_195);
+								stringBuffer.append(modelInfo);
+							} else {
+								stringBuffer.append(TEXT_196);
+								stringBuffer.append(modelInfo);
+							}
+						}
+						if (first) {
+							stringBuffer.append(TEXT_197);
+						}
+					}
+				} else if (genClassifier instanceof GenEnum) {
+					GenEnum genEnum = (GenEnum) genClassifier;
+					stringBuffer.append(TEXT_198);
+					stringBuffer.append(genEnum.getQualifiedName());
+					stringBuffer.append(TEXT_199);
+					stringBuffer.append(genEnum.getFormattedName());
+					stringBuffer.append(TEXT_200);
+					stringBuffer.append(genEnum.getFormattedName());
+					stringBuffer.append(TEXT_201);
+					stringBuffer.append(genEnum.getQualifiedName());
+				} else if (genClassifier instanceof GenDataType) {
+					GenDataType genDataType = (GenDataType) genClassifier;
+					if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {
+						stringBuffer.append(TEXT_202);
+						stringBuffer.append(genDataType.getFormattedName());
+						stringBuffer.append(TEXT_203);
+					} else {
+						stringBuffer.append(TEXT_204);
+						stringBuffer.append(genDataType.getRawInstanceClassName());
+						stringBuffer.append(TEXT_205);
+						stringBuffer.append(genDataType.getFormattedName());
+						stringBuffer.append(TEXT_206);
+					}
+					stringBuffer.append(TEXT_207);
+					stringBuffer.append(genDataType.getFormattedName());
+					stringBuffer.append(TEXT_208);
+					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
+						stringBuffer.append(TEXT_209);
+						stringBuffer.append(genDataType.getRawInstanceClassName());
+					}
+					if (!genModel.isSuppressEMFModelTags()) {
+						boolean first = true;
+						for (StringTokenizer stringTokenizer = new StringTokenizer(genDataType.getModelInfo(),
+								"\n\r"); stringTokenizer.hasMoreTokens();) {
+							String modelInfo = stringTokenizer.nextToken();
+							if (first) {
+								first = false;
+								stringBuffer.append(TEXT_210);
+								stringBuffer.append(modelInfo);
+							} else {
+								stringBuffer.append(TEXT_211);
+								stringBuffer.append(modelInfo);
+							}
+						}
+						if (first) {
+							stringBuffer.append(TEXT_212);
+						}
+					}
+				}
+				stringBuffer.append(TEXT_213);
+			} else {
+				stringBuffer.append(TEXT_214);
+			}
+			if (isImplementation) {
+				stringBuffer.append(TEXT_215);
+				stringBuffer.append(genClassifier.getImportedMetaType());
+				stringBuffer.append(TEXT_216);
+				stringBuffer.append(genClassifier.getClassifierAccessorName());
+				stringBuffer.append(TEXT_217);
+				if (genPackage.isLoadedInitialization()) {
+					stringBuffer.append(TEXT_218);
+					stringBuffer.append(genClassifier.getClassifierInstanceName());
+					stringBuffer.append(TEXT_219);
+					stringBuffer.append(genClassifier.getClassifierInstanceName());
+					stringBuffer.append(TEXT_220);
+					stringBuffer.append(genClassifier.getImportedMetaType());
+					stringBuffer.append(TEXT_221);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+					stringBuffer.append(TEXT_222);
+					stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+					stringBuffer.append(TEXT_223);
+					stringBuffer.append(genPackage.getLocalClassifierIndex(genClassifier));
+					stringBuffer.append(TEXT_224);
+				}
+				stringBuffer.append(TEXT_225);
+				stringBuffer.append(genClassifier.getClassifierInstanceName());
+				stringBuffer.append(TEXT_226);
+			} else {
+				stringBuffer.append(TEXT_227);
+				stringBuffer.append(genClassifier.getImportedMetaType());
+				stringBuffer.append(TEXT_228);
+				stringBuffer.append(genClassifier.getClassifierAccessorName());
+				stringBuffer.append(TEXT_229);
+			}
+			if (genClassifier instanceof GenClass) {
+				GenClass genClass = (GenClass) genClassifier;
+				for (GenFeature genFeature : genClass.getGenFeatures()) {
+					if (isInterface) {
+						stringBuffer.append(TEXT_230);
+						stringBuffer.append(genFeature.getFeatureKind());
+						stringBuffer.append(TEXT_231);
+						stringBuffer.append(genClass.getQualifiedInterfaceName());
+						if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {
+							stringBuffer.append(TEXT_232);
+							stringBuffer.append(genFeature.getGetAccessor());
+						}
+						stringBuffer.append(TEXT_233);
+						stringBuffer.append(genFeature.getFormattedName());
+						stringBuffer.append(TEXT_234);
+						stringBuffer.append(genFeature.getFeatureKind());
+						stringBuffer.append(TEXT_235);
+						stringBuffer.append(genFeature.getFormattedName());
+						stringBuffer.append(TEXT_236);
+						stringBuffer.append(genClass.getQualifiedInterfaceName());
+						if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {
+							stringBuffer.append(TEXT_237);
+							stringBuffer.append(genFeature.getGetAccessor());
+							stringBuffer.append(TEXT_238);
+						}
+						stringBuffer.append(TEXT_239);
+						stringBuffer.append(genClass.getClassifierAccessorName());
+						stringBuffer.append(TEXT_240);
+					} else {
+						stringBuffer.append(TEXT_241);
+					}
+					if (isImplementation) {
+						stringBuffer.append(TEXT_242);
+						stringBuffer.append(genFeature.getImportedMetaType());
+						stringBuffer.append(TEXT_243);
+						stringBuffer.append(genFeature.getFeatureAccessorName());
+						stringBuffer.append(TEXT_244);
+						if (!genPackage.isLoadedInitialization()) {
+							stringBuffer.append(TEXT_245);
+							stringBuffer.append(genFeature.getImportedMetaType());
+							stringBuffer.append(TEXT_246);
+							stringBuffer.append(genClass.getClassifierInstanceName());
+							stringBuffer.append(TEXT_247);
+							stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));
+							stringBuffer.append(TEXT_248);
+						} else {
+							stringBuffer.append(TEXT_249);
+							stringBuffer.append(genFeature.getImportedMetaType());
+							stringBuffer.append(TEXT_250);
+							stringBuffer.append(genClassifier.getClassifierAccessorName());
+							stringBuffer.append(TEXT_251);
+							stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));
+							stringBuffer.append(TEXT_252);
+						}
+						stringBuffer.append(TEXT_253);
+					} else {
+						stringBuffer.append(TEXT_254);
+						stringBuffer.append(genFeature.getImportedMetaType());
+						stringBuffer.append(TEXT_255);
+						stringBuffer.append(genFeature.getFeatureAccessorName());
+						stringBuffer.append(TEXT_256);
+					}
+					stringBuffer.append(TEXT_257);
+				}
+				if (genModel.isOperationReflection()) {
+					for (GenOperation genOperation : genClass.getGenOperations()) {
+						if (isInterface) {
+							stringBuffer.append(TEXT_258);
+							stringBuffer.append(genClass.getQualifiedInterfaceName());
+							stringBuffer.append(TEXT_259);
+							stringBuffer.append(genOperation.getName());
+							stringBuffer.append(TEXT_260);
+							stringBuffer.append(genOperation.getParameterTypes(", "));
+							stringBuffer.append(TEXT_261);
+							stringBuffer.append(genOperation.getFormattedName());
+							stringBuffer.append(TEXT_262);
+							stringBuffer.append(genOperation.getFormattedName());
+							stringBuffer.append(TEXT_263);
+							stringBuffer.append(genClass.getQualifiedInterfaceName());
+							stringBuffer.append(TEXT_264);
+							stringBuffer.append(genOperation.getName());
+							stringBuffer.append(TEXT_265);
+							stringBuffer.append(genOperation.getParameterTypes(", "));
+							stringBuffer.append(TEXT_266);
+						} else {
+							stringBuffer.append(TEXT_267);
+						}
+						if (isImplementation) {
+							stringBuffer.append(TEXT_268);
+							stringBuffer.append(genOperation.getImportedMetaType());
+							stringBuffer.append(TEXT_269);
+							stringBuffer.append(genOperation.getOperationAccessorName());
+							stringBuffer.append(TEXT_270);
+							if (!genPackage.isLoadedInitialization()) {
+								stringBuffer.append(TEXT_271);
+								stringBuffer.append(genClass.getClassifierInstanceName());
+								stringBuffer.append(TEXT_272);
+								stringBuffer.append(genClass.getLocalOperationIndex(genOperation));
+								stringBuffer.append(TEXT_273);
+							} else {
+								stringBuffer.append(TEXT_274);
+								stringBuffer.append(genClassifier.getClassifierAccessorName());
+								stringBuffer.append(TEXT_275);
+								stringBuffer.append(genClass.getLocalOperationIndex(genOperation));
+								stringBuffer.append(TEXT_276);
+							}
+							stringBuffer.append(TEXT_277);
+						} else {
+							stringBuffer.append(TEXT_278);
+							stringBuffer.append(genOperation.getImportedMetaType());
+							stringBuffer.append(TEXT_279);
+							stringBuffer.append(genOperation.getOperationAccessorName());
+							stringBuffer.append(TEXT_280);
+						}
+						stringBuffer.append(TEXT_281);
+					}
+				}
+			}
+		}
+		if (isInterface) {
+			stringBuffer.append(TEXT_282);
+		} else {
+			stringBuffer.append(TEXT_283);
+		}
+		if (isImplementation) {
+			stringBuffer.append(TEXT_284);
+			stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
+			stringBuffer.append(TEXT_285);
+			stringBuffer.append(genPackage.getFactoryName());
+			stringBuffer.append(TEXT_286);
+			stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
+			stringBuffer.append(TEXT_287);
+		} else {
+			stringBuffer.append(TEXT_288);
+			stringBuffer.append(genPackage.getFactoryInterfaceName());
+			stringBuffer.append(TEXT_289);
+			stringBuffer.append(genPackage.getFactoryName());
+			stringBuffer.append(TEXT_290);
+		}
+		stringBuffer.append(TEXT_291);
+		if (isImplementation) {
+			if (!genPackage.isLoadedInitialization()) {
+				stringBuffer.append(TEXT_292);
+				if (!genPackage.getGenClasses().isEmpty()) {
+					stringBuffer.append(TEXT_293);
+					for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {
+						GenClass genClass = c.next();
+						stringBuffer.append(TEXT_294);
+						stringBuffer.append(genClass.getClassifierInstanceName());
+						stringBuffer.append(TEXT_295);
+						stringBuffer.append(genClass.getMetaType());
+						stringBuffer.append(TEXT_296);
+						stringBuffer.append(genClass.getClassifierID());
+						stringBuffer.append(TEXT_297);
+						for (GenFeature genFeature : genClass.getGenFeatures()) {
+							stringBuffer.append(TEXT_298);
+							stringBuffer.append(genFeature.getMetaType());
+							stringBuffer.append(TEXT_299);
+							stringBuffer.append(genClass.getClassifierInstanceName());
+							stringBuffer.append(TEXT_300);
+							stringBuffer.append(genClass.getFeatureID(genFeature));
+							stringBuffer.append(TEXT_301);
+						}
+						if (genModel.isOperationReflection()) {
+							for (GenOperation genOperation : genClass.getGenOperations()) {
+								stringBuffer.append(TEXT_302);
+								stringBuffer.append(genClass.getClassifierInstanceName());
+								stringBuffer.append(TEXT_303);
+								stringBuffer.append(genClass.getOperationID(genOperation, false));
+								stringBuffer.append(TEXT_304);
+							}
+						}
+						if (c.hasNext()) {
+							stringBuffer.append(TEXT_305);
+						}
+					}
+				}
+				if (!genPackage.getGenEnums().isEmpty()) {
+					stringBuffer.append(TEXT_306);
+					for (GenEnum genEnum : genPackage.getGenEnums()) {
+						stringBuffer.append(TEXT_307);
+						stringBuffer.append(genEnum.getClassifierInstanceName());
+						stringBuffer.append(TEXT_308);
+						stringBuffer.append(genEnum.getClassifierID());
+						stringBuffer.append(TEXT_309);
+					}
+				}
+				if (!genPackage.getGenDataTypes().isEmpty()) {
+					stringBuffer.append(TEXT_310);
+					for (GenDataType genDataType : genPackage.getGenDataTypes()) {
+						stringBuffer.append(TEXT_311);
+						stringBuffer.append(genDataType.getClassifierInstanceName());
+						stringBuffer.append(TEXT_312);
+						stringBuffer.append(genDataType.getClassifierID());
+						stringBuffer.append(TEXT_313);
+					}
+				}
+				stringBuffer.append(TEXT_314);
+
+				///////////////////////
+				class Information {
+					@SuppressWarnings("unused")
+					EGenericType eGenericType;
+					int depth;
+					String type;
+					String accessor;
+				}
+
+				class InformationIterator {
+					Iterator<?> iterator;
+
+					InformationIterator(EGenericType eGenericType) {
+						iterator = EcoreUtil.getAllContents(Collections.singleton(eGenericType));
+					}
+
+					boolean hasNext() {
+						return iterator.hasNext();
+					}
+
+					Information next() {
+						Information information = new Information();
+						EGenericType eGenericType = information.eGenericType = (EGenericType) iterator.next();
+						for (EObject container = eGenericType
+								.eContainer(); container instanceof EGenericType; container = container.eContainer()) {
+							++information.depth;
+						}
+						if (eGenericType.getEClassifier() != null) {
+							GenClassifier genClassifier = genModel.findGenClassifier(eGenericType.getEClassifier());
+							information.type = genPackage.getPackageInstanceVariable(genClassifier.getGenPackage())
+									+ ".get" + genClassifier.getClassifierAccessorName() + "()";
+						} else if (eGenericType.getETypeParameter() != null) {
+							ETypeParameter eTypeParameter = eGenericType.getETypeParameter();
+							if (eTypeParameter.eContainer() instanceof EClass) {
+								information.type = genModel.findGenClassifier((EClass) eTypeParameter.eContainer())
+										.getClassifierInstanceName() + "_" + eGenericType.getETypeParameter().getName();
+							} else {
+								information.type = "t" + (((EOperation) eTypeParameter.eContainer())
+										.getETypeParameters().indexOf(eTypeParameter) + 1);
+							}
+						} else {
+							information.type = "";
+						}
+						if (information.depth > 0) {
+							if (eGenericType.eContainmentFeature().isMany()) {
+								information.accessor = "getE"
+										+ eGenericType.eContainmentFeature().getName().substring(1) + "().add";
+							} else {
+								information.accessor = "setE"
+										+ eGenericType.eContainmentFeature().getName().substring(1);
+							}
+						}
+						return information;
+					}
+				}
+				///////////////////////
+				int maxGenericTypeAssignment = 0;
+
+				stringBuffer.append(TEXT_315);
+				if (!genPackage.getPackageInitializationDependencies().isEmpty()) {
+					stringBuffer.append(TEXT_316);
+					for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {
+						stringBuffer.append(TEXT_317);
+						stringBuffer.append(dep.getImportedPackageInterfaceName());
+						stringBuffer.append(TEXT_318);
+						stringBuffer.append(genPackage.getPackageInstanceVariable(dep));
+						stringBuffer.append(TEXT_319);
+						stringBuffer.append(dep.getImportedPackageInterfaceName());
+						stringBuffer.append(TEXT_320);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+						stringBuffer.append(TEXT_321);
+						stringBuffer.append(dep.getImportedPackageInterfaceName());
+						stringBuffer.append(TEXT_322);
+					}
+				}
+				if (!genPackage.getSubGenPackages().isEmpty()) {
+					stringBuffer.append(TEXT_323);
+					for (GenPackage sub : genPackage.getSubGenPackages()) {
+						stringBuffer.append(TEXT_324);
+						stringBuffer.append(genPackage.getPackageInstanceVariable(sub));
+						stringBuffer.append(TEXT_325);
+					}
+				}
+				if (!genPackage.getGenClasses().isEmpty()) {
+					boolean firstOperationAssignment = true;
+					int maxTypeParameterAssignment = 0;
+					if (genModel.useGenerics()) {
+						stringBuffer.append(TEXT_326);
+						for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+							for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {
+								if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()
+										|| genTypeParameter.isUsed()) {
+									stringBuffer.append(TEXT_327);
+									stringBuffer
+											.append(genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter"));
+									stringBuffer.append(TEXT_328);
+									stringBuffer.append(genClassifier.getClassifierInstanceName());
+									stringBuffer.append(TEXT_329);
+									stringBuffer.append(genTypeParameter.getName());
+									stringBuffer.append(TEXT_330);
+									stringBuffer.append(genClassifier.getClassifierInstanceName());
+									stringBuffer.append(TEXT_331);
+									stringBuffer.append(genTypeParameter.getName());
+									stringBuffer.append(TEXT_332);
+									stringBuffer.append(genModel.getNonNLS());
+								} else {
+									stringBuffer.append(TEXT_333);
+									stringBuffer.append(genClassifier.getClassifierInstanceName());
+									stringBuffer.append(TEXT_334);
+									stringBuffer.append(genTypeParameter.getName());
+									stringBuffer.append(TEXT_335);
+									stringBuffer.append(genModel.getNonNLS());
+								}
+							}
+						}
+					}
+					if (genModel.useGenerics()) {
+						stringBuffer.append(TEXT_336);
+						for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+							for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {
+								for (EGenericType bound : genTypeParameter.getEcoreTypeParameter().getEBounds()) {
+									for (InformationIterator i = new InformationIterator(bound); i.hasNext();) {
+										Information info = i.next();
+										String prefix = "";
+										if (maxGenericTypeAssignment <= info.depth) {
+											++maxGenericTypeAssignment;
+											prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+													+ " ";
+										}
+										stringBuffer.append(TEXT_337);
+										stringBuffer.append(prefix);
+										stringBuffer.append(TEXT_338);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_339);
+										stringBuffer.append(info.type);
+										stringBuffer.append(TEXT_340);
+										if (info.depth > 0) {
+											stringBuffer.append(TEXT_341);
+											stringBuffer.append(info.depth);
+											stringBuffer.append(TEXT_342);
+											stringBuffer.append(info.accessor);
+											stringBuffer.append(TEXT_343);
+											stringBuffer.append(info.depth + 1);
+											stringBuffer.append(TEXT_344);
+										}
+									}
+									stringBuffer.append(TEXT_345);
+									stringBuffer.append(genClassifier.getClassifierInstanceName());
+									stringBuffer.append(TEXT_346);
+									stringBuffer.append(genTypeParameter.getName());
+									stringBuffer.append(TEXT_347);
+								}
+							}
+						}
+					}
+					stringBuffer.append(TEXT_348);
+					for (GenClass genClass : genPackage.getGenClasses()) {
+						if (!genClass.hasGenericSuperTypes()) {
+							for (GenClass baseGenClass : genClass.getBaseGenClasses()) {
+								stringBuffer.append(TEXT_349);
+								stringBuffer.append(genClass.getClassifierInstanceName());
+								stringBuffer.append(TEXT_350);
+								stringBuffer
+										.append(genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage()));
+								stringBuffer.append(TEXT_351);
+								stringBuffer.append(baseGenClass.getClassifierAccessorName());
+								stringBuffer.append(TEXT_352);
+							}
+						} else {
+							for (EGenericType superType : genClass.getEcoreClass().getEGenericSuperTypes()) {
+								for (InformationIterator i = new InformationIterator(superType); i.hasNext();) {
+									Information info = i.next();
+									String prefix = "";
+									if (maxGenericTypeAssignment <= info.depth) {
+										++maxGenericTypeAssignment;
+										prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";
+									}
+									stringBuffer.append(TEXT_353);
+									stringBuffer.append(prefix);
+									stringBuffer.append(TEXT_354);
+									stringBuffer.append(info.depth + 1);
+									stringBuffer.append(TEXT_355);
+									stringBuffer.append(info.type);
+									stringBuffer.append(TEXT_356);
+									if (info.depth > 0) {
+										stringBuffer.append(TEXT_357);
+										stringBuffer.append(info.depth);
+										stringBuffer.append(TEXT_358);
+										stringBuffer.append(info.accessor);
+										stringBuffer.append(TEXT_359);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_360);
+									}
+								}
+								stringBuffer.append(TEXT_361);
+								stringBuffer.append(genClass.getClassifierInstanceName());
+								stringBuffer.append(TEXT_362);
+							}
+						}
+					}
+					stringBuffer.append(TEXT_363);
+					if (genModel.isOperationReflection()) {
+						stringBuffer.append(TEXT_364);
+					} else {
+						stringBuffer.append(TEXT_365);
+					}
+					for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {
+						GenClass genClass = c.next();
+						boolean hasInstanceTypeName = genModel.useGenerics()
+								&& genClass.getEcoreClass().getInstanceTypeName() != null
+								&& genClass.getEcoreClass().getInstanceTypeName().contains("<");
+						stringBuffer.append(TEXT_366);
+						stringBuffer.append(genClass.getClassifierInstanceName());
+						stringBuffer.append(TEXT_367);
+						if (genClass.isDynamic()) {
+							stringBuffer.append(TEXT_368);
+						} else {
+							stringBuffer.append(genClass.getRawImportedInterfaceName());
+							stringBuffer.append(TEXT_369);
+						}
+						stringBuffer.append(TEXT_370);
+						stringBuffer.append(genClass.getName());
+						stringBuffer.append(TEXT_371);
+						stringBuffer.append(genClass.getAbstractFlag());
+						stringBuffer.append(TEXT_372);
+						stringBuffer.append(genClass.getInterfaceFlag());
+						stringBuffer.append(TEXT_373);
+						stringBuffer.append(genClass.getGeneratedInstanceClassFlag());
+						if (hasInstanceTypeName) {
+							stringBuffer.append(TEXT_374);
+							stringBuffer.append(genClass.getEcoreClass().getInstanceTypeName());
+							stringBuffer.append(TEXT_375);
+						}
+						stringBuffer.append(TEXT_376);
+						stringBuffer.append(genModel.getNonNLS());
+						if (hasInstanceTypeName) {
+							stringBuffer.append(genModel.getNonNLS(2));
+						}
+						for (GenFeature genFeature : genClass.getGenFeatures()) {
+							if (genFeature.hasGenericType()) {
+								for (InformationIterator i = new InformationIterator(
+										genFeature.getEcoreFeature().getEGenericType()); i.hasNext();) {
+									Information info = i.next();
+									String prefix = "";
+									if (maxGenericTypeAssignment <= info.depth) {
+										++maxGenericTypeAssignment;
+										prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";
+									}
+									stringBuffer.append(TEXT_377);
+									stringBuffer.append(prefix);
+									stringBuffer.append(TEXT_378);
+									stringBuffer.append(info.depth + 1);
+									stringBuffer.append(TEXT_379);
+									stringBuffer.append(info.type);
+									stringBuffer.append(TEXT_380);
+									if (info.depth > 0) {
+										stringBuffer.append(TEXT_381);
+										stringBuffer.append(info.depth);
+										stringBuffer.append(TEXT_382);
+										stringBuffer.append(info.accessor);
+										stringBuffer.append(TEXT_383);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_384);
+									}
+								}
+							}
+							if (genFeature.isReferenceType()) {
+								GenFeature reverseGenFeature = genFeature.getReverse();
+								String reverse = reverseGenFeature == null ? "null"
+										: genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage())
+												+ ".get" + reverseGenFeature.getFeatureAccessorName() + "()";
+								stringBuffer.append(TEXT_385);
+								stringBuffer.append(genFeature.getFeatureAccessorName());
+								stringBuffer.append(TEXT_386);
+								if (genFeature.hasGenericType()) {
+									stringBuffer.append(TEXT_387);
+								} else {
+									stringBuffer.append(
+											genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));
+									stringBuffer.append(TEXT_388);
+									stringBuffer.append(genFeature.getTypeClassifierAccessorName());
+									stringBuffer.append(TEXT_389);
+								}
+								stringBuffer.append(TEXT_390);
+								stringBuffer.append(reverse);
+								stringBuffer.append(TEXT_391);
+								stringBuffer.append(genFeature.getName());
+								stringBuffer.append(TEXT_392);
+								stringBuffer.append(genFeature.getDefaultValue());
+								stringBuffer.append(TEXT_393);
+								stringBuffer.append(genFeature.getLowerBound());
+								stringBuffer.append(TEXT_394);
+								stringBuffer.append(genFeature.getUpperBound());
+								stringBuffer.append(TEXT_395);
+								stringBuffer.append(genFeature.getContainerClass());
+								stringBuffer.append(TEXT_396);
+								stringBuffer.append(genFeature.getTransientFlag());
+								stringBuffer.append(TEXT_397);
+								stringBuffer.append(genFeature.getVolatileFlag());
+								stringBuffer.append(TEXT_398);
+								stringBuffer.append(genFeature.getChangeableFlag());
+								stringBuffer.append(TEXT_399);
+								stringBuffer.append(genFeature.getContainmentFlag());
+								stringBuffer.append(TEXT_400);
+								stringBuffer.append(genFeature.getResolveProxiesFlag());
+								stringBuffer.append(TEXT_401);
+								stringBuffer.append(genFeature.getUnsettableFlag());
+								stringBuffer.append(TEXT_402);
+								stringBuffer.append(genFeature.getUniqueFlag());
+								stringBuffer.append(TEXT_403);
+								stringBuffer.append(genFeature.getDerivedFlag());
+								stringBuffer.append(TEXT_404);
+								stringBuffer.append(genFeature.getOrderedFlag());
+								stringBuffer.append(TEXT_405);
+								stringBuffer.append(genModel.getNonNLS());
+								stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));
+								for (GenFeature keyFeature : genFeature.getKeys()) {
+									stringBuffer.append(TEXT_406);
+									stringBuffer.append(genFeature.getFeatureAccessorName());
+									stringBuffer.append(TEXT_407);
+									stringBuffer
+											.append(genPackage.getPackageInstanceVariable(keyFeature.getGenPackage()));
+									stringBuffer.append(TEXT_408);
+									stringBuffer.append(keyFeature.getFeatureAccessorName());
+									stringBuffer.append(TEXT_409);
+								}
+							} else {
+								stringBuffer.append(TEXT_410);
+								stringBuffer.append(genFeature.getFeatureAccessorName());
+								stringBuffer.append(TEXT_411);
+								if (genFeature.hasGenericType()) {
+									stringBuffer.append(TEXT_412);
+								} else {
+									stringBuffer.append(
+											genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));
+									stringBuffer.append(TEXT_413);
+									stringBuffer.append(genFeature.getTypeClassifierAccessorName());
+									stringBuffer.append(TEXT_414);
+								}
+								stringBuffer.append(TEXT_415);
+								stringBuffer.append(genFeature.getName());
+								stringBuffer.append(TEXT_416);
+								stringBuffer.append(genFeature.getDefaultValue());
+								stringBuffer.append(TEXT_417);
+								stringBuffer.append(genFeature.getLowerBound());
+								stringBuffer.append(TEXT_418);
+								stringBuffer.append(genFeature.getUpperBound());
+								stringBuffer.append(TEXT_419);
+								stringBuffer.append(genFeature.getContainerClass());
+								stringBuffer.append(TEXT_420);
+								stringBuffer.append(genFeature.getTransientFlag());
+								stringBuffer.append(TEXT_421);
+								stringBuffer.append(genFeature.getVolatileFlag());
+								stringBuffer.append(TEXT_422);
+								stringBuffer.append(genFeature.getChangeableFlag());
+								stringBuffer.append(TEXT_423);
+								stringBuffer.append(genFeature.getUnsettableFlag());
+								stringBuffer.append(TEXT_424);
+								stringBuffer.append(genFeature.getIDFlag());
+								stringBuffer.append(TEXT_425);
+								stringBuffer.append(genFeature.getUniqueFlag());
+								stringBuffer.append(TEXT_426);
+								stringBuffer.append(genFeature.getDerivedFlag());
+								stringBuffer.append(TEXT_427);
+								stringBuffer.append(genFeature.getOrderedFlag());
+								stringBuffer.append(TEXT_428);
+								stringBuffer.append(genModel.getNonNLS());
+								stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));
+							}
+						}
+						for (GenOperation genOperation : genClass.getGenOperations()) {
+							String prefix = "";
+							if (genOperation.hasGenericType() || !genOperation.getGenParameters().isEmpty()
+									|| !genOperation.getGenExceptions().isEmpty()
+									|| !genOperation.getGenTypeParameters().isEmpty()) {
+								if (firstOperationAssignment) {
+									firstOperationAssignment = false;
+									prefix = genModel.getImportedName("org.eclipse.emf.ecore.EOperation") + " op = ";
+								} else {
+									prefix = "op = ";
+								}
+							}
+							stringBuffer.append(TEXT_429);
+							if (genModel.useGenerics()) {
+								stringBuffer.append(TEXT_430);
+								stringBuffer.append(prefix);
+								if (genModel.isOperationReflection()) {
+									stringBuffer.append(TEXT_431);
+									stringBuffer.append(genOperation.getOperationAccessorName());
+									stringBuffer.append(TEXT_432);
+								} else {
+									stringBuffer.append(TEXT_433);
+									stringBuffer.append(genClass.getClassifierInstanceName());
+								}
+								stringBuffer.append(TEXT_434);
+								if (genOperation.isVoid() || genOperation.hasGenericType()) {
+									stringBuffer.append(TEXT_435);
+								} else {
+									stringBuffer.append(
+											genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
+									stringBuffer.append(TEXT_436);
+									stringBuffer.append(genOperation.getTypeClassifierAccessorName());
+									stringBuffer.append(TEXT_437);
+								}
+								stringBuffer.append(TEXT_438);
+								stringBuffer.append(genOperation.getName());
+								stringBuffer.append(TEXT_439);
+								stringBuffer.append(genOperation.getLowerBound());
+								stringBuffer.append(TEXT_440);
+								stringBuffer.append(genOperation.getUpperBound());
+								stringBuffer.append(TEXT_441);
+								stringBuffer.append(genOperation.getUniqueFlag());
+								stringBuffer.append(TEXT_442);
+								stringBuffer.append(genOperation.getOrderedFlag());
+								stringBuffer.append(TEXT_443);
+								stringBuffer.append(genModel.getNonNLS());
+							} else if (!genOperation.isVoid()) {
+								if (!genOperation.getEcoreOperation().isOrdered()
+										|| !genOperation.getEcoreOperation().isUnique()) {
+									needsAddEOperation = true;
+									stringBuffer.append(TEXT_444);
+									stringBuffer.append(prefix);
+									if (genModel.isOperationReflection()) {
+										stringBuffer.append(TEXT_445);
+										stringBuffer.append(genOperation.getOperationAccessorName());
+										stringBuffer.append(TEXT_446);
+									} else {
+										stringBuffer.append(TEXT_447);
+										stringBuffer.append(genClass.getClassifierInstanceName());
+									}
+									stringBuffer.append(TEXT_448);
+									stringBuffer.append(
+											genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
+									stringBuffer.append(TEXT_449);
+									stringBuffer.append(genOperation.getTypeClassifierAccessorName());
+									stringBuffer.append(TEXT_450);
+									stringBuffer.append(genOperation.getName());
+									stringBuffer.append(TEXT_451);
+									stringBuffer.append(genOperation.getLowerBound());
+									stringBuffer.append(TEXT_452);
+									stringBuffer.append(genOperation.getUpperBound());
+									stringBuffer.append(TEXT_453);
+									stringBuffer.append(genOperation.getUniqueFlag());
+									stringBuffer.append(TEXT_454);
+									stringBuffer.append(genOperation.getOrderedFlag());
+									stringBuffer.append(TEXT_455);
+									stringBuffer.append(genModel.getNonNLS());
+								} else {
+									stringBuffer.append(TEXT_456);
+									stringBuffer.append(prefix);
+									if (genModel.isOperationReflection()) {
+										stringBuffer.append(TEXT_457);
+										stringBuffer.append(genOperation.getOperationAccessorName());
+										stringBuffer.append(TEXT_458);
+									} else {
+										stringBuffer.append(TEXT_459);
+										stringBuffer.append(genClass.getClassifierInstanceName());
+									}
+									stringBuffer.append(TEXT_460);
+									stringBuffer.append(
+											genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
+									stringBuffer.append(TEXT_461);
+									stringBuffer.append(genOperation.getTypeClassifierAccessorName());
+									stringBuffer.append(TEXT_462);
+									stringBuffer.append(genOperation.getName());
+									stringBuffer.append(TEXT_463);
+									stringBuffer.append(genOperation.getLowerBound());
+									stringBuffer.append(TEXT_464);
+									stringBuffer.append(genOperation.getUpperBound());
+									stringBuffer.append(TEXT_465);
+									stringBuffer.append(genModel.getNonNLS());
+								}
+							} else {
+								stringBuffer.append(TEXT_466);
+								stringBuffer.append(prefix);
+								if (genModel.isOperationReflection()) {
+									stringBuffer.append(TEXT_467);
+									stringBuffer.append(genOperation.getOperationAccessorName());
+									stringBuffer.append(TEXT_468);
+								} else {
+									stringBuffer.append(TEXT_469);
+									stringBuffer.append(genClass.getClassifierInstanceName());
+								}
+								stringBuffer.append(TEXT_470);
+								stringBuffer.append(genOperation.getName());
+								stringBuffer.append(TEXT_471);
+								stringBuffer.append(genModel.getNonNLS());
+							}
+							if (genModel.useGenerics()) {
+								for (ListIterator<GenTypeParameter> t = genOperation.getGenTypeParameters()
+										.listIterator(); t.hasNext();) {
+									GenTypeParameter genTypeParameter = t.next();
+									String typeParameterVariable = "";
+									if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()
+											|| genTypeParameter.isUsed()) {
+										if (maxTypeParameterAssignment <= t.previousIndex()) {
+											++maxTypeParameterAssignment;
+											typeParameterVariable = genModel
+													.getImportedName("org.eclipse.emf.ecore.ETypeParameter") + " t"
+													+ t.nextIndex() + " = ";
+										} else {
+											typeParameterVariable = "t" + t.nextIndex() + " = ";
+										}
+									}
+									stringBuffer.append(TEXT_472);
+									stringBuffer.append(typeParameterVariable);
+									stringBuffer.append(TEXT_473);
+									stringBuffer.append(genTypeParameter.getName());
+									stringBuffer.append(TEXT_474);
+									stringBuffer.append(genModel.getNonNLS());
+									for (EGenericType typeParameter : genTypeParameter.getEcoreTypeParameter()
+											.getEBounds()) {
+										for (InformationIterator i = new InformationIterator(typeParameter); i
+												.hasNext();) {
+											Information info = i.next();
+											String typePrefix = "";
+											if (maxGenericTypeAssignment <= info.depth) {
+												++maxGenericTypeAssignment;
+												typePrefix = genModel
+														.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";
+											}
+											stringBuffer.append(TEXT_475);
+											stringBuffer.append(typePrefix);
+											stringBuffer.append(TEXT_476);
+											stringBuffer.append(info.depth + 1);
+											stringBuffer.append(TEXT_477);
+											stringBuffer.append(info.type);
+											stringBuffer.append(TEXT_478);
+											if (info.depth > 0) {
+												stringBuffer.append(TEXT_479);
+												stringBuffer.append(info.depth);
+												stringBuffer.append(TEXT_480);
+												stringBuffer.append(info.accessor);
+												stringBuffer.append(TEXT_481);
+												stringBuffer.append(info.depth + 1);
+												stringBuffer.append(TEXT_482);
+											}
+										}
+										stringBuffer.append(TEXT_483);
+										stringBuffer.append(t.nextIndex());
+										stringBuffer.append(TEXT_484);
+									}
+								}
+							}
+							for (GenParameter genParameter : genOperation.getGenParameters()) {
+								if (genParameter.hasGenericType()) {
+									for (InformationIterator i = new InformationIterator(
+											genParameter.getEcoreParameter().getEGenericType()); i.hasNext();) {
+										Information info = i.next();
+										String typePrefix = "";
+										if (maxGenericTypeAssignment <= info.depth) {
+											++maxGenericTypeAssignment;
+											typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+													+ " ";
+										}
+										stringBuffer.append(TEXT_485);
+										stringBuffer.append(typePrefix);
+										stringBuffer.append(TEXT_486);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_487);
+										stringBuffer.append(info.type);
+										stringBuffer.append(TEXT_488);
+										if (info.depth > 0) {
+											stringBuffer.append(TEXT_489);
+											stringBuffer.append(info.depth);
+											stringBuffer.append(TEXT_490);
+											stringBuffer.append(info.accessor);
+											stringBuffer.append(TEXT_491);
+											stringBuffer.append(info.depth + 1);
+											stringBuffer.append(TEXT_492);
+										}
+									}
+								}
+								if (genModel.useGenerics()) {
+									stringBuffer.append(TEXT_493);
+									if (genParameter.hasGenericType()) {
+										stringBuffer.append(TEXT_494);
+									} else {
+										stringBuffer.append(genPackage
+												.getPackageInstanceVariable(genParameter.getTypeGenPackage()));
+										stringBuffer.append(TEXT_495);
+										stringBuffer.append(genParameter.getTypeClassifierAccessorName());
+										stringBuffer.append(TEXT_496);
+									}
+									stringBuffer.append(TEXT_497);
+									stringBuffer.append(genParameter.getName());
+									stringBuffer.append(TEXT_498);
+									stringBuffer.append(genParameter.getLowerBound());
+									stringBuffer.append(TEXT_499);
+									stringBuffer.append(genParameter.getUpperBound());
+									stringBuffer.append(TEXT_500);
+									stringBuffer.append(genParameter.getUniqueFlag());
+									stringBuffer.append(TEXT_501);
+									stringBuffer.append(genParameter.getOrderedFlag());
+									stringBuffer.append(TEXT_502);
+									stringBuffer.append(genModel.getNonNLS());
+								} else if (!genParameter.getEcoreParameter().isOrdered()
+										|| !genParameter.getEcoreParameter().isUnique()) {
+									needsAddEParameter = true;
+									stringBuffer.append(TEXT_503);
+									if (genParameter.hasGenericType()) {
+										stringBuffer.append(TEXT_504);
+									} else {
+										stringBuffer.append(genPackage
+												.getPackageInstanceVariable(genParameter.getTypeGenPackage()));
+										stringBuffer.append(TEXT_505);
+										stringBuffer.append(genParameter.getTypeClassifierAccessorName());
+										stringBuffer.append(TEXT_506);
+									}
+									stringBuffer.append(TEXT_507);
+									stringBuffer.append(genParameter.getName());
+									stringBuffer.append(TEXT_508);
+									stringBuffer.append(genParameter.getLowerBound());
+									stringBuffer.append(TEXT_509);
+									stringBuffer.append(genParameter.getUpperBound());
+									stringBuffer.append(TEXT_510);
+									stringBuffer.append(genParameter.getUniqueFlag());
+									stringBuffer.append(TEXT_511);
+									stringBuffer.append(genParameter.getOrderedFlag());
+									stringBuffer.append(TEXT_512);
+									stringBuffer.append(genModel.getNonNLS());
+								} else {
+									stringBuffer.append(TEXT_513);
+									if (genParameter.hasGenericType()) {
+										stringBuffer.append(TEXT_514);
+									} else {
+										stringBuffer.append(genPackage
+												.getPackageInstanceVariable(genParameter.getTypeGenPackage()));
+										stringBuffer.append(TEXT_515);
+										stringBuffer.append(genParameter.getTypeClassifierAccessorName());
+										stringBuffer.append(TEXT_516);
+									}
+									stringBuffer.append(TEXT_517);
+									stringBuffer.append(genParameter.getName());
+									stringBuffer.append(TEXT_518);
+									stringBuffer.append(genParameter.getLowerBound());
+									stringBuffer.append(TEXT_519);
+									stringBuffer.append(genParameter.getUpperBound());
+									stringBuffer.append(TEXT_520);
+									stringBuffer.append(genModel.getNonNLS());
+								}
+							}
+							if (genOperation.hasGenericExceptions()) {
+								for (EGenericType genericExceptions : genOperation.getEcoreOperation()
+										.getEGenericExceptions()) {
+									for (InformationIterator i = new InformationIterator(genericExceptions); i
+											.hasNext();) {
+										Information info = i.next();
+										String typePrefix = "";
+										if (maxGenericTypeAssignment <= info.depth) {
+											++maxGenericTypeAssignment;
+											typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+													+ " ";
+										}
+										stringBuffer.append(TEXT_521);
+										stringBuffer.append(typePrefix);
+										stringBuffer.append(TEXT_522);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_523);
+										stringBuffer.append(info.type);
+										stringBuffer.append(TEXT_524);
+										if (info.depth > 0) {
+											stringBuffer.append(TEXT_525);
+											stringBuffer.append(info.depth);
+											stringBuffer.append(TEXT_526);
+											stringBuffer.append(info.accessor);
+											stringBuffer.append(TEXT_527);
+											stringBuffer.append(info.depth + 1);
+											stringBuffer.append(TEXT_528);
+										}
+										stringBuffer.append(TEXT_529);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_530);
+									}
+								}
+							} else {
+								for (GenClassifier genException : genOperation.getGenExceptions()) {
+									stringBuffer.append(TEXT_531);
+									stringBuffer.append(
+											genPackage.getPackageInstanceVariable(genException.getGenPackage()));
+									stringBuffer.append(TEXT_532);
+									stringBuffer.append(genException.getClassifierAccessorName());
+									stringBuffer.append(TEXT_533);
+								}
+							}
+							if (!genOperation.isVoid() && genOperation.hasGenericType()) {
+								for (InformationIterator i = new InformationIterator(
+										genOperation.getEcoreOperation().getEGenericType()); i.hasNext();) {
+									Information info = i.next();
+									String typePrefix = "";
+									if (maxGenericTypeAssignment <= info.depth) {
+										++maxGenericTypeAssignment;
+										typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+												+ " ";
+									}
+									stringBuffer.append(TEXT_534);
+									stringBuffer.append(typePrefix);
+									stringBuffer.append(TEXT_535);
+									stringBuffer.append(info.depth + 1);
+									stringBuffer.append(TEXT_536);
+									stringBuffer.append(info.type);
+									stringBuffer.append(TEXT_537);
+									if (info.depth > 0) {
+										stringBuffer.append(TEXT_538);
+										stringBuffer.append(info.depth);
+										stringBuffer.append(TEXT_539);
+										stringBuffer.append(info.accessor);
+										stringBuffer.append(TEXT_540);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_541);
+									}
+								}
+								stringBuffer.append(TEXT_542);
+							}
+						}
+						if (c.hasNext()) {
+							stringBuffer.append(TEXT_543);
+						}
+					}
+				}
+				if (!genPackage.getGenEnums().isEmpty()) {
+					stringBuffer.append(TEXT_544);
+					for (Iterator<GenEnum> e = genPackage.getGenEnums().iterator(); e.hasNext();) {
+						GenEnum genEnum = e.next();
+						stringBuffer.append(TEXT_545);
+						stringBuffer.append(genEnum.getClassifierInstanceName());
+						stringBuffer.append(TEXT_546);
+						stringBuffer.append(genEnum.getImportedName());
+						stringBuffer.append(TEXT_547);
+						stringBuffer.append(genEnum.getName());
+						stringBuffer.append(TEXT_548);
+						stringBuffer.append(genModel.getNonNLS());
+						for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+							stringBuffer.append(TEXT_549);
+							stringBuffer.append(genEnum.getClassifierInstanceName());
+							stringBuffer.append(TEXT_550);
+							stringBuffer.append(genEnum.getImportedName().equals(genEnum.getClassifierID())
+									? genEnum.getQualifiedName() : genEnum.getImportedName());
+							stringBuffer.append(TEXT_551);
+							stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+							stringBuffer.append(TEXT_552);
+						}
+						if (e.hasNext()) {
+							stringBuffer.append(TEXT_553);
+						}
+					}
+				}
+				if (!genPackage.getGenDataTypes().isEmpty()) {
+					stringBuffer.append(TEXT_554);
+					for (GenDataType genDataType : genPackage.getGenDataTypes()) {
+						boolean hasInstanceTypeName = genModel.useGenerics()
+								&& genDataType.getEcoreDataType().getInstanceTypeName() != null
+								&& genDataType.getEcoreDataType().getInstanceTypeName().contains("<");
+						stringBuffer.append(TEXT_555);
+						stringBuffer.append(genDataType.getClassifierInstanceName());
+						stringBuffer.append(TEXT_556);
+						stringBuffer.append(genDataType.getRawImportedInstanceClassName());
+						stringBuffer.append(TEXT_557);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_558);
+						stringBuffer.append(genDataType.getSerializableFlag());
+						stringBuffer.append(TEXT_559);
+						stringBuffer.append(genDataType.getGeneratedInstanceClassFlag());
+						if (hasInstanceTypeName) {
+							stringBuffer.append(TEXT_560);
+							stringBuffer.append(genDataType.getEcoreDataType().getInstanceTypeName());
+							stringBuffer.append(TEXT_561);
+						}
+						stringBuffer.append(TEXT_562);
+						stringBuffer.append(genModel.getNonNLS());
+						if (hasInstanceTypeName) {
+							stringBuffer.append(genModel.getNonNLS(2));
+						}
+					}
+				}
+				if (genPackage.getSuperGenPackage() == null) {
+					stringBuffer.append(TEXT_563);
+					stringBuffer.append(genPackage.getSchemaLocation());
+					stringBuffer.append(TEXT_564);
+				}
+				if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {
+					stringBuffer.append(TEXT_565);
+					for (String annotationSource : genPackage.getAnnotationSources()) {
+						stringBuffer.append(TEXT_566);
+						stringBuffer.append(annotationSource);
+						stringBuffer.append(TEXT_567);
+						stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));
+						stringBuffer.append(TEXT_568);
+					}
+				}
+				stringBuffer.append(TEXT_569);
+				for (String annotationSource : genPackage.getAnnotationSources()) {
+					stringBuffer.append(TEXT_570);
+					stringBuffer.append(annotationSource);
+					stringBuffer.append(TEXT_571);
+					stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));
+					stringBuffer.append(TEXT_572);
+					if (annotationSource == null) {
+						stringBuffer.append(TEXT_573);
+					} else {
+						stringBuffer.append(TEXT_574);
+						stringBuffer.append(annotationSource);
+						stringBuffer.append(TEXT_575);
+						stringBuffer.append(genModel.getNonNLS());
+					}
+					for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) {
+						List<GenPackage.AnnotationReferenceData> annotationReferenceDataList = genPackage
+								.getReferenceData(eAnnotation);
+						if (annotationSource == null ? eAnnotation.getSource() == null
+								: annotationSource.equals(eAnnotation.getSource())) {
+							stringBuffer.append(TEXT_576);
+							stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));
+							stringBuffer.append(TEXT_577);
+							for (Iterator<Map.Entry<String, String>> k = eAnnotation.getDetails().iterator(); k
+									.hasNext();) {
+								Map.Entry<String, String> detail = k.next();
+								String key = Literals.toStringLiteral(detail.getKey(), genModel);
+								String value = Literals.toStringLiteral(detail.getValue(), genModel);
+								stringBuffer.append(TEXT_578);
+								stringBuffer.append(key);
+								stringBuffer.append(TEXT_579);
+								stringBuffer.append(value);
+								stringBuffer.append(k.hasNext() ? "," : "");
+								stringBuffer.append(genModel.getNonNLS(key + value));
+							}
+							stringBuffer.append(TEXT_580);
+							if (annotationReferenceDataList.isEmpty()) {
+								stringBuffer.append(TEXT_581);
+							} else {
+								stringBuffer.append(TEXT_582);
+							}
+							if (!annotationReferenceDataList.isEmpty()) {
+								stringBuffer.append(TEXT_583);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+								stringBuffer.append(TEXT_584);
+								for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList
+										.iterator(); k.hasNext();) {
+									GenPackage.AnnotationReferenceData annotationReferenceData = k.next();
+									stringBuffer.append(TEXT_585);
+									stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+									stringBuffer.append(TEXT_586);
+									if (annotationReferenceData.containingGenPackage != genPackage) {
+										stringBuffer.append(annotationReferenceData.containingGenPackage
+												.getImportedPackageInterfaceName());
+										stringBuffer.append(TEXT_587);
+									}
+									stringBuffer.append(TEXT_588);
+									stringBuffer.append(annotationReferenceData.uriFragment);
+									stringBuffer.append(TEXT_589);
+									if (k.hasNext()) {
+										stringBuffer.append(TEXT_590);
+									}
+									stringBuffer.append(genModel.getNonNLS());
+								}
+								stringBuffer.append(TEXT_591);
+							}
+							for (EAnnotation nestedEAnnotation : genPackage.getAllNestedAnnotations(eAnnotation)) {
+								String nestedAnnotationSource = nestedEAnnotation.getSource();
+								int depth = 0;
+								boolean nonContentAnnotation = false;
+								StringBuilder path = new StringBuilder();
+								for (EObject eContainer = nestedEAnnotation
+										.eContainer(), child = nestedEAnnotation; child != eAnnotation; child = eContainer, eContainer = eContainer
+												.eContainer()) {
+									boolean nonContentChild = child
+											.eContainmentFeature() != EcorePackage.Literals.EANNOTATION__CONTENTS;
+									if (path.length() != 0) {
+										path.insert(0, ", ");
+									}
+									path.insert(0, nonContentChild);
+									if (nonContentChild) {
+										nonContentAnnotation = true;
+									}
+									++depth;
+								}
+								List<GenPackage.AnnotationReferenceData> nestedAnnotationReferenceDataList = genPackage
+										.getReferenceData(nestedEAnnotation);
+								stringBuffer.append(TEXT_592);
+								stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));
+								stringBuffer.append(TEXT_593);
+								if (nonContentAnnotation
+										&& genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {
+									stringBuffer.append(TEXT_594);
+									stringBuffer.append(path.toString());
+									stringBuffer.append(TEXT_595);
+								} else {
+									stringBuffer.append(depth);
+								}
+								stringBuffer.append(TEXT_596);
+								if (nestedAnnotationSource == null) {
+									stringBuffer.append(TEXT_597);
+								} else {
+									stringBuffer.append(TEXT_598);
+									stringBuffer.append(nestedAnnotationSource);
+									stringBuffer.append(TEXT_599);
+									stringBuffer.append(genModel.getNonNLS());
+								}
+								stringBuffer.append(TEXT_600);
+								for (Iterator<Map.Entry<String, String>> l = nestedEAnnotation.getDetails()
+										.iterator(); l.hasNext();) {
+									Map.Entry<String, String> detail = l.next();
+									String key = Literals.toStringLiteral(detail.getKey(), genModel);
+									String value = Literals.toStringLiteral(detail.getValue(), genModel);
+									stringBuffer.append(TEXT_601);
+									stringBuffer.append(key);
+									stringBuffer.append(TEXT_602);
+									stringBuffer.append(value);
+									stringBuffer.append(l.hasNext() ? "," : "");
+									stringBuffer.append(genModel.getNonNLS(key + value));
+								}
+								stringBuffer.append(TEXT_603);
+								if (nestedAnnotationReferenceDataList.isEmpty()) {
+									stringBuffer.append(TEXT_604);
+								} else {
+									stringBuffer.append(TEXT_605);
+								}
+								if (!nestedAnnotationReferenceDataList.isEmpty()) {
+									stringBuffer.append(TEXT_606);
+									stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+									stringBuffer.append(TEXT_607);
+									for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList
+											.iterator(); l.hasNext();) {
+										GenPackage.AnnotationReferenceData annotationReferenceData = l.next();
+										stringBuffer.append(TEXT_608);
+										stringBuffer
+												.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+										stringBuffer.append(TEXT_609);
+										if (annotationReferenceData.containingGenPackage != genPackage) {
+											stringBuffer.append(annotationReferenceData.containingGenPackage
+													.getImportedPackageInterfaceName());
+											stringBuffer.append(TEXT_610);
+										}
+										stringBuffer.append(TEXT_611);
+										stringBuffer.append(annotationReferenceData.uriFragment);
+										stringBuffer.append(TEXT_612);
+										if (l.hasNext()) {
+											stringBuffer.append(TEXT_613);
+										}
+										stringBuffer.append(genModel.getNonNLS());
+									}
+									stringBuffer.append(TEXT_614);
+								}
+							}
+						}
+					}
+					stringBuffer.append(TEXT_615);
+				}
+			} else {
+				if (genPackage.isLoadingInitialization()) {
+					stringBuffer.append(TEXT_616);
+					stringBuffer.append(genModel.getImportedName("java.net.URL"));
+					stringBuffer.append(TEXT_617);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(TEXT_618);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+					stringBuffer.append(TEXT_619);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+					stringBuffer.append(TEXT_620);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));
+					stringBuffer.append(TEXT_621);
+					stringBuffer.append(
+							genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl"));
+					stringBuffer.append(TEXT_622);
+					stringBuffer.append(genModel.getImportedName("java.io.IOException"));
+					stringBuffer.append(TEXT_623);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));
+					stringBuffer.append(TEXT_624);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+					stringBuffer.append(TEXT_625);
+				}
+				stringBuffer.append(TEXT_626);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_627);
+				}
+				stringBuffer.append(TEXT_628);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
+				stringBuffer.append(TEXT_629);
+				ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>();
+				for (GenClass genClass : genPackage.getGenClasses()) {
+					if (genClass.isDynamic()) {
+						dynamicGenClasses.add(genClass);
+					}
+				}
+				if (dynamicGenClasses.isEmpty()) {
+					stringBuffer.append(TEXT_630);
+					stringBuffer.append(genPackage.getInterfacePackageName());
+					stringBuffer.append(TEXT_631);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(TEXT_632);
+				} else {
+					stringBuffer.append(TEXT_633);
+					for (GenClass genClass : dynamicGenClasses) {
+						if (genClass.isDynamic()) {
+							stringBuffer.append(TEXT_634);
+							stringBuffer.append(genPackage.getClassifierID(genClass));
+							stringBuffer.append(TEXT_635);
+						}
+					}
+					stringBuffer.append(TEXT_636);
+					stringBuffer.append(genPackage.getInterfacePackageName());
+					stringBuffer.append(TEXT_637);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(TEXT_638);
+				}
+				stringBuffer.append(TEXT_639);
+			}
+			if (needsAddEOperation) {
+				stringBuffer.append(TEXT_640);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+				stringBuffer.append(TEXT_641);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
+				stringBuffer.append(TEXT_642);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
+				stringBuffer.append(TEXT_643);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+				stringBuffer.append(TEXT_644);
+			}
+			if (needsAddEParameter) {
+				stringBuffer.append(TEXT_645);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));
+				stringBuffer.append(TEXT_646);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+				stringBuffer.append(TEXT_647);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
+				stringBuffer.append(TEXT_648);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));
+				stringBuffer.append(TEXT_649);
+			}
+		}
+		if (isInterface && genPackage.isLiteralsInterface()) {
+			stringBuffer.append(TEXT_650);
+			if (genModel.isOperationReflection()) {
+				stringBuffer.append(TEXT_651);
+			}
+			stringBuffer.append(TEXT_652);
+			if (isImplementation) {
+				stringBuffer.append(TEXT_653);
+			}
+			stringBuffer.append(TEXT_654);
+			for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+				stringBuffer.append(TEXT_655);
+				if (genClassifier instanceof GenClass) {
+					GenClass genClass = (GenClass) genClassifier;
+					if (!genClass.isInterface()) {
+						stringBuffer.append(TEXT_656);
+						stringBuffer.append(genClass.getQualifiedClassName());
+						stringBuffer.append(TEXT_657);
+						stringBuffer.append(genClass.getFormattedName());
+						stringBuffer.append(TEXT_658);
+						stringBuffer.append(genClass.getQualifiedClassName());
+					} else {
+						stringBuffer.append(TEXT_659);
+						stringBuffer.append(genClass.getQualifiedInterfaceName());
+						stringBuffer.append(TEXT_660);
+						stringBuffer.append(genClass.getFormattedName());
+						stringBuffer.append(TEXT_661);
+						stringBuffer.append(genClass.getQualifiedInterfaceName());
+					}
+				} else if (genClassifier instanceof GenEnum) {
+					GenEnum genEnum = (GenEnum) genClassifier;
+					stringBuffer.append(TEXT_662);
+					stringBuffer.append(genEnum.getQualifiedName());
+					stringBuffer.append(TEXT_663);
+					stringBuffer.append(genEnum.getFormattedName());
+					stringBuffer.append(TEXT_664);
+					stringBuffer.append(genEnum.getQualifiedName());
+				} else if (genClassifier instanceof GenDataType) {
+					GenDataType genDataType = (GenDataType) genClassifier;
+					stringBuffer.append(TEXT_665);
+					stringBuffer.append(genDataType.getFormattedName());
+					stringBuffer.append(TEXT_666);
+					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
+						stringBuffer.append(TEXT_667);
+						stringBuffer.append(genDataType.getRawInstanceClassName());
+					}
+				}
+				stringBuffer.append(TEXT_668);
+				stringBuffer.append(genPackage.getQualifiedPackageClassName());
+				stringBuffer.append(TEXT_669);
+				stringBuffer.append(genClassifier.getClassifierAccessorName());
+				stringBuffer.append(TEXT_670);
+				stringBuffer.append(publicStaticFinalFlag);
+				stringBuffer.append(genClassifier.getImportedMetaType());
+				stringBuffer.append(TEXT_671);
+				stringBuffer.append(genPackage.getClassifierID(genClassifier));
+				stringBuffer.append(TEXT_672);
+				stringBuffer.append(genClassifier.getClassifierAccessorName());
+				stringBuffer.append(TEXT_673);
+				if (genClassifier instanceof GenClass) {
+					GenClass genClass = (GenClass) genClassifier;
+					for (GenFeature genFeature : genClass.getGenFeatures()) {
+						stringBuffer.append(TEXT_674);
+						stringBuffer.append(genFeature.getFormattedName());
+						stringBuffer.append(TEXT_675);
+						stringBuffer.append(genFeature.getFeatureKind());
+						stringBuffer.append(TEXT_676);
+						stringBuffer.append(publicStaticFinalFlag);
+						stringBuffer.append(genFeature.getImportedMetaType());
+						stringBuffer.append(TEXT_677);
+						stringBuffer.append(genClass.getFeatureID(genFeature));
+						stringBuffer.append(TEXT_678);
+						stringBuffer.append(genFeature.getFeatureAccessorName());
+						stringBuffer.append(TEXT_679);
+					}
+					if (genModel.isOperationReflection()) {
+						for (GenOperation genOperation : genClass.getGenOperations()) {
+							stringBuffer.append(TEXT_680);
+							stringBuffer.append(genOperation.getFormattedName());
+							stringBuffer.append(TEXT_681);
+							stringBuffer.append(publicStaticFinalFlag);
+							stringBuffer.append(genOperation.getImportedMetaType());
+							stringBuffer.append(TEXT_682);
+							stringBuffer.append(genClass.getOperationID(genOperation, false));
+							stringBuffer.append(TEXT_683);
+							stringBuffer.append(genOperation.getOperationAccessorName());
+							stringBuffer.append(TEXT_684);
+						}
+					}
+				}
+			}
+			stringBuffer.append(TEXT_685);
+		}
+		stringBuffer.append(TEXT_686);
+		stringBuffer.append(isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_687);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genPackage.hasClassifiers());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageInterface.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageInterface.java
index 9745bd5..51a6824 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageInterface.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PackageInterface.java
@@ -1,2941 +1,2917 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class PackageInterface extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized PackageInterface create(String lineSeparator) {

-		nl = lineSeparator;

-		PackageInterface result = new PackageInterface();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";";

-	protected final String TEXT_4 = NL + "package ";

-	protected final String TEXT_5 = ";";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * The <b>Package</b> for the model." + NL

-			+ " * It contains accessors for the meta objects to represent" + NL + " * <ul>" + NL

-			+ " *   <li>each class,</li>" + NL + " *   <li>each feature of each class,</li>";

-	protected final String TEXT_8 = NL + " *   <li>each operation of each class,</li>";

-	protected final String TEXT_9 = NL + " *   <li>each enum,</li>" + NL + " *   <li>and each data type</li>" + NL

-			+ " * </ul>" + NL + " * <!-- end-user-doc -->";

-	protected final String TEXT_10 = NL + " * <!-- begin-model-doc -->" + NL + " * ";

-	protected final String TEXT_11 = NL + " * <!-- end-model-doc -->";

-	protected final String TEXT_12 = NL + " * @see ";

-	protected final String TEXT_13 = NL + " * @model ";

-	protected final String TEXT_14 = NL + " *        ";

-	protected final String TEXT_15 = NL + " * @model";

-	protected final String TEXT_16 = NL + " * @generated" + NL + " */";

-	protected final String TEXT_17 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * An implementation of the model <b>Package</b>." + NL + " * <!-- end-user-doc -->" + NL

-			+ " * @generated" + NL + " */";

-	protected final String TEXT_18 = NL + "public class ";

-	protected final String TEXT_19 = " extends ";

-	protected final String TEXT_20 = " implements ";

-	protected final String TEXT_21 = NL + "public interface ";

-	protected final String TEXT_22 = " extends ";

-	protected final String TEXT_23 = NL + "{";

-	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_25 = " copyright = ";

-	protected final String TEXT_26 = ";";

-	protected final String TEXT_27 = NL;

-	protected final String TEXT_28 = NL + "\t/**" + NL + "\t * The package name." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_29 = " eNAME = \"";

-	protected final String TEXT_30 = "\";";

-	protected final String TEXT_31 = NL + NL + "\t/**" + NL + "\t * The package namespace URI." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_32 = " eNS_URI = \"";

-	protected final String TEXT_33 = "\";";

-	protected final String TEXT_34 = NL + NL + "\t/**" + NL + "\t * The package namespace name." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_35 = " eNS_PREFIX = \"";

-	protected final String TEXT_36 = "\";";

-	protected final String TEXT_37 = NL + NL + "\t/**" + NL + "\t * The package content type ID." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_38 = " eCONTENT_TYPE = \"";

-	protected final String TEXT_39 = "\";";

-	protected final String TEXT_40 = NL + NL + "\t/**" + NL + "\t * The singleton instance of the package." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\t";

-	protected final String TEXT_41 = " eINSTANCE = ";

-	protected final String TEXT_42 = ".init();" + NL;

-	protected final String TEXT_43 = NL + "\t/**";

-	protected final String TEXT_44 = NL + "\t * The meta object id for the '{@link ";

-	protected final String TEXT_45 = " <em>";

-	protected final String TEXT_46 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

-	protected final String TEXT_47 = NL + "\t * The meta object id for the '{@link ";

-	protected final String TEXT_48 = " <em>";

-	protected final String TEXT_49 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

-	protected final String TEXT_50 = NL + "\t * The meta object id for the '{@link ";

-	protected final String TEXT_51 = " <em>";

-	protected final String TEXT_52 = "</em>}' enum." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

-	protected final String TEXT_53 = NL + "\t * The meta object id for the '<em>";

-	protected final String TEXT_54 = "</em>' data type." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->";

-	protected final String TEXT_55 = NL + "\t * @see ";

-	protected final String TEXT_56 = NL + "\t * @see ";

-	protected final String TEXT_57 = "#get";

-	protected final String TEXT_58 = "()" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_59 = "int ";

-	protected final String TEXT_60 = " = ";

-	protected final String TEXT_61 = ";" + NL;

-	protected final String TEXT_62 = NL + "\t/**" + NL + "\t * The feature id for the '<em><b>";

-	protected final String TEXT_63 = "</b></em>' ";

-	protected final String TEXT_64 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_65 = "int ";

-	protected final String TEXT_66 = " = ";

-	protected final String TEXT_67 = ";" + NL;

-	protected final String TEXT_68 = NL + "\t/**" + NL + "\t * The number of structural features of the '<em>";

-	protected final String TEXT_69 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_70 = "int ";

-	protected final String TEXT_71 = " = ";

-	protected final String TEXT_72 = ";" + NL;

-	protected final String TEXT_73 = NL + "\t/**" + NL + "\t * The operation id for the '<em>";

-	protected final String TEXT_74 = "</em>' operation." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_75 = "int ";

-	protected final String TEXT_76 = " = ";

-	protected final String TEXT_77 = ";" + NL;

-	protected final String TEXT_78 = NL + "\t/**" + NL + "\t * The number of operations of the '<em>";

-	protected final String TEXT_79 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_80 = "int ";

-	protected final String TEXT_81 = " = ";

-	protected final String TEXT_82 = ";" + NL;

-	protected final String TEXT_83 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected String packageFilename = \"";

-	protected final String TEXT_84 = "\";";

-	protected final String TEXT_85 = NL;

-	protected final String TEXT_86 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate ";

-	protected final String TEXT_87 = " ";

-	protected final String TEXT_88 = " = null;" + NL;

-	protected final String TEXT_89 = NL + "\t/**" + NL

-			+ "\t * Creates an instance of the model <b>Package</b>, registered with" + NL

-			+ "\t * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package" + NL

-			+ "\t * package URI value." + NL + "\t * <p>Note: the correct way to create the package is via the static"

-			+ NL + "\t * factory method {@link #init init()}, which also performs" + NL

-			+ "\t * initialization of the package, or returns the registered package," + NL

-			+ "\t * if one already exists." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @see org.eclipse.emf.ecore.EPackage.Registry" + NL + "\t * @see ";

-	protected final String TEXT_90 = "#eNS_URI" + NL + "\t * @see #init()" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate ";

-	protected final String TEXT_91 = "()" + NL + "\t{" + NL + "\t\tsuper(eNS_URI, ";

-	protected final String TEXT_92 = ");"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tprivate static boolean isInited = false;"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends."

-			+ NL + "\t * " + NL + "\t * <p>This method is used to initialize {@link ";

-	protected final String TEXT_93 = "#eINSTANCE} when that field is accessed."

-			+ NL

-			+ "\t * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #eNS_URI";

-	protected final String TEXT_94 = NL + "\t * @see #createPackageContents()" + NL

-			+ "\t * @see #initializePackageContents()";

-	protected final String TEXT_95 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";

-	protected final String TEXT_96 = " init()" + NL + "\t{" + NL + "\t\tif (isInited) return (";

-	protected final String TEXT_97 = ")";

-	protected final String TEXT_98 = ".Registry.INSTANCE.getEPackage(";

-	protected final String TEXT_99 = ".eNS_URI);" + NL;

-	protected final String TEXT_100 = NL + "\t\tinitializeRegistryHelpers();" + NL;

-	protected final String TEXT_101 = NL + "\t\t// Obtain or create and register package" + NL + "\t\t";

-	protected final String TEXT_102 = " the";

-	protected final String TEXT_103 = " = (";

-	protected final String TEXT_104 = ")(";

-	protected final String TEXT_105 = ".Registry.INSTANCE.get(eNS_URI) instanceof ";

-	protected final String TEXT_106 = " ? ";

-	protected final String TEXT_107 = ".Registry.INSTANCE.get(eNS_URI) : new ";

-	protected final String TEXT_108 = "());" + NL + "" + NL + "\t\tisInited = true;" + NL;

-	protected final String TEXT_109 = NL + "\t\t// Initialize simple dependencies";

-	protected final String TEXT_110 = NL + "\t\t";

-	protected final String TEXT_111 = ".eINSTANCE.eClass();";

-	protected final String TEXT_112 = NL;

-	protected final String TEXT_113 = NL + "\t\t// Obtain or create and register interdependencies";

-	protected final String TEXT_114 = NL + "\t\t";

-	protected final String TEXT_115 = " ";

-	protected final String TEXT_116 = " = (";

-	protected final String TEXT_117 = ")(";

-	protected final String TEXT_118 = ".Registry.INSTANCE.getEPackage(";

-	protected final String TEXT_119 = ".eNS_URI) instanceof ";

-	protected final String TEXT_120 = " ? ";

-	protected final String TEXT_121 = ".Registry.INSTANCE.getEPackage(";

-	protected final String TEXT_122 = ".eNS_URI) : ";

-	protected final String TEXT_123 = ".eINSTANCE);";

-	protected final String TEXT_124 = NL;

-	protected final String TEXT_125 = NL + "\t\t// Load packages";

-	protected final String TEXT_126 = NL + "\t\tthe";

-	protected final String TEXT_127 = ".loadPackage();";

-	protected final String TEXT_128 = NL + "\t\t";

-	protected final String TEXT_129 = ".loadPackage();";

-	protected final String TEXT_130 = NL;

-	protected final String TEXT_131 = NL + "\t\t// Create package meta-data objects";

-	protected final String TEXT_132 = NL + "\t\tthe";

-	protected final String TEXT_133 = ".createPackageContents();";

-	protected final String TEXT_134 = NL + "\t\t";

-	protected final String TEXT_135 = ".createPackageContents();";

-	protected final String TEXT_136 = NL + NL + "\t\t// Initialize created meta-data";

-	protected final String TEXT_137 = NL + "\t\tthe";

-	protected final String TEXT_138 = ".initializePackageContents();";

-	protected final String TEXT_139 = NL + "\t\t";

-	protected final String TEXT_140 = ".initializePackageContents();";

-	protected final String TEXT_141 = NL;

-	protected final String TEXT_142 = NL + "\t\t// Fix loaded packages";

-	protected final String TEXT_143 = NL + "\t\tthe";

-	protected final String TEXT_144 = ".fixPackageContents();";

-	protected final String TEXT_145 = NL + "\t\t";

-	protected final String TEXT_146 = ".fixPackageContents();";

-	protected final String TEXT_147 = NL;

-	protected final String TEXT_148 = NL + "\t\t// Register package validator" + NL + "\t\t";

-	protected final String TEXT_149 = ".Registry.INSTANCE.put" + NL + "\t\t\t(the";

-	protected final String TEXT_150 = ", " + NL + "\t\t\t new ";

-	protected final String TEXT_151 = ".Descriptor()" + NL + "\t\t\t {" + NL + "\t\t\t\t public ";

-	protected final String TEXT_152 = " getEValidator()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return ";

-	protected final String TEXT_153 = ".INSTANCE;" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;

-	protected final String TEXT_154 = NL + "\t\t// Mark meta-data to indicate it can't be changed" + NL + "\t\tthe";

-	protected final String TEXT_155 = ".freeze();" + NL;

-	protected final String TEXT_156 = NL + "  " + NL + "\t\t// Update the registry and return the package" + NL

-			+ "\t\t";

-	protected final String TEXT_157 = ".Registry.INSTANCE.put(";

-	protected final String TEXT_158 = ".eNS_URI, the";

-	protected final String TEXT_159 = ");" + NL + "\t\treturn the";

-	protected final String TEXT_160 = ";" + NL + "\t}";

-	protected final String TEXT_161 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static void initializeRegistryHelpers()" + NL + "\t{";

-	protected final String TEXT_162 = NL + "\t\t";

-	protected final String TEXT_163 = ".register" + NL + "\t\t\t(";

-	protected final String TEXT_164 = ".class, " + NL + "\t\t\t new ";

-	protected final String TEXT_165 = ".Helper() " + NL + "\t\t\t {" + NL

-			+ "\t\t\t\t public boolean isInstance(Object instance)" + NL + "\t\t\t\t {" + NL

-			+ "\t\t\t\t\t return instance instanceof ";

-	protected final String TEXT_166 = ";" + NL + "\t\t\t\t }" + NL + "" + NL

-			+ "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return new ";

-	protected final String TEXT_167 = "[size];" + NL + "\t\t\t\t }" + NL + "\t\t\t });";

-	protected final String TEXT_168 = NL + "\t\t";

-	protected final String TEXT_169 = ".register" + NL + "\t\t\t(";

-	protected final String TEXT_170 = ".class, " + NL + "\t\t\t new ";

-	protected final String TEXT_171 = ".Helper() " + NL + "\t\t\t {" + NL

-			+ "\t\t\t\t public boolean isInstance(Object instance)" + NL + "\t\t\t\t {" + NL

-			+ "\t\t\t\t\t return instance instanceof ";

-	protected final String TEXT_172 = ";" + NL + "\t\t\t\t }" + NL + "" + NL

-			+ "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {";

-	protected final String TEXT_173 = NL + "\t\t\t\t\t return new ";

-	protected final String TEXT_174 = "[size]";

-	protected final String TEXT_175 = ";";

-	protected final String TEXT_176 = NL + "\t\t\t\t\t return new ";

-	protected final String TEXT_177 = "[size];";

-	protected final String TEXT_178 = NL + "\t\t\t\t }" + NL + "\t\t});";

-	protected final String TEXT_179 = NL + "\t}" + NL + "" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static class WhiteList implements ";

-	protected final String TEXT_180 = ", EBasicWhiteList" + NL + "\t{";

-	protected final String TEXT_181 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";

-	protected final String TEXT_182 = " ";

-	protected final String TEXT_183 = ";" + NL;

-	protected final String TEXT_184 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";

-	protected final String TEXT_185 = " ";

-	protected final String TEXT_186 = ";" + NL;

-	protected final String TEXT_187 = NL + "\t}";

-	protected final String TEXT_188 = NL;

-	protected final String TEXT_189 = NL;

-	protected final String TEXT_190 = NL + "\t/**";

-	protected final String TEXT_191 = NL + "\t * Returns the meta object for class '{@link ";

-	protected final String TEXT_192 = " <em>";

-	protected final String TEXT_193 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for class '<em>";

-	protected final String TEXT_194 = "</em>'." + NL + "\t * @see ";

-	protected final String TEXT_195 = NL + "\t * @model ";

-	protected final String TEXT_196 = NL + "\t *        ";

-	protected final String TEXT_197 = NL + "\t * @model";

-	protected final String TEXT_198 = NL + "\t * Returns the meta object for enum '{@link ";

-	protected final String TEXT_199 = " <em>";

-	protected final String TEXT_200 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for enum '<em>";

-	protected final String TEXT_201 = "</em>'." + NL + "\t * @see ";

-	protected final String TEXT_202 = NL + "\t * Returns the meta object for data type '<em>";

-	protected final String TEXT_203 = "</em>'.";

-	protected final String TEXT_204 = NL + "\t * Returns the meta object for data type '{@link ";

-	protected final String TEXT_205 = " <em>";

-	protected final String TEXT_206 = "</em>}'.";

-	protected final String TEXT_207 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the meta object for data type '<em>";

-	protected final String TEXT_208 = "</em>'.";

-	protected final String TEXT_209 = NL + "\t * @see ";

-	protected final String TEXT_210 = NL + "\t * @model ";

-	protected final String TEXT_211 = NL + "\t *        ";

-	protected final String TEXT_212 = NL + "\t * @model";

-	protected final String TEXT_213 = NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_214 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_215 = NL + "\tpublic ";

-	protected final String TEXT_216 = " get";

-	protected final String TEXT_217 = "()" + NL + "\t{";

-	protected final String TEXT_218 = NL + "\t\tif (";

-	protected final String TEXT_219 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_220 = " = (";

-	protected final String TEXT_221 = ")";

-	protected final String TEXT_222 = ".Registry.INSTANCE.getEPackage(";

-	protected final String TEXT_223 = ".eNS_URI).getEClassifiers().get(";

-	protected final String TEXT_224 = ");" + NL + "\t\t}";

-	protected final String TEXT_225 = NL + "\t\treturn ";

-	protected final String TEXT_226 = ";" + NL + "\t}" + NL;

-	protected final String TEXT_227 = NL + "\t";

-	protected final String TEXT_228 = " get";

-	protected final String TEXT_229 = "();" + NL;

-	protected final String TEXT_230 = NL + "\t/**" + NL + "\t * Returns the meta object for the ";

-	protected final String TEXT_231 = " '{@link ";

-	protected final String TEXT_232 = "#";

-	protected final String TEXT_233 = " <em>";

-	protected final String TEXT_234 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the ";

-	protected final String TEXT_235 = " '<em>";

-	protected final String TEXT_236 = "</em>'." + NL + "\t * @see ";

-	protected final String TEXT_237 = "#";

-	protected final String TEXT_238 = "()";

-	protected final String TEXT_239 = NL + "\t * @see #get";

-	protected final String TEXT_240 = "()" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_241 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_242 = NL + "\tpublic ";

-	protected final String TEXT_243 = " get";

-	protected final String TEXT_244 = "()" + NL + "\t{";

-	protected final String TEXT_245 = NL + "\t\treturn (";

-	protected final String TEXT_246 = ")";

-	protected final String TEXT_247 = ".getEStructuralFeatures().get(";

-	protected final String TEXT_248 = ");";

-	protected final String TEXT_249 = NL + "        return (";

-	protected final String TEXT_250 = ")get";

-	protected final String TEXT_251 = "().getEStructuralFeatures().get(";

-	protected final String TEXT_252 = ");";

-	protected final String TEXT_253 = NL + "\t}";

-	protected final String TEXT_254 = NL + "\t";

-	protected final String TEXT_255 = " get";

-	protected final String TEXT_256 = "();";

-	protected final String TEXT_257 = NL;

-	protected final String TEXT_258 = NL + "\t/**" + NL + "\t * Returns the meta object for the '{@link ";

-	protected final String TEXT_259 = "#";

-	protected final String TEXT_260 = "(";

-	protected final String TEXT_261 = ") <em>";

-	protected final String TEXT_262 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the '<em>";

-	protected final String TEXT_263 = "</em>' operation." + NL + "\t * @see ";

-	protected final String TEXT_264 = "#";

-	protected final String TEXT_265 = "(";

-	protected final String TEXT_266 = ")" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_267 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_268 = NL + "\tpublic ";

-	protected final String TEXT_269 = " get";

-	protected final String TEXT_270 = "()" + NL + "\t{";

-	protected final String TEXT_271 = NL + "\t\treturn ";

-	protected final String TEXT_272 = ".getEOperations().get(";

-	protected final String TEXT_273 = ");";

-	protected final String TEXT_274 = NL + "        return get";

-	protected final String TEXT_275 = "().getEOperations().get(";

-	protected final String TEXT_276 = ");";

-	protected final String TEXT_277 = NL + "\t}";

-	protected final String TEXT_278 = NL + "\t";

-	protected final String TEXT_279 = " get";

-	protected final String TEXT_280 = "();";

-	protected final String TEXT_281 = NL;

-	protected final String TEXT_282 = NL + "\t/**" + NL

-			+ "\t * Returns the factory that creates the instances of the model." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the factory that creates the instances of the model." + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_283 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_284 = NL + "\tpublic ";

-	protected final String TEXT_285 = " get";

-	protected final String TEXT_286 = "()" + NL + "\t{" + NL + "\t\treturn (";

-	protected final String TEXT_287 = ")getEFactoryInstance();" + NL + "\t}";

-	protected final String TEXT_288 = NL + "\t";

-	protected final String TEXT_289 = " get";

-	protected final String TEXT_290 = "();";

-	protected final String TEXT_291 = NL;

-	protected final String TEXT_292 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate boolean isCreated = false;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Creates the meta-model objects for the package.  This method is" + NL

-			+ "\t * guarded to have no affect on any invocation but its first." + NL + "\t * <!-- begin-user-doc -->"

-			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic void createPackageContents()" + NL + "\t{" + NL + "\t\tif (isCreated) return;" + NL

-			+ "\t\tisCreated = true;";

-	protected final String TEXT_293 = NL + NL + "\t\t// Create classes and their features";

-	protected final String TEXT_294 = NL + "\t\t";

-	protected final String TEXT_295 = " = create";

-	protected final String TEXT_296 = "(";

-	protected final String TEXT_297 = ");";

-	protected final String TEXT_298 = NL + "\t\tcreate";

-	protected final String TEXT_299 = "(";

-	protected final String TEXT_300 = ", ";

-	protected final String TEXT_301 = ");";

-	protected final String TEXT_302 = NL + "\t\tcreateEOperation(";

-	protected final String TEXT_303 = ", ";

-	protected final String TEXT_304 = ");";

-	protected final String TEXT_305 = NL;

-	protected final String TEXT_306 = NL + NL + "\t\t// Create enums";

-	protected final String TEXT_307 = NL + "\t\t";

-	protected final String TEXT_308 = " = createEEnum(";

-	protected final String TEXT_309 = ");";

-	protected final String TEXT_310 = NL + NL + "\t\t// Create data types";

-	protected final String TEXT_311 = NL + "\t\t";

-	protected final String TEXT_312 = " = createEDataType(";

-	protected final String TEXT_313 = ");";

-	protected final String TEXT_314 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate boolean isInitialized = false;" + NL;

-	protected final String TEXT_315 = NL + "\t/**" + NL

-			+ "\t * Complete the initialization of the package and its meta-model.  This" + NL

-			+ "\t * method is guarded to have no affect on any invocation but its first." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void initializePackageContents()" + NL + "\t{" + NL

-			+ "\t\tif (isInitialized) return;" + NL + "\t\tisInitialized = true;" + NL + "" + NL

-			+ "\t\t// Initialize package" + NL + "\t\tsetName(eNAME);" + NL + "\t\tsetNsPrefix(eNS_PREFIX);" + NL

-			+ "\t\tsetNsURI(eNS_URI);";

-	protected final String TEXT_316 = NL + NL + "\t\t// Obtain other dependent packages";

-	protected final String TEXT_317 = NL + "\t\t";

-	protected final String TEXT_318 = " ";

-	protected final String TEXT_319 = " = (";

-	protected final String TEXT_320 = ")";

-	protected final String TEXT_321 = ".Registry.INSTANCE.getEPackage(";

-	protected final String TEXT_322 = ".eNS_URI);";

-	protected final String TEXT_323 = NL + NL + "\t\t// Add subpackages";

-	protected final String TEXT_324 = NL + "\t\tgetESubpackages().add(";

-	protected final String TEXT_325 = ");";

-	protected final String TEXT_326 = NL + NL + "\t\t// Create type parameters";

-	protected final String TEXT_327 = NL + "\t\t";

-	protected final String TEXT_328 = " ";

-	protected final String TEXT_329 = "_";

-	protected final String TEXT_330 = " = addETypeParameter(";

-	protected final String TEXT_331 = ", \"";

-	protected final String TEXT_332 = "\");";

-	protected final String TEXT_333 = NL + "\t\taddETypeParameter(";

-	protected final String TEXT_334 = ", \"";

-	protected final String TEXT_335 = "\");";

-	protected final String TEXT_336 = NL + NL + "\t\t// Set bounds for type parameters";

-	protected final String TEXT_337 = NL + "\t\t";

-	protected final String TEXT_338 = "g";

-	protected final String TEXT_339 = " = createEGenericType(";

-	protected final String TEXT_340 = ");";

-	protected final String TEXT_341 = NL + "\t\tg";

-	protected final String TEXT_342 = ".";

-	protected final String TEXT_343 = "(g";

-	protected final String TEXT_344 = ");";

-	protected final String TEXT_345 = NL + "\t\t";

-	protected final String TEXT_346 = "_";

-	protected final String TEXT_347 = ".getEBounds().add(g1);";

-	protected final String TEXT_348 = NL + NL + "\t\t// Add supertypes to classes";

-	protected final String TEXT_349 = NL + "\t\t";

-	protected final String TEXT_350 = ".getESuperTypes().add(";

-	protected final String TEXT_351 = ".get";

-	protected final String TEXT_352 = "());";

-	protected final String TEXT_353 = NL + "\t\t";

-	protected final String TEXT_354 = "g";

-	protected final String TEXT_355 = " = createEGenericType(";

-	protected final String TEXT_356 = ");";

-	protected final String TEXT_357 = NL + "\t\tg";

-	protected final String TEXT_358 = ".";

-	protected final String TEXT_359 = "(g";

-	protected final String TEXT_360 = ");";

-	protected final String TEXT_361 = NL + "\t\t";

-	protected final String TEXT_362 = ".getEGenericSuperTypes().add(g1);";

-	protected final String TEXT_363 = NL + NL + "\t\t// Initialize classes";

-	protected final String TEXT_364 = ", features, and operations; add parameters";

-	protected final String TEXT_365 = " and features; add operations and parameters";

-	protected final String TEXT_366 = NL + "\t\tinitEClass(";

-	protected final String TEXT_367 = ", ";

-	protected final String TEXT_368 = "null";

-	protected final String TEXT_369 = ".class";

-	protected final String TEXT_370 = ", \"";

-	protected final String TEXT_371 = "\", ";

-	protected final String TEXT_372 = ", ";

-	protected final String TEXT_373 = ", ";

-	protected final String TEXT_374 = ", \"";

-	protected final String TEXT_375 = "\"";

-	protected final String TEXT_376 = ");";

-	protected final String TEXT_377 = NL + "\t\t";

-	protected final String TEXT_378 = "g";

-	protected final String TEXT_379 = " = createEGenericType(";

-	protected final String TEXT_380 = ");";

-	protected final String TEXT_381 = NL + "\t\tg";

-	protected final String TEXT_382 = ".";

-	protected final String TEXT_383 = "(g";

-	protected final String TEXT_384 = ");";

-	protected final String TEXT_385 = NL + "\t\tinitEReference(get";

-	protected final String TEXT_386 = "(), ";

-	protected final String TEXT_387 = "g1";

-	protected final String TEXT_388 = ".get";

-	protected final String TEXT_389 = "()";

-	protected final String TEXT_390 = ", ";

-	protected final String TEXT_391 = ", \"";

-	protected final String TEXT_392 = "\", ";

-	protected final String TEXT_393 = ", ";

-	protected final String TEXT_394 = ", ";

-	protected final String TEXT_395 = ", ";

-	protected final String TEXT_396 = ", ";

-	protected final String TEXT_397 = ", ";

-	protected final String TEXT_398 = ", ";

-	protected final String TEXT_399 = ", ";

-	protected final String TEXT_400 = ", ";

-	protected final String TEXT_401 = ", ";

-	protected final String TEXT_402 = ", ";

-	protected final String TEXT_403 = ", ";

-	protected final String TEXT_404 = ", ";

-	protected final String TEXT_405 = ");";

-	protected final String TEXT_406 = NL + "\t\tget";

-	protected final String TEXT_407 = "().getEKeys().add(";

-	protected final String TEXT_408 = ".get";

-	protected final String TEXT_409 = "());";

-	protected final String TEXT_410 = NL + "\t\tinitEAttribute(get";

-	protected final String TEXT_411 = "(), ";

-	protected final String TEXT_412 = "g1";

-	protected final String TEXT_413 = ".get";

-	protected final String TEXT_414 = "()";

-	protected final String TEXT_415 = ", \"";

-	protected final String TEXT_416 = "\", ";

-	protected final String TEXT_417 = ", ";

-	protected final String TEXT_418 = ", ";

-	protected final String TEXT_419 = ", ";

-	protected final String TEXT_420 = ", ";

-	protected final String TEXT_421 = ", ";

-	protected final String TEXT_422 = ", ";

-	protected final String TEXT_423 = ", ";

-	protected final String TEXT_424 = ", ";

-	protected final String TEXT_425 = ", ";

-	protected final String TEXT_426 = ", ";

-	protected final String TEXT_427 = ", ";

-	protected final String TEXT_428 = ");";

-	protected final String TEXT_429 = NL;

-	protected final String TEXT_430 = NL + "\t\t";

-	protected final String TEXT_431 = "initEOperation(get";

-	protected final String TEXT_432 = "()";

-	protected final String TEXT_433 = "addEOperation(";

-	protected final String TEXT_434 = ", ";

-	protected final String TEXT_435 = "null";

-	protected final String TEXT_436 = ".get";

-	protected final String TEXT_437 = "()";

-	protected final String TEXT_438 = ", \"";

-	protected final String TEXT_439 = "\", ";

-	protected final String TEXT_440 = ", ";

-	protected final String TEXT_441 = ", ";

-	protected final String TEXT_442 = ", ";

-	protected final String TEXT_443 = ");";

-	protected final String TEXT_444 = NL + "\t\t";

-	protected final String TEXT_445 = "initEOperation(get";

-	protected final String TEXT_446 = "()";

-	protected final String TEXT_447 = "addEOperation(";

-	protected final String TEXT_448 = ", ";

-	protected final String TEXT_449 = ".get";

-	protected final String TEXT_450 = "(), \"";

-	protected final String TEXT_451 = "\", ";

-	protected final String TEXT_452 = ", ";

-	protected final String TEXT_453 = ", ";

-	protected final String TEXT_454 = ", ";

-	protected final String TEXT_455 = ");";

-	protected final String TEXT_456 = NL + "\t\t";

-	protected final String TEXT_457 = "initEOperation(get";

-	protected final String TEXT_458 = "()";

-	protected final String TEXT_459 = "addEOperation(";

-	protected final String TEXT_460 = ", ";

-	protected final String TEXT_461 = ".get";

-	protected final String TEXT_462 = "(), \"";

-	protected final String TEXT_463 = "\", ";

-	protected final String TEXT_464 = ", ";

-	protected final String TEXT_465 = ");";

-	protected final String TEXT_466 = NL + "\t\t";

-	protected final String TEXT_467 = "initEOperation(get";

-	protected final String TEXT_468 = "()";

-	protected final String TEXT_469 = "addEOperation(";

-	protected final String TEXT_470 = ", null, \"";

-	protected final String TEXT_471 = "\");";

-	protected final String TEXT_472 = NL + "\t\t";

-	protected final String TEXT_473 = "addETypeParameter(op, \"";

-	protected final String TEXT_474 = "\");";

-	protected final String TEXT_475 = NL + "\t\t";

-	protected final String TEXT_476 = "g";

-	protected final String TEXT_477 = " = createEGenericType(";

-	protected final String TEXT_478 = ");";

-	protected final String TEXT_479 = NL + "\t\tg";

-	protected final String TEXT_480 = ".";

-	protected final String TEXT_481 = "(g";

-	protected final String TEXT_482 = ");";

-	protected final String TEXT_483 = NL + "\t\tt";

-	protected final String TEXT_484 = ".getEBounds().add(g1);";

-	protected final String TEXT_485 = NL + "\t\t";

-	protected final String TEXT_486 = "g";

-	protected final String TEXT_487 = " = createEGenericType(";

-	protected final String TEXT_488 = ");";

-	protected final String TEXT_489 = NL + "\t\tg";

-	protected final String TEXT_490 = ".";

-	protected final String TEXT_491 = "(g";

-	protected final String TEXT_492 = ");";

-	protected final String TEXT_493 = NL + "\t\taddEParameter(op, ";

-	protected final String TEXT_494 = "g1";

-	protected final String TEXT_495 = ".get";

-	protected final String TEXT_496 = "()";

-	protected final String TEXT_497 = ", \"";

-	protected final String TEXT_498 = "\", ";

-	protected final String TEXT_499 = ", ";

-	protected final String TEXT_500 = ", ";

-	protected final String TEXT_501 = ", ";

-	protected final String TEXT_502 = ");";

-	protected final String TEXT_503 = NL + "\t\taddEParameter(op, ";

-	protected final String TEXT_504 = "g1";

-	protected final String TEXT_505 = ".get";

-	protected final String TEXT_506 = "()";

-	protected final String TEXT_507 = ", \"";

-	protected final String TEXT_508 = "\", ";

-	protected final String TEXT_509 = ", ";

-	protected final String TEXT_510 = ", ";

-	protected final String TEXT_511 = ", ";

-	protected final String TEXT_512 = ");";

-	protected final String TEXT_513 = NL + "\t\taddEParameter(op, ";

-	protected final String TEXT_514 = "g1";

-	protected final String TEXT_515 = ".get";

-	protected final String TEXT_516 = "()";

-	protected final String TEXT_517 = ", \"";

-	protected final String TEXT_518 = "\", ";

-	protected final String TEXT_519 = ", ";

-	protected final String TEXT_520 = ");";

-	protected final String TEXT_521 = NL + "\t\t";

-	protected final String TEXT_522 = "g";

-	protected final String TEXT_523 = " = createEGenericType(";

-	protected final String TEXT_524 = ");";

-	protected final String TEXT_525 = NL + "\t\tg";

-	protected final String TEXT_526 = ".";

-	protected final String TEXT_527 = "(g";

-	protected final String TEXT_528 = ");";

-	protected final String TEXT_529 = NL + "\t\taddEException(op, g";

-	protected final String TEXT_530 = ");";

-	protected final String TEXT_531 = NL + "\t\taddEException(op, ";

-	protected final String TEXT_532 = ".get";

-	protected final String TEXT_533 = "());";

-	protected final String TEXT_534 = NL + "\t\t";

-	protected final String TEXT_535 = "g";

-	protected final String TEXT_536 = " = createEGenericType(";

-	protected final String TEXT_537 = ");";

-	protected final String TEXT_538 = NL + "\t\tg";

-	protected final String TEXT_539 = ".";

-	protected final String TEXT_540 = "(g";

-	protected final String TEXT_541 = ");";

-	protected final String TEXT_542 = NL + "\t\tinitEOperation(op, g1);";

-	protected final String TEXT_543 = NL;

-	protected final String TEXT_544 = NL + NL + "\t\t// Initialize enums and add enum literals";

-	protected final String TEXT_545 = NL + "\t\tinitEEnum(";

-	protected final String TEXT_546 = ", ";

-	protected final String TEXT_547 = ".class, \"";

-	protected final String TEXT_548 = "\");";

-	protected final String TEXT_549 = NL + "\t\taddEEnumLiteral(";

-	protected final String TEXT_550 = ", ";

-	protected final String TEXT_551 = ".";

-	protected final String TEXT_552 = ");";

-	protected final String TEXT_553 = NL;

-	protected final String TEXT_554 = NL + NL + "\t\t// Initialize data types";

-	protected final String TEXT_555 = NL + "\t\tinitEDataType(";

-	protected final String TEXT_556 = ", ";

-	protected final String TEXT_557 = ".class, \"";

-	protected final String TEXT_558 = "\", ";

-	protected final String TEXT_559 = ", ";

-	protected final String TEXT_560 = ", \"";

-	protected final String TEXT_561 = "\"";

-	protected final String TEXT_562 = ");";

-	protected final String TEXT_563 = NL + NL + "\t\t// Create resource" + NL + "\t\tcreateResource(";

-	protected final String TEXT_564 = ");";

-	protected final String TEXT_565 = NL + NL + "\t\t// Create annotations";

-	protected final String TEXT_566 = NL + "\t\t// ";

-	protected final String TEXT_567 = NL + "\t\tcreate";

-	protected final String TEXT_568 = "Annotations();";

-	protected final String TEXT_569 = NL + "\t}" + NL;

-	protected final String TEXT_570 = NL + "\t/**" + NL + "\t * Initializes the annotations for <b>";

-	protected final String TEXT_571 = "</b>." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void create";

-	protected final String TEXT_572 = "Annotations()" + NL + "\t{" + NL + "\t\tString source = ";

-	protected final String TEXT_573 = "null;";

-	protected final String TEXT_574 = "\"";

-	protected final String TEXT_575 = "\";";

-	protected final String TEXT_576 = "\t" + NL + "\t\taddAnnotation" + NL + "\t\t  (";

-	protected final String TEXT_577 = ", " + NL + "\t\t   source, " + NL + "\t\t   new String[] " + NL + "\t\t   {";

-	protected final String TEXT_578 = NL + "\t\t\t ";

-	protected final String TEXT_579 = ", ";

-	protected final String TEXT_580 = NL + "\t\t   }";

-	protected final String TEXT_581 = ");";

-	protected final String TEXT_582 = ",";

-	protected final String TEXT_583 = NL + "\t\t   new ";

-	protected final String TEXT_584 = "[] " + NL + "\t\t   {";

-	protected final String TEXT_585 = NL + "\t\t\t ";

-	protected final String TEXT_586 = ".createURI(";

-	protected final String TEXT_587 = ".";

-	protected final String TEXT_588 = "eNS_URI).appendFragment(\"";

-	protected final String TEXT_589 = "\")";

-	protected final String TEXT_590 = ",";

-	protected final String TEXT_591 = NL + "\t\t   });";

-	protected final String TEXT_592 = NL + "\t\taddAnnotation" + NL + "\t\t  (";

-	protected final String TEXT_593 = ", " + NL + "\t\t   ";

-	protected final String TEXT_594 = "new boolean[] { ";

-	protected final String TEXT_595 = " }";

-	protected final String TEXT_596 = "," + NL + "\t\t   ";

-	protected final String TEXT_597 = "null,";

-	protected final String TEXT_598 = "\"";

-	protected final String TEXT_599 = "\",";

-	protected final String TEXT_600 = NL + "\t\t   new String[] " + NL + "\t\t   {";

-	protected final String TEXT_601 = NL + "\t\t\t ";

-	protected final String TEXT_602 = ", ";

-	protected final String TEXT_603 = NL + "\t\t   }";

-	protected final String TEXT_604 = ");";

-	protected final String TEXT_605 = ",";

-	protected final String TEXT_606 = NL + "\t\t   new ";

-	protected final String TEXT_607 = "[] " + NL + "\t\t   {";

-	protected final String TEXT_608 = NL + "\t\t\t ";

-	protected final String TEXT_609 = ".createURI(";

-	protected final String TEXT_610 = ".";

-	protected final String TEXT_611 = "eNS_URI).appendFragment(\"";

-	protected final String TEXT_612 = "\")";

-	protected final String TEXT_613 = ",";

-	protected final String TEXT_614 = NL + "\t\t   });";

-	protected final String TEXT_615 = NL + "\t}" + NL;

-	protected final String TEXT_616 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate boolean isLoaded = false;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Laods the package and any sub-packages from their serialized form." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void loadPackage()" + NL + "\t{" + NL + "\t\tif (isLoaded) return;" + NL

-			+ "\t\tisLoaded = true;" + NL + "" + NL + "\t\t";

-	protected final String TEXT_617 = " url = getClass().getResource(packageFilename);" + NL + "\t\tif (url == null)"

-			+ NL + "\t\t{" + NL

-			+ "\t\t\tthrow new RuntimeException(\"Missing serialized package: \" + packageFilename);";

-	protected final String TEXT_618 = NL + "\t\t}" + NL + "\t\t";

-	protected final String TEXT_619 = " uri = ";

-	protected final String TEXT_620 = ".createURI(url.toString());" + NL + "\t\t";

-	protected final String TEXT_621 = " resource = new ";

-	protected final String TEXT_622 = "().createResource(uri);" + NL + "\t\ttry" + NL + "\t\t{" + NL

-			+ "\t\t\tresource.load(null);" + NL + "\t\t}" + NL + "\t\tcatch (";

-	protected final String TEXT_623 = " exception)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";

-	protected final String TEXT_624 = "(exception);" + NL + "\t\t}" + NL + "\t\tinitializeFromLoadedEPackage(this, (";

-	protected final String TEXT_625 = ")resource.getContents().get(0));" + NL + "\t\tcreateResource(eNS_URI);" + NL

-			+ "\t}" + NL;

-	protected final String TEXT_626 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprivate boolean isFixed = false;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Fixes up the loaded package, to make it appear as if it had been programmatically built." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic void fixPackageContents()" + NL + "\t{" + NL + "\t\tif (isFixed) return;" + NL

-			+ "\t\tisFixed = true;" + NL + "\t\tfixEClassifiers();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Sets the instance class on the given classifier." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_627 = NL + "\t@Override";

-	protected final String TEXT_628 = NL + "\tprotected void fixInstanceClass(";

-	protected final String TEXT_629 = " eClassifier)" + NL + "\t{" + NL

-			+ "\t\tif (eClassifier.getInstanceClassName() == null)" + NL + "\t\t{";

-	protected final String TEXT_630 = NL + "\t\t\teClassifier.setInstanceClassName(\"";

-	protected final String TEXT_631 = ".\" + eClassifier.getName());";

-	protected final String TEXT_632 = NL + "\t\t\tsetGeneratedClassName(eClassifier);";

-	protected final String TEXT_633 = NL + "\t\t\tswitch (eClassifier.getClassifierID())" + NL + "\t\t\t{";

-	protected final String TEXT_634 = NL + "\t\t\t\tcase ";

-	protected final String TEXT_635 = ":";

-	protected final String TEXT_636 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tbreak;" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t\tdefault:" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\teClassifier.setInstanceClassName(\"";

-	protected final String TEXT_637 = ".\" + eClassifier.getName());";

-	protected final String TEXT_638 = NL + "\t\t\t\t\tsetGeneratedClassName(eClassifier);" + NL + "\t\t\t\t\tbreak;"

-			+ NL + "\t\t\t\t}" + NL + "\t\t\t}";

-	protected final String TEXT_639 = NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_640 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_641 = " addEOperation(";

-	protected final String TEXT_642 = " owner, ";

-	protected final String TEXT_643 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"

-			+ NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_644 = " o = addEOperation(owner, type, name, lowerBound, upperBound);" + NL

-			+ "\t\to.setUnique(isUnique);" + NL + "\t\to.setOrdered(isOrdered);" + NL + "\t\treturn o;" + NL + "\t}"

-			+ NL + "\t";

-	protected final String TEXT_645 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_646 = " addEParameter(";

-	protected final String TEXT_647 = " owner, ";

-	protected final String TEXT_648 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"

-			+ NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_649 = " p = ecoreFactory.createEParameter();" + NL + "\t\tp.setEType(type);" + NL

-			+ "\t\tp.setName(name);" + NL + "\t\tp.setLowerBound(lowerBound);" + NL

-			+ "\t\tp.setUpperBound(upperBound);" + NL + "\t\tp.setUnique(isUnique);" + NL

-			+ "\t\tp.setOrdered(isOrdered);" + NL + "\t\towner.getEParameters().add(p);" + NL + "\t\treturn p;" + NL

-			+ "\t}" + NL + "\t";

-	protected final String TEXT_650 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * Defines literals for the meta objects that represent" + NL + "\t * <ul>" + NL

-			+ "\t *   <li>each class,</li>" + NL + "\t *   <li>each feature of each class,</li>";

-	protected final String TEXT_651 = NL + "\t *   <li>each operation of each class,</li>";

-	protected final String TEXT_652 = NL + "\t *   <li>each enum,</li>" + NL + "\t *   <li>and each data type</li>"

-			+ NL + "\t * </ul>" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";

-	protected final String TEXT_653 = "public ";

-	protected final String TEXT_654 = "interface Literals" + NL + "\t{";

-	protected final String TEXT_655 = NL + "\t\t/**";

-	protected final String TEXT_656 = NL + "\t\t * The meta object literal for the '{@link ";

-	protected final String TEXT_657 = " <em>";

-	protected final String TEXT_658 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";

-	protected final String TEXT_659 = NL + "\t\t * The meta object literal for the '{@link ";

-	protected final String TEXT_660 = " <em>";

-	protected final String TEXT_661 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";

-	protected final String TEXT_662 = NL + "\t\t * The meta object literal for the '{@link ";

-	protected final String TEXT_663 = " <em>";

-	protected final String TEXT_664 = "</em>}' enum." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";

-	protected final String TEXT_665 = NL + "\t\t * The meta object literal for the '<em>";

-	protected final String TEXT_666 = "</em>' data type." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->";

-	protected final String TEXT_667 = NL + "\t\t * @see ";

-	protected final String TEXT_668 = NL + "\t\t * @see ";

-	protected final String TEXT_669 = "#get";

-	protected final String TEXT_670 = "()" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";

-	protected final String TEXT_671 = " ";

-	protected final String TEXT_672 = " = eINSTANCE.get";

-	protected final String TEXT_673 = "();" + NL;

-	protected final String TEXT_674 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";

-	protected final String TEXT_675 = "</b></em>' ";

-	protected final String TEXT_676 = " feature." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";

-	protected final String TEXT_677 = " ";

-	protected final String TEXT_678 = " = eINSTANCE.get";

-	protected final String TEXT_679 = "();" + NL;

-	protected final String TEXT_680 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";

-	protected final String TEXT_681 = "</b></em>' operation." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";

-	protected final String TEXT_682 = " ";

-	protected final String TEXT_683 = " = eINSTANCE.get";

-	protected final String TEXT_684 = "();" + NL;

-	protected final String TEXT_685 = NL + "\t}" + NL;

-	protected final String TEXT_686 = NL + "} //";

-	protected final String TEXT_687 = NL;

-	protected final String TEXT_688 = NL;

-	protected final String TEXT_689 = NL;

-

-	public PackageInterface() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_688);

-		stringBuffer.append(TEXT_689);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getModelDirectory();

-		packageName = genPackage.getReflectionPackageName();

-		className = genPackage.getPackageInterfaceName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = ((Object[]) new Object[] { new Object[] { genPackage, Boolean.TRUE, Boolean.FALSE } })[0];

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2010 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		final GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];

-		final GenModel genModel = genPackage.getGenModel();

-		boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);

-		boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);

-		String publicStaticFinalFlag = isImplementation ? "public static final " : "";

-		boolean needsAddEOperation = false;

-		boolean needsAddEParameter = false;

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		if (isImplementation && !genModel.isSuppressInterfaces()) {

-			stringBuffer.append(TEXT_2);

-			stringBuffer.append(genPackage.getClassPackageName());

-			stringBuffer.append(TEXT_3);

-		} else {

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(genPackage.getReflectionPackageName());

-			stringBuffer.append(TEXT_5);

-		}

-		stringBuffer.append(TEXT_6);

-		genModel.markImportLocation(stringBuffer, genPackage);

-		if (isImplementation) {

-			genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Registry");

-			genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Descriptor");

-			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.EPackageImpl.EBasicWhiteList");

-			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");

-			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");

-			if (genPackage.isLiteralsInterface()) {

-				genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + ".Literals");

-			}

-			for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers())

-				genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + "."

-						+ genPackage.getClassifierID(genClassifier));

-		}

-		if (isInterface) {

-			stringBuffer.append(TEXT_7);

-			if (genModel.isOperationReflection()) {

-				stringBuffer.append(TEXT_8);

-			}

-			stringBuffer.append(TEXT_9);

-			if (genPackage.hasDocumentation()) {

-				stringBuffer.append(TEXT_10);

-				stringBuffer.append(genPackage.getDocumentation(genModel.getIndentation(stringBuffer)));

-				stringBuffer.append(TEXT_11);

-			}

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genPackage.getQualifiedFactoryInterfaceName());

-			if (!genModel.isSuppressEMFModelTags()) {

-				boolean first = true;

-				for (StringTokenizer stringTokenizer = new StringTokenizer(genPackage.getModelInfo(), "\n\r"); stringTokenizer

-						.hasMoreTokens();) {

-					String modelInfo = stringTokenizer.nextToken();

-					if (first) {

-						first = false;

-						stringBuffer.append(TEXT_13);

-						stringBuffer.append(modelInfo);

-					} else {

-						stringBuffer.append(TEXT_14);

-						stringBuffer.append(modelInfo);

-					}

-				}

-				if (first) {

-					stringBuffer.append(TEXT_15);

-				}

-			}

-			stringBuffer.append(TEXT_16);

-		} else {

-			stringBuffer.append(TEXT_17);

-		}

-		if (isImplementation) {

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(genPackage.getPackageClassName());

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl"));

-			if (!isInterface) {

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			}

-		} else {

-			stringBuffer.append(TEXT_21);

-			stringBuffer.append(genPackage.getPackageInterfaceName());

-			stringBuffer.append(TEXT_22);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-		}

-		stringBuffer.append(TEXT_23);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_26);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_27);

-		}

-		if (isInterface) {

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_29);

-			stringBuffer.append(genPackage.getPackageName());

-			stringBuffer.append(TEXT_30);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_31);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_32);

-			stringBuffer.append(genPackage.getNSURI());

-			stringBuffer.append(TEXT_33);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_34);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_35);

-			stringBuffer.append(genPackage.getNSName());

-			stringBuffer.append(TEXT_36);

-			stringBuffer.append(genModel.getNonNLS());

-			if (genPackage.isContentType()) {

-				stringBuffer.append(TEXT_37);

-				stringBuffer.append(publicStaticFinalFlag);

-				stringBuffer.append(genModel.getImportedName("java.lang.String"));

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genPackage.getContentTypeIdentifier());

-				stringBuffer.append(TEXT_39);

-				stringBuffer.append(genModel.getNonNLS());

-			}

-			stringBuffer.append(TEXT_40);

-			stringBuffer.append(publicStaticFinalFlag);

-			stringBuffer.append(genPackage.getPackageInterfaceName());

-			stringBuffer.append(TEXT_41);

-			stringBuffer.append(genPackage.getQualifiedPackageClassName());

-			stringBuffer.append(TEXT_42);

-			for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {

-				stringBuffer.append(TEXT_43);

-				if (genClassifier instanceof GenClass) {

-					GenClass genClass = (GenClass) genClassifier;

-					if (!genClass.isInterface()) {

-						stringBuffer.append(TEXT_44);

-						stringBuffer.append(genClass.getQualifiedClassName());

-						stringBuffer.append(TEXT_45);

-						stringBuffer.append(genClass.getFormattedName());

-						stringBuffer.append(TEXT_46);

-						stringBuffer.append(genClass.getQualifiedClassName());

-					} else {

-						stringBuffer.append(TEXT_47);

-						stringBuffer.append(genClass.getQualifiedInterfaceName());

-						stringBuffer.append(TEXT_48);

-						stringBuffer.append(genClass.getFormattedName());

-						stringBuffer.append(TEXT_49);

-						stringBuffer.append(genClass.getQualifiedInterfaceName());

-					}

-				} else if (genClassifier instanceof GenEnum) {

-					GenEnum genEnum = (GenEnum) genClassifier;

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(genEnum.getQualifiedName());

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(genEnum.getFormattedName());

-					stringBuffer.append(TEXT_52);

-					stringBuffer.append(genEnum.getQualifiedName());

-				} else if (genClassifier instanceof GenDataType) {

-					GenDataType genDataType = (GenDataType) genClassifier;

-					stringBuffer.append(TEXT_53);

-					stringBuffer.append(genDataType.getFormattedName());

-					stringBuffer.append(TEXT_54);

-					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(genDataType.getRawInstanceClassName());

-					}

-				}

-				stringBuffer.append(TEXT_56);

-				stringBuffer.append(genPackage.getQualifiedPackageClassName());

-				stringBuffer.append(TEXT_57);

-				stringBuffer.append(genClassifier.getClassifierAccessorName());

-				stringBuffer.append(TEXT_58);

-				stringBuffer.append(publicStaticFinalFlag);

-				stringBuffer.append(TEXT_59);

-				stringBuffer.append(genPackage.getClassifierID(genClassifier));

-				stringBuffer.append(TEXT_60);

-				stringBuffer.append(genPackage.getClassifierValue(genClassifier));

-				stringBuffer.append(TEXT_61);

-				if (genClassifier instanceof GenClass) {

-					GenClass genClass = (GenClass) genClassifier;

-					for (GenFeature genFeature : genClass.getAllGenFeatures()) {

-						stringBuffer.append(TEXT_62);

-						stringBuffer.append(genFeature.getFormattedName());

-						stringBuffer.append(TEXT_63);

-						stringBuffer.append(genFeature.getFeatureKind());

-						stringBuffer.append(TEXT_64);

-						stringBuffer.append(publicStaticFinalFlag);

-						stringBuffer.append(TEXT_65);

-						stringBuffer.append(genClass.getFeatureID(genFeature));

-						stringBuffer.append(TEXT_66);

-						stringBuffer.append(genClass.getFeatureValue(genFeature));

-						stringBuffer.append(TEXT_67);

-					}

-					stringBuffer.append(TEXT_68);

-					stringBuffer.append(genClass.getFormattedName());

-					stringBuffer.append(TEXT_69);

-					stringBuffer.append(publicStaticFinalFlag);

-					stringBuffer.append(TEXT_70);

-					stringBuffer.append(genClass.getFeatureCountID());

-					stringBuffer.append(TEXT_71);

-					stringBuffer.append(genClass.getFeatureCountValue());

-					stringBuffer.append(TEXT_72);

-					if (genModel.isOperationReflection()) {

-						for (GenOperation genOperation : genClass.getAllGenOperations(false)) {

-							if (genClass.getOverrideGenOperation(genOperation) == null) {

-								stringBuffer.append(TEXT_73);

-								stringBuffer.append(genOperation.getFormattedName());

-								stringBuffer.append(TEXT_74);

-								stringBuffer.append(publicStaticFinalFlag);

-								stringBuffer.append(TEXT_75);

-								stringBuffer.append(genClass.getOperationID(genOperation, false));

-								stringBuffer.append(TEXT_76);

-								stringBuffer.append(genClass.getOperationValue(genOperation));

-								stringBuffer.append(TEXT_77);

-							}

-						}

-						stringBuffer.append(TEXT_78);

-						stringBuffer.append(genClass.getFormattedName());

-						stringBuffer.append(TEXT_79);

-						stringBuffer.append(publicStaticFinalFlag);

-						stringBuffer.append(TEXT_80);

-						stringBuffer.append(genClass.getOperationCountID());

-						stringBuffer.append(TEXT_81);

-						stringBuffer.append(genClass.getOperationCountValue());

-						stringBuffer.append(TEXT_82);

-					}

-				}

-			}

-		}

-		if (isImplementation) {

-			if (genPackage.isLoadingInitialization()) {

-				stringBuffer.append(TEXT_83);

-				stringBuffer.append(genPackage.getSerializedPackageFilename());

-				stringBuffer.append(TEXT_84);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(TEXT_85);

-			}

-			for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-				stringBuffer.append(TEXT_86);

-				stringBuffer.append(genClassifier.getImportedMetaType());

-				stringBuffer.append(TEXT_87);

-				stringBuffer.append(genClassifier.getClassifierInstanceName());

-				stringBuffer.append(TEXT_88);

-			}

-			stringBuffer.append(TEXT_89);

-			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-			stringBuffer.append(TEXT_90);

-			stringBuffer.append(genPackage.getPackageClassName());

-			stringBuffer.append(TEXT_91);

-			stringBuffer.append(genPackage.getQualifiedEFactoryInstanceAccessor());

-			stringBuffer.append(TEXT_92);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_93);

-			if (!genPackage.isLoadedInitialization()) {

-				stringBuffer.append(TEXT_94);

-			}

-			stringBuffer.append(TEXT_95);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_96);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_97);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_98);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_99);

-			if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

-				stringBuffer.append(TEXT_100);

-			}

-			stringBuffer.append(TEXT_101);

-			stringBuffer.append(genPackage.getPackageClassName());

-			stringBuffer.append(TEXT_102);

-			stringBuffer.append(genPackage.getBasicPackageName());

-			stringBuffer.append(TEXT_103);

-			stringBuffer.append(genPackage.getPackageClassName());

-			stringBuffer.append(TEXT_104);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_105);

-			stringBuffer.append(genPackage.getPackageClassName());

-			stringBuffer.append(TEXT_106);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_107);

-			stringBuffer.append(genPackage.getPackageClassName());

-			stringBuffer.append(TEXT_108);

-			if (!genPackage.getPackageSimpleDependencies().isEmpty()) {

-				stringBuffer.append(TEXT_109);

-				for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {

-					stringBuffer.append(TEXT_110);

-					stringBuffer.append(dep.getImportedPackageInterfaceName());

-					stringBuffer.append(TEXT_111);

-				}

-				stringBuffer.append(TEXT_112);

-			}

-			if (!genPackage.getPackageInterDependencies().isEmpty()) {

-				stringBuffer.append(TEXT_113);

-				for (GenPackage interdep : genPackage.getPackageInterDependencies()) {

-					stringBuffer.append(TEXT_114);

-					stringBuffer.append(interdep.getImportedPackageClassName());

-					stringBuffer.append(TEXT_115);

-					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

-					stringBuffer.append(TEXT_116);

-					stringBuffer.append(interdep.getImportedPackageClassName());

-					stringBuffer.append(TEXT_117);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-					stringBuffer.append(TEXT_118);

-					stringBuffer.append(interdep.getImportedPackageInterfaceName());

-					stringBuffer.append(TEXT_119);

-					stringBuffer.append(interdep.getImportedPackageClassName());

-					stringBuffer.append(TEXT_120);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-					stringBuffer.append(TEXT_121);

-					stringBuffer.append(interdep.getImportedPackageInterfaceName());

-					stringBuffer.append(TEXT_122);

-					stringBuffer.append(interdep.getImportedPackageInterfaceName());

-					stringBuffer.append(TEXT_123);

-				}

-				stringBuffer.append(TEXT_124);

-			}

-			if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {

-				stringBuffer.append(TEXT_125);

-				if (genPackage.isLoadingInitialization()) {

-					stringBuffer.append(TEXT_126);

-					stringBuffer.append(genPackage.getBasicPackageName());

-					stringBuffer.append(TEXT_127);

-				}

-				for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {

-					if (interdep.isLoadingInitialization()) {

-						stringBuffer.append(TEXT_128);

-						stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

-						stringBuffer.append(TEXT_129);

-					}

-				}

-				stringBuffer.append(TEXT_130);

-			}

-			if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {

-				stringBuffer.append(TEXT_131);

-				if (!genPackage.isLoadedInitialization()) {

-					stringBuffer.append(TEXT_132);

-					stringBuffer.append(genPackage.getBasicPackageName());

-					stringBuffer.append(TEXT_133);

-				}

-				for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {

-					stringBuffer.append(TEXT_134);

-					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

-					stringBuffer.append(TEXT_135);

-				}

-				stringBuffer.append(TEXT_136);

-				if (!genPackage.isLoadedInitialization()) {

-					stringBuffer.append(TEXT_137);

-					stringBuffer.append(genPackage.getBasicPackageName());

-					stringBuffer.append(TEXT_138);

-				}

-				for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {

-					stringBuffer.append(TEXT_139);

-					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

-					stringBuffer.append(TEXT_140);

-				}

-				stringBuffer.append(TEXT_141);

-			}

-			if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {

-				stringBuffer.append(TEXT_142);

-				if (genPackage.isLoadedInitialization()) {

-					stringBuffer.append(TEXT_143);

-					stringBuffer.append(genPackage.getBasicPackageName());

-					stringBuffer.append(TEXT_144);

-				}

-				for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {

-					stringBuffer.append(TEXT_145);

-					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));

-					stringBuffer.append(TEXT_146);

-				}

-				stringBuffer.append(TEXT_147);

-			}

-			if (genPackage.hasConstraints()) {

-				stringBuffer.append(TEXT_148);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));

-				stringBuffer.append(TEXT_149);

-				stringBuffer.append(genPackage.getBasicPackageName());

-				stringBuffer.append(TEXT_150);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));

-				stringBuffer.append(TEXT_151);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));

-				stringBuffer.append(TEXT_152);

-				stringBuffer.append(genPackage.getImportedValidatorClassName());

-				stringBuffer.append(TEXT_153);

-			}

-			if (!genPackage.isEcorePackage()) {

-				stringBuffer.append(TEXT_154);

-				stringBuffer.append(genPackage.getBasicPackageName());

-				stringBuffer.append(TEXT_155);

-			}

-			stringBuffer.append(TEXT_156);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_157);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_158);

-			stringBuffer.append(genPackage.getBasicPackageName());

-			stringBuffer.append(TEXT_159);

-			stringBuffer.append(genPackage.getBasicPackageName());

-			stringBuffer.append(TEXT_160);

-			if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

-				stringBuffer.append(TEXT_161);

-				Set<String> helpers = new HashSet<String>();

-				for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-					if (genClassifier instanceof GenClass) {

-						GenClass genClass = (GenClass) genClassifier;

-						if (!genClass.isDynamic()) {

-							String theClass = genClass.isMapEntry() ? genClass.getImportedClassName() : genClass

-									.getRawImportedInterfaceName();

-							if (helpers.add(theClass)) {

-								stringBuffer.append(TEXT_162);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

-								stringBuffer.append(TEXT_163);

-								stringBuffer.append(theClass);

-								stringBuffer.append(TEXT_164);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

-								stringBuffer.append(TEXT_165);

-								stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName() : genClass

-										.getRawImportedInterfaceName() + genClass.getInterfaceWildTypeArguments());

-								stringBuffer.append(TEXT_166);

-								stringBuffer.append(theClass);

-								stringBuffer.append(TEXT_167);

-							}

-						}

-					} else if (genClassifier instanceof GenDataType) {

-						GenDataType genDataType = (GenDataType) genClassifier;

-						if (!genDataType.isPrimitiveType() && !genDataType.isObjectType()) {

-							String theClass = genDataType.getRawImportedInstanceClassName();

-							if (helpers.add(theClass)) {

-								stringBuffer.append(TEXT_168);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

-								stringBuffer.append(TEXT_169);

-								stringBuffer.append(theClass);

-								stringBuffer.append(TEXT_170);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));

-								stringBuffer.append(TEXT_171);

-								stringBuffer.append(theClass);

-								stringBuffer.append(TEXT_172);

-								if (genDataType.isArrayType()) {

-									String componentType = theClass;

-									String indices = "";

-									while (componentType.endsWith("[]")) {

-										componentType = componentType.substring(0, componentType.length() - 2);

-										indices += "[]";

-									}

-									stringBuffer.append(TEXT_173);

-									stringBuffer.append(componentType);

-									stringBuffer.append(TEXT_174);

-									stringBuffer.append(indices);

-									stringBuffer.append(TEXT_175);

-								} else {

-									stringBuffer.append(TEXT_176);

-									stringBuffer.append(theClass);

-									stringBuffer.append(TEXT_177);

-								}

-								stringBuffer.append(TEXT_178);

-							}

-						}

-					}

-				}

-				stringBuffer.append(TEXT_179);

-				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable"));

-				stringBuffer.append(TEXT_180);

-				for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-					if (genClassifier instanceof GenClass) {

-						GenClass genClass = (GenClass) genClassifier;

-						if (!genClass.isDynamic()) {

-							stringBuffer.append(TEXT_181);

-							stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName() : genClass

-									.getImportedWildcardInstanceClassName());

-							stringBuffer.append(TEXT_182);

-							stringBuffer.append(genClass.getSafeUncapName());

-							stringBuffer.append(TEXT_183);

-						}

-					} else if (genClassifier instanceof GenDataType) {

-						GenDataType genDataType = (GenDataType) genClassifier;

-						if (!genDataType.isObjectType() && genDataType.isSerializable()) {

-							stringBuffer.append(TEXT_184);

-							stringBuffer.append(genDataType.getImportedWildcardInstanceClassName());

-							stringBuffer.append(TEXT_185);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_186);

-						}

-					}

-				}

-				stringBuffer.append(TEXT_187);

-			}

-			stringBuffer.append(TEXT_188);

-		}

-		if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE

-			stringBuffer.append(TEXT_189);

-		}

-		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-			if (isInterface) {

-				stringBuffer.append(TEXT_190);

-				if (genClassifier instanceof GenClass) {

-					GenClass genClass = (GenClass) genClassifier;

-					stringBuffer.append(TEXT_191);

-					stringBuffer.append(genClass.getQualifiedInterfaceName());

-					stringBuffer.append(TEXT_192);

-					stringBuffer.append(genClass.getFormattedName());

-					stringBuffer.append(TEXT_193);

-					stringBuffer.append(genClass.getFormattedName());

-					stringBuffer.append(TEXT_194);

-					stringBuffer.append(genClass.getQualifiedInterfaceName());

-					if (!genModel.isSuppressEMFModelTags() && (genClass.isExternalInterface() || genClass.isDynamic())) {

-						boolean first = true;

-						for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer

-								.hasMoreTokens();) {

-							String modelInfo = stringTokenizer.nextToken();

-							if (first) {

-								first = false;

-								stringBuffer.append(TEXT_195);

-								stringBuffer.append(modelInfo);

-							} else {

-								stringBuffer.append(TEXT_196);

-								stringBuffer.append(modelInfo);

-							}

-						}

-						if (first) {

-							stringBuffer.append(TEXT_197);

-						}

-					}

-				} else if (genClassifier instanceof GenEnum) {

-					GenEnum genEnum = (GenEnum) genClassifier;

-					stringBuffer.append(TEXT_198);

-					stringBuffer.append(genEnum.getQualifiedName());

-					stringBuffer.append(TEXT_199);

-					stringBuffer.append(genEnum.getFormattedName());

-					stringBuffer.append(TEXT_200);

-					stringBuffer.append(genEnum.getFormattedName());

-					stringBuffer.append(TEXT_201);

-					stringBuffer.append(genEnum.getQualifiedName());

-				} else if (genClassifier instanceof GenDataType) {

-					GenDataType genDataType = (GenDataType) genClassifier;

-					if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {

-						stringBuffer.append(TEXT_202);

-						stringBuffer.append(genDataType.getFormattedName());

-						stringBuffer.append(TEXT_203);

-					} else {

-						stringBuffer.append(TEXT_204);

-						stringBuffer.append(genDataType.getRawInstanceClassName());

-						stringBuffer.append(TEXT_205);

-						stringBuffer.append(genDataType.getFormattedName());

-						stringBuffer.append(TEXT_206);

-					}

-					stringBuffer.append(TEXT_207);

-					stringBuffer.append(genDataType.getFormattedName());

-					stringBuffer.append(TEXT_208);

-					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {

-						stringBuffer.append(TEXT_209);

-						stringBuffer.append(genDataType.getRawInstanceClassName());

-					}

-					if (!genModel.isSuppressEMFModelTags()) {

-						boolean first = true;

-						for (StringTokenizer stringTokenizer = new StringTokenizer(genDataType.getModelInfo(), "\n\r"); stringTokenizer

-								.hasMoreTokens();) {

-							String modelInfo = stringTokenizer.nextToken();

-							if (first) {

-								first = false;

-								stringBuffer.append(TEXT_210);

-								stringBuffer.append(modelInfo);

-							} else {

-								stringBuffer.append(TEXT_211);

-								stringBuffer.append(modelInfo);

-							}

-						}

-						if (first) {

-							stringBuffer.append(TEXT_212);

-						}

-					}

-				}

-				stringBuffer.append(TEXT_213);

-			} else {

-				stringBuffer.append(TEXT_214);

-			}

-			if (isImplementation) {

-				stringBuffer.append(TEXT_215);

-				stringBuffer.append(genClassifier.getImportedMetaType());

-				stringBuffer.append(TEXT_216);

-				stringBuffer.append(genClassifier.getClassifierAccessorName());

-				stringBuffer.append(TEXT_217);

-				if (genPackage.isLoadedInitialization()) {

-					stringBuffer.append(TEXT_218);

-					stringBuffer.append(genClassifier.getClassifierInstanceName());

-					stringBuffer.append(TEXT_219);

-					stringBuffer.append(genClassifier.getClassifierInstanceName());

-					stringBuffer.append(TEXT_220);

-					stringBuffer.append(genClassifier.getImportedMetaType());

-					stringBuffer.append(TEXT_221);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-					stringBuffer.append(TEXT_222);

-					stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-					stringBuffer.append(TEXT_223);

-					stringBuffer.append(genPackage.getLocalClassifierIndex(genClassifier));

-					stringBuffer.append(TEXT_224);

-				}

-				stringBuffer.append(TEXT_225);

-				stringBuffer.append(genClassifier.getClassifierInstanceName());

-				stringBuffer.append(TEXT_226);

-			} else {

-				stringBuffer.append(TEXT_227);

-				stringBuffer.append(genClassifier.getImportedMetaType());

-				stringBuffer.append(TEXT_228);

-				stringBuffer.append(genClassifier.getClassifierAccessorName());

-				stringBuffer.append(TEXT_229);

-			}

-			if (genClassifier instanceof GenClass) {

-				GenClass genClass = (GenClass) genClassifier;

-				for (GenFeature genFeature : genClass.getGenFeatures()) {

-					if (isInterface) {

-						stringBuffer.append(TEXT_230);

-						stringBuffer.append(genFeature.getFeatureKind());

-						stringBuffer.append(TEXT_231);

-						stringBuffer.append(genClass.getQualifiedInterfaceName());

-						if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {

-							stringBuffer.append(TEXT_232);

-							stringBuffer.append(genFeature.getGetAccessor());

-						}

-						stringBuffer.append(TEXT_233);

-						stringBuffer.append(genFeature.getFormattedName());

-						stringBuffer.append(TEXT_234);

-						stringBuffer.append(genFeature.getFeatureKind());

-						stringBuffer.append(TEXT_235);

-						stringBuffer.append(genFeature.getFormattedName());

-						stringBuffer.append(TEXT_236);

-						stringBuffer.append(genClass.getQualifiedInterfaceName());

-						if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {

-							stringBuffer.append(TEXT_237);

-							stringBuffer.append(genFeature.getGetAccessor());

-							stringBuffer.append(TEXT_238);

-						}

-						stringBuffer.append(TEXT_239);

-						stringBuffer.append(genClass.getClassifierAccessorName());

-						stringBuffer.append(TEXT_240);

-					} else {

-						stringBuffer.append(TEXT_241);

-					}

-					if (isImplementation) {

-						stringBuffer.append(TEXT_242);

-						stringBuffer.append(genFeature.getImportedMetaType());

-						stringBuffer.append(TEXT_243);

-						stringBuffer.append(genFeature.getFeatureAccessorName());

-						stringBuffer.append(TEXT_244);

-						if (!genPackage.isLoadedInitialization()) {

-							stringBuffer.append(TEXT_245);

-							stringBuffer.append(genFeature.getImportedMetaType());

-							stringBuffer.append(TEXT_246);

-							stringBuffer.append(genClass.getClassifierInstanceName());

-							stringBuffer.append(TEXT_247);

-							stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));

-							stringBuffer.append(TEXT_248);

-						} else {

-							stringBuffer.append(TEXT_249);

-							stringBuffer.append(genFeature.getImportedMetaType());

-							stringBuffer.append(TEXT_250);

-							stringBuffer.append(genClassifier.getClassifierAccessorName());

-							stringBuffer.append(TEXT_251);

-							stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));

-							stringBuffer.append(TEXT_252);

-						}

-						stringBuffer.append(TEXT_253);

-					} else {

-						stringBuffer.append(TEXT_254);

-						stringBuffer.append(genFeature.getImportedMetaType());

-						stringBuffer.append(TEXT_255);

-						stringBuffer.append(genFeature.getFeatureAccessorName());

-						stringBuffer.append(TEXT_256);

-					}

-					stringBuffer.append(TEXT_257);

-				}

-				if (genModel.isOperationReflection()) {

-					for (GenOperation genOperation : genClass.getGenOperations()) {

-						if (isInterface) {

-							stringBuffer.append(TEXT_258);

-							stringBuffer.append(genClass.getQualifiedInterfaceName());

-							stringBuffer.append(TEXT_259);

-							stringBuffer.append(genOperation.getName());

-							stringBuffer.append(TEXT_260);

-							stringBuffer.append(genOperation.getParameterTypes(", "));

-							stringBuffer.append(TEXT_261);

-							stringBuffer.append(genOperation.getFormattedName());

-							stringBuffer.append(TEXT_262);

-							stringBuffer.append(genOperation.getFormattedName());

-							stringBuffer.append(TEXT_263);

-							stringBuffer.append(genClass.getQualifiedInterfaceName());

-							stringBuffer.append(TEXT_264);

-							stringBuffer.append(genOperation.getName());

-							stringBuffer.append(TEXT_265);

-							stringBuffer.append(genOperation.getParameterTypes(", "));

-							stringBuffer.append(TEXT_266);

-						} else {

-							stringBuffer.append(TEXT_267);

-						}

-						if (isImplementation) {

-							stringBuffer.append(TEXT_268);

-							stringBuffer.append(genOperation.getImportedMetaType());

-							stringBuffer.append(TEXT_269);

-							stringBuffer.append(genOperation.getOperationAccessorName());

-							stringBuffer.append(TEXT_270);

-							if (!genPackage.isLoadedInitialization()) {

-								stringBuffer.append(TEXT_271);

-								stringBuffer.append(genClass.getClassifierInstanceName());

-								stringBuffer.append(TEXT_272);

-								stringBuffer.append(genClass.getLocalOperationIndex(genOperation));

-								stringBuffer.append(TEXT_273);

-							} else {

-								stringBuffer.append(TEXT_274);

-								stringBuffer.append(genClassifier.getClassifierAccessorName());

-								stringBuffer.append(TEXT_275);

-								stringBuffer.append(genClass.getLocalOperationIndex(genOperation));

-								stringBuffer.append(TEXT_276);

-							}

-							stringBuffer.append(TEXT_277);

-						} else {

-							stringBuffer.append(TEXT_278);

-							stringBuffer.append(genOperation.getImportedMetaType());

-							stringBuffer.append(TEXT_279);

-							stringBuffer.append(genOperation.getOperationAccessorName());

-							stringBuffer.append(TEXT_280);

-						}

-						stringBuffer.append(TEXT_281);

-					}

-				}

-			}

-		}

-		if (isInterface) {

-			stringBuffer.append(TEXT_282);

-		} else {

-			stringBuffer.append(TEXT_283);

-		}

-		if (isImplementation) {

-			stringBuffer.append(TEXT_284);

-			stringBuffer.append(genPackage.getImportedFactoryInterfaceName());

-			stringBuffer.append(TEXT_285);

-			stringBuffer.append(genPackage.getFactoryName());

-			stringBuffer.append(TEXT_286);

-			stringBuffer.append(genPackage.getImportedFactoryInterfaceName());

-			stringBuffer.append(TEXT_287);

-		} else {

-			stringBuffer.append(TEXT_288);

-			stringBuffer.append(genPackage.getFactoryInterfaceName());

-			stringBuffer.append(TEXT_289);

-			stringBuffer.append(genPackage.getFactoryName());

-			stringBuffer.append(TEXT_290);

-		}

-		stringBuffer.append(TEXT_291);

-		if (isImplementation) {

-			if (!genPackage.isLoadedInitialization()) {

-				stringBuffer.append(TEXT_292);

-				if (!genPackage.getGenClasses().isEmpty()) {

-					stringBuffer.append(TEXT_293);

-					for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {

-						GenClass genClass = c.next();

-						stringBuffer.append(TEXT_294);

-						stringBuffer.append(genClass.getClassifierInstanceName());

-						stringBuffer.append(TEXT_295);

-						stringBuffer.append(genClass.getMetaType());

-						stringBuffer.append(TEXT_296);

-						stringBuffer.append(genClass.getClassifierID());

-						stringBuffer.append(TEXT_297);

-						for (GenFeature genFeature : genClass.getGenFeatures()) {

-							stringBuffer.append(TEXT_298);

-							stringBuffer.append(genFeature.getMetaType());

-							stringBuffer.append(TEXT_299);

-							stringBuffer.append(genClass.getClassifierInstanceName());

-							stringBuffer.append(TEXT_300);

-							stringBuffer.append(genClass.getFeatureID(genFeature));

-							stringBuffer.append(TEXT_301);

-						}

-						if (genModel.isOperationReflection()) {

-							for (GenOperation genOperation : genClass.getGenOperations()) {

-								stringBuffer.append(TEXT_302);

-								stringBuffer.append(genClass.getClassifierInstanceName());

-								stringBuffer.append(TEXT_303);

-								stringBuffer.append(genClass.getOperationID(genOperation, false));

-								stringBuffer.append(TEXT_304);

-							}

-						}

-						if (c.hasNext()) {

-							stringBuffer.append(TEXT_305);

-						}

-					}

-				}

-				if (!genPackage.getGenEnums().isEmpty()) {

-					stringBuffer.append(TEXT_306);

-					for (GenEnum genEnum : genPackage.getGenEnums()) {

-						stringBuffer.append(TEXT_307);

-						stringBuffer.append(genEnum.getClassifierInstanceName());

-						stringBuffer.append(TEXT_308);

-						stringBuffer.append(genEnum.getClassifierID());

-						stringBuffer.append(TEXT_309);

-					}

-				}

-				if (!genPackage.getGenDataTypes().isEmpty()) {

-					stringBuffer.append(TEXT_310);

-					for (GenDataType genDataType : genPackage.getGenDataTypes()) {

-						stringBuffer.append(TEXT_311);

-						stringBuffer.append(genDataType.getClassifierInstanceName());

-						stringBuffer.append(TEXT_312);

-						stringBuffer.append(genDataType.getClassifierID());

-						stringBuffer.append(TEXT_313);

-					}

-				}

-				stringBuffer.append(TEXT_314);

-

-				///////////////////////

-				class Information {

-					@SuppressWarnings("unused")

-					EGenericType eGenericType;

-					int depth;

-					String type;

-					String accessor;

-				}

-

-				class InformationIterator {

-					Iterator<?> iterator;

-

-					InformationIterator(EGenericType eGenericType) {

-						iterator = EcoreUtil.getAllContents(Collections.singleton(eGenericType));

-					}

-

-					boolean hasNext() {

-						return iterator.hasNext();

-					}

-

-					Information next() {

-						Information information = new Information();

-						EGenericType eGenericType = information.eGenericType = (EGenericType) iterator.next();

-						for (EObject container = eGenericType.eContainer(); container instanceof EGenericType; container = container

-								.eContainer()) {

-							++information.depth;

-						}

-						if (eGenericType.getEClassifier() != null) {

-							GenClassifier genClassifier = genModel.findGenClassifier(eGenericType.getEClassifier());

-							information.type = genPackage.getPackageInstanceVariable(genClassifier.getGenPackage())

-									+ ".get" + genClassifier.getClassifierAccessorName() + "()";

-						} else if (eGenericType.getETypeParameter() != null) {

-							ETypeParameter eTypeParameter = eGenericType.getETypeParameter();

-							if (eTypeParameter.eContainer() instanceof EClass) {

-								information.type = genModel.findGenClassifier((EClass) eTypeParameter.eContainer())

-										.getClassifierInstanceName() + "_" + eGenericType.getETypeParameter().getName();

-							} else {

-								information.type = "t"

-										+ (((EOperation) eTypeParameter.eContainer()).getETypeParameters().indexOf(

-												eTypeParameter) + 1);

-							}

-						} else {

-							information.type = "";

-						}

-						if (information.depth > 0) {

-							if (eGenericType.eContainmentFeature().isMany()) {

-								information.accessor = "getE"

-										+ eGenericType.eContainmentFeature().getName().substring(1) + "().add";

-							} else {

-								information.accessor = "setE"

-										+ eGenericType.eContainmentFeature().getName().substring(1);

-							}

-						}

-						return information;

-					}

-				}

-				///////////////////////

-				int maxGenericTypeAssignment = 0;

-

-				stringBuffer.append(TEXT_315);

-				if (!genPackage.getPackageInitializationDependencies().isEmpty()) {

-					stringBuffer.append(TEXT_316);

-					for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {

-						stringBuffer.append(TEXT_317);

-						stringBuffer.append(dep.getImportedPackageInterfaceName());

-						stringBuffer.append(TEXT_318);

-						stringBuffer.append(genPackage.getPackageInstanceVariable(dep));

-						stringBuffer.append(TEXT_319);

-						stringBuffer.append(dep.getImportedPackageInterfaceName());

-						stringBuffer.append(TEXT_320);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-						stringBuffer.append(TEXT_321);

-						stringBuffer.append(dep.getImportedPackageInterfaceName());

-						stringBuffer.append(TEXT_322);

-					}

-				}

-				if (!genPackage.getSubGenPackages().isEmpty()) {

-					stringBuffer.append(TEXT_323);

-					for (GenPackage sub : genPackage.getSubGenPackages()) {

-						stringBuffer.append(TEXT_324);

-						stringBuffer.append(genPackage.getPackageInstanceVariable(sub));

-						stringBuffer.append(TEXT_325);

-					}

-				}

-				if (!genPackage.getGenClasses().isEmpty()) {

-					boolean firstOperationAssignment = true;

-					int maxTypeParameterAssignment = 0;

-					if (genModel.useGenerics()) {

-						stringBuffer.append(TEXT_326);

-						for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-							for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {

-								if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()

-										|| genTypeParameter.isUsed()) {

-									stringBuffer.append(TEXT_327);

-									stringBuffer.append(genModel

-											.getImportedName("org.eclipse.emf.ecore.ETypeParameter"));

-									stringBuffer.append(TEXT_328);

-									stringBuffer.append(genClassifier.getClassifierInstanceName());

-									stringBuffer.append(TEXT_329);

-									stringBuffer.append(genTypeParameter.getName());

-									stringBuffer.append(TEXT_330);

-									stringBuffer.append(genClassifier.getClassifierInstanceName());

-									stringBuffer.append(TEXT_331);

-									stringBuffer.append(genTypeParameter.getName());

-									stringBuffer.append(TEXT_332);

-									stringBuffer.append(genModel.getNonNLS());

-								} else {

-									stringBuffer.append(TEXT_333);

-									stringBuffer.append(genClassifier.getClassifierInstanceName());

-									stringBuffer.append(TEXT_334);

-									stringBuffer.append(genTypeParameter.getName());

-									stringBuffer.append(TEXT_335);

-									stringBuffer.append(genModel.getNonNLS());

-								}

-							}

-						}

-					}

-					if (genModel.useGenerics()) {

-						stringBuffer.append(TEXT_336);

-						for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-							for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {

-								for (EGenericType bound : genTypeParameter.getEcoreTypeParameter().getEBounds()) {

-									for (InformationIterator i = new InformationIterator(bound); i.hasNext();) {

-										Information info = i.next();

-										String prefix = "";

-										if (maxGenericTypeAssignment <= info.depth) {

-											++maxGenericTypeAssignment;

-											prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")

-													+ " ";

-										}

-										stringBuffer.append(TEXT_337);

-										stringBuffer.append(prefix);

-										stringBuffer.append(TEXT_338);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_339);

-										stringBuffer.append(info.type);

-										stringBuffer.append(TEXT_340);

-										if (info.depth > 0) {

-											stringBuffer.append(TEXT_341);

-											stringBuffer.append(info.depth);

-											stringBuffer.append(TEXT_342);

-											stringBuffer.append(info.accessor);

-											stringBuffer.append(TEXT_343);

-											stringBuffer.append(info.depth + 1);

-											stringBuffer.append(TEXT_344);

-										}

-									}

-									stringBuffer.append(TEXT_345);

-									stringBuffer.append(genClassifier.getClassifierInstanceName());

-									stringBuffer.append(TEXT_346);

-									stringBuffer.append(genTypeParameter.getName());

-									stringBuffer.append(TEXT_347);

-								}

-							}

-						}

-					}

-					stringBuffer.append(TEXT_348);

-					for (GenClass genClass : genPackage.getGenClasses()) {

-						if (!genClass.hasGenericSuperTypes()) {

-							for (GenClass baseGenClass : genClass.getBaseGenClasses()) {

-								stringBuffer.append(TEXT_349);

-								stringBuffer.append(genClass.getClassifierInstanceName());

-								stringBuffer.append(TEXT_350);

-								stringBuffer

-										.append(genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage()));

-								stringBuffer.append(TEXT_351);

-								stringBuffer.append(baseGenClass.getClassifierAccessorName());

-								stringBuffer.append(TEXT_352);

-							}

-						} else {

-							for (EGenericType superType : genClass.getEcoreClass().getEGenericSuperTypes()) {

-								for (InformationIterator i = new InformationIterator(superType); i.hasNext();) {

-									Information info = i.next();

-									String prefix = "";

-									if (maxGenericTypeAssignment <= info.depth) {

-										++maxGenericTypeAssignment;

-										prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";

-									}

-									stringBuffer.append(TEXT_353);

-									stringBuffer.append(prefix);

-									stringBuffer.append(TEXT_354);

-									stringBuffer.append(info.depth + 1);

-									stringBuffer.append(TEXT_355);

-									stringBuffer.append(info.type);

-									stringBuffer.append(TEXT_356);

-									if (info.depth > 0) {

-										stringBuffer.append(TEXT_357);

-										stringBuffer.append(info.depth);

-										stringBuffer.append(TEXT_358);

-										stringBuffer.append(info.accessor);

-										stringBuffer.append(TEXT_359);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_360);

-									}

-								}

-								stringBuffer.append(TEXT_361);

-								stringBuffer.append(genClass.getClassifierInstanceName());

-								stringBuffer.append(TEXT_362);

-							}

-						}

-					}

-					stringBuffer.append(TEXT_363);

-					if (genModel.isOperationReflection()) {

-						stringBuffer.append(TEXT_364);

-					} else {

-						stringBuffer.append(TEXT_365);

-					}

-					for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {

-						GenClass genClass = c.next();

-						boolean hasInstanceTypeName = genModel.useGenerics()

-								&& genClass.getEcoreClass().getInstanceTypeName() != null

-								&& genClass.getEcoreClass().getInstanceTypeName().contains("<");

-						stringBuffer.append(TEXT_366);

-						stringBuffer.append(genClass.getClassifierInstanceName());

-						stringBuffer.append(TEXT_367);

-						if (genClass.isDynamic()) {

-							stringBuffer.append(TEXT_368);

-						} else {

-							stringBuffer.append(genClass.getRawImportedInterfaceName());

-							stringBuffer.append(TEXT_369);

-						}

-						stringBuffer.append(TEXT_370);

-						stringBuffer.append(genClass.getName());

-						stringBuffer.append(TEXT_371);

-						stringBuffer.append(genClass.getAbstractFlag());

-						stringBuffer.append(TEXT_372);

-						stringBuffer.append(genClass.getInterfaceFlag());

-						stringBuffer.append(TEXT_373);

-						stringBuffer.append(genClass.getGeneratedInstanceClassFlag());

-						if (hasInstanceTypeName) {

-							stringBuffer.append(TEXT_374);

-							stringBuffer.append(genClass.getEcoreClass().getInstanceTypeName());

-							stringBuffer.append(TEXT_375);

-						}

-						stringBuffer.append(TEXT_376);

-						stringBuffer.append(genModel.getNonNLS());

-						if (hasInstanceTypeName) {

-							stringBuffer.append(genModel.getNonNLS(2));

-						}

-						for (GenFeature genFeature : genClass.getGenFeatures()) {

-							if (genFeature.hasGenericType()) {

-								for (InformationIterator i = new InformationIterator(genFeature.getEcoreFeature()

-										.getEGenericType()); i.hasNext();) {

-									Information info = i.next();

-									String prefix = "";

-									if (maxGenericTypeAssignment <= info.depth) {

-										++maxGenericTypeAssignment;

-										prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";

-									}

-									stringBuffer.append(TEXT_377);

-									stringBuffer.append(prefix);

-									stringBuffer.append(TEXT_378);

-									stringBuffer.append(info.depth + 1);

-									stringBuffer.append(TEXT_379);

-									stringBuffer.append(info.type);

-									stringBuffer.append(TEXT_380);

-									if (info.depth > 0) {

-										stringBuffer.append(TEXT_381);

-										stringBuffer.append(info.depth);

-										stringBuffer.append(TEXT_382);

-										stringBuffer.append(info.accessor);

-										stringBuffer.append(TEXT_383);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_384);

-									}

-								}

-							}

-							if (genFeature.isReferenceType()) {

-								GenFeature reverseGenFeature = genFeature.getReverse();

-								String reverse = reverseGenFeature == null ? "null" : genPackage

-										.getPackageInstanceVariable(reverseGenFeature.getGenPackage())

-										+ ".get"

-										+ reverseGenFeature.getFeatureAccessorName() + "()";

-								stringBuffer.append(TEXT_385);

-								stringBuffer.append(genFeature.getFeatureAccessorName());

-								stringBuffer.append(TEXT_386);

-								if (genFeature.hasGenericType()) {

-									stringBuffer.append(TEXT_387);

-								} else {

-									stringBuffer.append(genPackage.getPackageInstanceVariable(genFeature

-											.getTypeGenPackage()));

-									stringBuffer.append(TEXT_388);

-									stringBuffer.append(genFeature.getTypeClassifierAccessorName());

-									stringBuffer.append(TEXT_389);

-								}

-								stringBuffer.append(TEXT_390);

-								stringBuffer.append(reverse);

-								stringBuffer.append(TEXT_391);

-								stringBuffer.append(genFeature.getName());

-								stringBuffer.append(TEXT_392);

-								stringBuffer.append(genFeature.getDefaultValue());

-								stringBuffer.append(TEXT_393);

-								stringBuffer.append(genFeature.getLowerBound());

-								stringBuffer.append(TEXT_394);

-								stringBuffer.append(genFeature.getUpperBound());

-								stringBuffer.append(TEXT_395);

-								stringBuffer.append(genFeature.getContainerClass());

-								stringBuffer.append(TEXT_396);

-								stringBuffer.append(genFeature.getTransientFlag());

-								stringBuffer.append(TEXT_397);

-								stringBuffer.append(genFeature.getVolatileFlag());

-								stringBuffer.append(TEXT_398);

-								stringBuffer.append(genFeature.getChangeableFlag());

-								stringBuffer.append(TEXT_399);

-								stringBuffer.append(genFeature.getContainmentFlag());

-								stringBuffer.append(TEXT_400);

-								stringBuffer.append(genFeature.getResolveProxiesFlag());

-								stringBuffer.append(TEXT_401);

-								stringBuffer.append(genFeature.getUnsettableFlag());

-								stringBuffer.append(TEXT_402);

-								stringBuffer.append(genFeature.getUniqueFlag());

-								stringBuffer.append(TEXT_403);

-								stringBuffer.append(genFeature.getDerivedFlag());

-								stringBuffer.append(TEXT_404);

-								stringBuffer.append(genFeature.getOrderedFlag());

-								stringBuffer.append(TEXT_405);

-								stringBuffer.append(genModel.getNonNLS());

-								stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));

-								for (GenFeature keyFeature : genFeature.getKeys()) {

-									stringBuffer.append(TEXT_406);

-									stringBuffer.append(genFeature.getFeatureAccessorName());

-									stringBuffer.append(TEXT_407);

-									stringBuffer.append(genPackage.getPackageInstanceVariable(keyFeature

-											.getGenPackage()));

-									stringBuffer.append(TEXT_408);

-									stringBuffer.append(keyFeature.getFeatureAccessorName());

-									stringBuffer.append(TEXT_409);

-								}

-							} else {

-								stringBuffer.append(TEXT_410);

-								stringBuffer.append(genFeature.getFeatureAccessorName());

-								stringBuffer.append(TEXT_411);

-								if (genFeature.hasGenericType()) {

-									stringBuffer.append(TEXT_412);

-								} else {

-									stringBuffer.append(genPackage.getPackageInstanceVariable(genFeature

-											.getTypeGenPackage()));

-									stringBuffer.append(TEXT_413);

-									stringBuffer.append(genFeature.getTypeClassifierAccessorName());

-									stringBuffer.append(TEXT_414);

-								}

-								stringBuffer.append(TEXT_415);

-								stringBuffer.append(genFeature.getName());

-								stringBuffer.append(TEXT_416);

-								stringBuffer.append(genFeature.getDefaultValue());

-								stringBuffer.append(TEXT_417);

-								stringBuffer.append(genFeature.getLowerBound());

-								stringBuffer.append(TEXT_418);

-								stringBuffer.append(genFeature.getUpperBound());

-								stringBuffer.append(TEXT_419);

-								stringBuffer.append(genFeature.getContainerClass());

-								stringBuffer.append(TEXT_420);

-								stringBuffer.append(genFeature.getTransientFlag());

-								stringBuffer.append(TEXT_421);

-								stringBuffer.append(genFeature.getVolatileFlag());

-								stringBuffer.append(TEXT_422);

-								stringBuffer.append(genFeature.getChangeableFlag());

-								stringBuffer.append(TEXT_423);

-								stringBuffer.append(genFeature.getUnsettableFlag());

-								stringBuffer.append(TEXT_424);

-								stringBuffer.append(genFeature.getIDFlag());

-								stringBuffer.append(TEXT_425);

-								stringBuffer.append(genFeature.getUniqueFlag());

-								stringBuffer.append(TEXT_426);

-								stringBuffer.append(genFeature.getDerivedFlag());

-								stringBuffer.append(TEXT_427);

-								stringBuffer.append(genFeature.getOrderedFlag());

-								stringBuffer.append(TEXT_428);

-								stringBuffer.append(genModel.getNonNLS());

-								stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));

-							}

-						}

-						for (GenOperation genOperation : genClass.getGenOperations()) {

-							String prefix = "";

-							if (genOperation.hasGenericType() || !genOperation.getGenParameters().isEmpty()

-									|| !genOperation.getGenExceptions().isEmpty()

-									|| !genOperation.getGenTypeParameters().isEmpty()) {

-								if (firstOperationAssignment) {

-									firstOperationAssignment = false;

-									prefix = genModel.getImportedName("org.eclipse.emf.ecore.EOperation") + " op = ";

-								} else {

-									prefix = "op = ";

-								}

-							}

-							stringBuffer.append(TEXT_429);

-							if (genModel.useGenerics()) {

-								stringBuffer.append(TEXT_430);

-								stringBuffer.append(prefix);

-								if (genModel.isOperationReflection()) {

-									stringBuffer.append(TEXT_431);

-									stringBuffer.append(genOperation.getOperationAccessorName());

-									stringBuffer.append(TEXT_432);

-								} else {

-									stringBuffer.append(TEXT_433);

-									stringBuffer.append(genClass.getClassifierInstanceName());

-								}

-								stringBuffer.append(TEXT_434);

-								if (genOperation.isVoid() || genOperation.hasGenericType()) {

-									stringBuffer.append(TEXT_435);

-								} else {

-									stringBuffer.append(genPackage.getPackageInstanceVariable(genOperation

-											.getTypeGenPackage()));

-									stringBuffer.append(TEXT_436);

-									stringBuffer.append(genOperation.getTypeClassifierAccessorName());

-									stringBuffer.append(TEXT_437);

-								}

-								stringBuffer.append(TEXT_438);

-								stringBuffer.append(genOperation.getName());

-								stringBuffer.append(TEXT_439);

-								stringBuffer.append(genOperation.getLowerBound());

-								stringBuffer.append(TEXT_440);

-								stringBuffer.append(genOperation.getUpperBound());

-								stringBuffer.append(TEXT_441);

-								stringBuffer.append(genOperation.getUniqueFlag());

-								stringBuffer.append(TEXT_442);

-								stringBuffer.append(genOperation.getOrderedFlag());

-								stringBuffer.append(TEXT_443);

-								stringBuffer.append(genModel.getNonNLS());

-							} else if (!genOperation.isVoid()) {

-								if (!genOperation.getEcoreOperation().isOrdered()

-										|| !genOperation.getEcoreOperation().isUnique()) {

-									needsAddEOperation = true;

-									stringBuffer.append(TEXT_444);

-									stringBuffer.append(prefix);

-									if (genModel.isOperationReflection()) {

-										stringBuffer.append(TEXT_445);

-										stringBuffer.append(genOperation.getOperationAccessorName());

-										stringBuffer.append(TEXT_446);

-									} else {

-										stringBuffer.append(TEXT_447);

-										stringBuffer.append(genClass.getClassifierInstanceName());

-									}

-									stringBuffer.append(TEXT_448);

-									stringBuffer.append(genPackage.getPackageInstanceVariable(genOperation

-											.getTypeGenPackage()));

-									stringBuffer.append(TEXT_449);

-									stringBuffer.append(genOperation.getTypeClassifierAccessorName());

-									stringBuffer.append(TEXT_450);

-									stringBuffer.append(genOperation.getName());

-									stringBuffer.append(TEXT_451);

-									stringBuffer.append(genOperation.getLowerBound());

-									stringBuffer.append(TEXT_452);

-									stringBuffer.append(genOperation.getUpperBound());

-									stringBuffer.append(TEXT_453);

-									stringBuffer.append(genOperation.getUniqueFlag());

-									stringBuffer.append(TEXT_454);

-									stringBuffer.append(genOperation.getOrderedFlag());

-									stringBuffer.append(TEXT_455);

-									stringBuffer.append(genModel.getNonNLS());

-								} else {

-									stringBuffer.append(TEXT_456);

-									stringBuffer.append(prefix);

-									if (genModel.isOperationReflection()) {

-										stringBuffer.append(TEXT_457);

-										stringBuffer.append(genOperation.getOperationAccessorName());

-										stringBuffer.append(TEXT_458);

-									} else {

-										stringBuffer.append(TEXT_459);

-										stringBuffer.append(genClass.getClassifierInstanceName());

-									}

-									stringBuffer.append(TEXT_460);

-									stringBuffer.append(genPackage.getPackageInstanceVariable(genOperation

-											.getTypeGenPackage()));

-									stringBuffer.append(TEXT_461);

-									stringBuffer.append(genOperation.getTypeClassifierAccessorName());

-									stringBuffer.append(TEXT_462);

-									stringBuffer.append(genOperation.getName());

-									stringBuffer.append(TEXT_463);

-									stringBuffer.append(genOperation.getLowerBound());

-									stringBuffer.append(TEXT_464);

-									stringBuffer.append(genOperation.getUpperBound());

-									stringBuffer.append(TEXT_465);

-									stringBuffer.append(genModel.getNonNLS());

-								}

-							} else {

-								stringBuffer.append(TEXT_466);

-								stringBuffer.append(prefix);

-								if (genModel.isOperationReflection()) {

-									stringBuffer.append(TEXT_467);

-									stringBuffer.append(genOperation.getOperationAccessorName());

-									stringBuffer.append(TEXT_468);

-								} else {

-									stringBuffer.append(TEXT_469);

-									stringBuffer.append(genClass.getClassifierInstanceName());

-								}

-								stringBuffer.append(TEXT_470);

-								stringBuffer.append(genOperation.getName());

-								stringBuffer.append(TEXT_471);

-								stringBuffer.append(genModel.getNonNLS());

-							}

-							if (genModel.useGenerics()) {

-								for (ListIterator<GenTypeParameter> t = genOperation.getGenTypeParameters()

-										.listIterator(); t.hasNext();) {

-									GenTypeParameter genTypeParameter = t.next();

-									String typeParameterVariable = "";

-									if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()

-											|| genTypeParameter.isUsed()) {

-										if (maxTypeParameterAssignment <= t.previousIndex()) {

-											++maxTypeParameterAssignment;

-											typeParameterVariable = genModel

-													.getImportedName("org.eclipse.emf.ecore.ETypeParameter")

-													+ " t"

-													+ t.nextIndex() + " = ";

-										} else {

-											typeParameterVariable = "t" + t.nextIndex() + " = ";

-										}

-									}

-									stringBuffer.append(TEXT_472);

-									stringBuffer.append(typeParameterVariable);

-									stringBuffer.append(TEXT_473);

-									stringBuffer.append(genTypeParameter.getName());

-									stringBuffer.append(TEXT_474);

-									stringBuffer.append(genModel.getNonNLS());

-									for (EGenericType typeParameter : genTypeParameter.getEcoreTypeParameter()

-											.getEBounds()) {

-										for (InformationIterator i = new InformationIterator(typeParameter); i

-												.hasNext();) {

-											Information info = i.next();

-											String typePrefix = "";

-											if (maxGenericTypeAssignment <= info.depth) {

-												++maxGenericTypeAssignment;

-												typePrefix = genModel

-														.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";

-											}

-											stringBuffer.append(TEXT_475);

-											stringBuffer.append(typePrefix);

-											stringBuffer.append(TEXT_476);

-											stringBuffer.append(info.depth + 1);

-											stringBuffer.append(TEXT_477);

-											stringBuffer.append(info.type);

-											stringBuffer.append(TEXT_478);

-											if (info.depth > 0) {

-												stringBuffer.append(TEXT_479);

-												stringBuffer.append(info.depth);

-												stringBuffer.append(TEXT_480);

-												stringBuffer.append(info.accessor);

-												stringBuffer.append(TEXT_481);

-												stringBuffer.append(info.depth + 1);

-												stringBuffer.append(TEXT_482);

-											}

-										}

-										stringBuffer.append(TEXT_483);

-										stringBuffer.append(t.nextIndex());

-										stringBuffer.append(TEXT_484);

-									}

-								}

-							}

-							for (GenParameter genParameter : genOperation.getGenParameters()) {

-								if (genParameter.hasGenericType()) {

-									for (InformationIterator i = new InformationIterator(genParameter

-											.getEcoreParameter().getEGenericType()); i.hasNext();) {

-										Information info = i.next();

-										String typePrefix = "";

-										if (maxGenericTypeAssignment <= info.depth) {

-											++maxGenericTypeAssignment;

-											typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")

-													+ " ";

-										}

-										stringBuffer.append(TEXT_485);

-										stringBuffer.append(typePrefix);

-										stringBuffer.append(TEXT_486);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_487);

-										stringBuffer.append(info.type);

-										stringBuffer.append(TEXT_488);

-										if (info.depth > 0) {

-											stringBuffer.append(TEXT_489);

-											stringBuffer.append(info.depth);

-											stringBuffer.append(TEXT_490);

-											stringBuffer.append(info.accessor);

-											stringBuffer.append(TEXT_491);

-											stringBuffer.append(info.depth + 1);

-											stringBuffer.append(TEXT_492);

-										}

-									}

-								}

-								if (genModel.useGenerics()) {

-									stringBuffer.append(TEXT_493);

-									if (genParameter.hasGenericType()) {

-										stringBuffer.append(TEXT_494);

-									} else {

-										stringBuffer.append(genPackage.getPackageInstanceVariable(genParameter

-												.getTypeGenPackage()));

-										stringBuffer.append(TEXT_495);

-										stringBuffer.append(genParameter.getTypeClassifierAccessorName());

-										stringBuffer.append(TEXT_496);

-									}

-									stringBuffer.append(TEXT_497);

-									stringBuffer.append(genParameter.getName());

-									stringBuffer.append(TEXT_498);

-									stringBuffer.append(genParameter.getLowerBound());

-									stringBuffer.append(TEXT_499);

-									stringBuffer.append(genParameter.getUpperBound());

-									stringBuffer.append(TEXT_500);

-									stringBuffer.append(genParameter.getUniqueFlag());

-									stringBuffer.append(TEXT_501);

-									stringBuffer.append(genParameter.getOrderedFlag());

-									stringBuffer.append(TEXT_502);

-									stringBuffer.append(genModel.getNonNLS());

-								} else if (!genParameter.getEcoreParameter().isOrdered()

-										|| !genParameter.getEcoreParameter().isUnique()) {

-									needsAddEParameter = true;

-									stringBuffer.append(TEXT_503);

-									if (genParameter.hasGenericType()) {

-										stringBuffer.append(TEXT_504);

-									} else {

-										stringBuffer.append(genPackage.getPackageInstanceVariable(genParameter

-												.getTypeGenPackage()));

-										stringBuffer.append(TEXT_505);

-										stringBuffer.append(genParameter.getTypeClassifierAccessorName());

-										stringBuffer.append(TEXT_506);

-									}

-									stringBuffer.append(TEXT_507);

-									stringBuffer.append(genParameter.getName());

-									stringBuffer.append(TEXT_508);

-									stringBuffer.append(genParameter.getLowerBound());

-									stringBuffer.append(TEXT_509);

-									stringBuffer.append(genParameter.getUpperBound());

-									stringBuffer.append(TEXT_510);

-									stringBuffer.append(genParameter.getUniqueFlag());

-									stringBuffer.append(TEXT_511);

-									stringBuffer.append(genParameter.getOrderedFlag());

-									stringBuffer.append(TEXT_512);

-									stringBuffer.append(genModel.getNonNLS());

-								} else {

-									stringBuffer.append(TEXT_513);

-									if (genParameter.hasGenericType()) {

-										stringBuffer.append(TEXT_514);

-									} else {

-										stringBuffer.append(genPackage.getPackageInstanceVariable(genParameter

-												.getTypeGenPackage()));

-										stringBuffer.append(TEXT_515);

-										stringBuffer.append(genParameter.getTypeClassifierAccessorName());

-										stringBuffer.append(TEXT_516);

-									}

-									stringBuffer.append(TEXT_517);

-									stringBuffer.append(genParameter.getName());

-									stringBuffer.append(TEXT_518);

-									stringBuffer.append(genParameter.getLowerBound());

-									stringBuffer.append(TEXT_519);

-									stringBuffer.append(genParameter.getUpperBound());

-									stringBuffer.append(TEXT_520);

-									stringBuffer.append(genModel.getNonNLS());

-								}

-							}

-							if (genOperation.hasGenericExceptions()) {

-								for (EGenericType genericExceptions : genOperation.getEcoreOperation()

-										.getEGenericExceptions()) {

-									for (InformationIterator i = new InformationIterator(genericExceptions); i

-											.hasNext();) {

-										Information info = i.next();

-										String typePrefix = "";

-										if (maxGenericTypeAssignment <= info.depth) {

-											++maxGenericTypeAssignment;

-											typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")

-													+ " ";

-										}

-										stringBuffer.append(TEXT_521);

-										stringBuffer.append(typePrefix);

-										stringBuffer.append(TEXT_522);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_523);

-										stringBuffer.append(info.type);

-										stringBuffer.append(TEXT_524);

-										if (info.depth > 0) {

-											stringBuffer.append(TEXT_525);

-											stringBuffer.append(info.depth);

-											stringBuffer.append(TEXT_526);

-											stringBuffer.append(info.accessor);

-											stringBuffer.append(TEXT_527);

-											stringBuffer.append(info.depth + 1);

-											stringBuffer.append(TEXT_528);

-										}

-										stringBuffer.append(TEXT_529);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_530);

-									}

-								}

-							} else {

-								for (GenClassifier genException : genOperation.getGenExceptions()) {

-									stringBuffer.append(TEXT_531);

-									stringBuffer.append(genPackage.getPackageInstanceVariable(genException

-											.getGenPackage()));

-									stringBuffer.append(TEXT_532);

-									stringBuffer.append(genException.getClassifierAccessorName());

-									stringBuffer.append(TEXT_533);

-								}

-							}

-							if (!genOperation.isVoid() && genOperation.hasGenericType()) {

-								for (InformationIterator i = new InformationIterator(genOperation.getEcoreOperation()

-										.getEGenericType()); i.hasNext();) {

-									Information info = i.next();

-									String typePrefix = "";

-									if (maxGenericTypeAssignment <= info.depth) {

-										++maxGenericTypeAssignment;

-										typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")

-												+ " ";

-									}

-									stringBuffer.append(TEXT_534);

-									stringBuffer.append(typePrefix);

-									stringBuffer.append(TEXT_535);

-									stringBuffer.append(info.depth + 1);

-									stringBuffer.append(TEXT_536);

-									stringBuffer.append(info.type);

-									stringBuffer.append(TEXT_537);

-									if (info.depth > 0) {

-										stringBuffer.append(TEXT_538);

-										stringBuffer.append(info.depth);

-										stringBuffer.append(TEXT_539);

-										stringBuffer.append(info.accessor);

-										stringBuffer.append(TEXT_540);

-										stringBuffer.append(info.depth + 1);

-										stringBuffer.append(TEXT_541);

-									}

-								}

-								stringBuffer.append(TEXT_542);

-							}

-						}

-						if (c.hasNext()) {

-							stringBuffer.append(TEXT_543);

-						}

-					}

-				}

-				if (!genPackage.getGenEnums().isEmpty()) {

-					stringBuffer.append(TEXT_544);

-					for (Iterator<GenEnum> e = genPackage.getGenEnums().iterator(); e.hasNext();) {

-						GenEnum genEnum = e.next();

-						stringBuffer.append(TEXT_545);

-						stringBuffer.append(genEnum.getClassifierInstanceName());

-						stringBuffer.append(TEXT_546);

-						stringBuffer.append(genEnum.getImportedName());

-						stringBuffer.append(TEXT_547);

-						stringBuffer.append(genEnum.getName());

-						stringBuffer.append(TEXT_548);

-						stringBuffer.append(genModel.getNonNLS());

-						for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {

-							stringBuffer.append(TEXT_549);

-							stringBuffer.append(genEnum.getClassifierInstanceName());

-							stringBuffer.append(TEXT_550);

-							stringBuffer.append(genEnum.getImportedName().equals(genEnum.getClassifierID()) ? genEnum

-									.getQualifiedName() : genEnum.getImportedName());

-							stringBuffer.append(TEXT_551);

-							stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());

-							stringBuffer.append(TEXT_552);

-						}

-						if (e.hasNext()) {

-							stringBuffer.append(TEXT_553);

-						}

-					}

-				}

-				if (!genPackage.getGenDataTypes().isEmpty()) {

-					stringBuffer.append(TEXT_554);

-					for (GenDataType genDataType : genPackage.getGenDataTypes()) {

-						boolean hasInstanceTypeName = genModel.useGenerics()

-								&& genDataType.getEcoreDataType().getInstanceTypeName() != null

-								&& genDataType.getEcoreDataType().getInstanceTypeName().contains("<");

-						stringBuffer.append(TEXT_555);

-						stringBuffer.append(genDataType.getClassifierInstanceName());

-						stringBuffer.append(TEXT_556);

-						stringBuffer.append(genDataType.getRawImportedInstanceClassName());

-						stringBuffer.append(TEXT_557);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_558);

-						stringBuffer.append(genDataType.getSerializableFlag());

-						stringBuffer.append(TEXT_559);

-						stringBuffer.append(genDataType.getGeneratedInstanceClassFlag());

-						if (hasInstanceTypeName) {

-							stringBuffer.append(TEXT_560);

-							stringBuffer.append(genDataType.getEcoreDataType().getInstanceTypeName());

-							stringBuffer.append(TEXT_561);

-						}

-						stringBuffer.append(TEXT_562);

-						stringBuffer.append(genModel.getNonNLS());

-						if (hasInstanceTypeName) {

-							stringBuffer.append(genModel.getNonNLS(2));

-						}

-					}

-				}

-				if (genPackage.getSuperGenPackage() == null) {

-					stringBuffer.append(TEXT_563);

-					stringBuffer.append(genPackage.getSchemaLocation());

-					stringBuffer.append(TEXT_564);

-				}

-				if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {

-					stringBuffer.append(TEXT_565);

-					for (String annotationSource : genPackage.getAnnotationSources()) {

-						stringBuffer.append(TEXT_566);

-						stringBuffer.append(annotationSource);

-						stringBuffer.append(TEXT_567);

-						stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));

-						stringBuffer.append(TEXT_568);

-					}

-				}

-				stringBuffer.append(TEXT_569);

-				for (String annotationSource : genPackage.getAnnotationSources()) {

-					stringBuffer.append(TEXT_570);

-					stringBuffer.append(annotationSource);

-					stringBuffer.append(TEXT_571);

-					stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));

-					stringBuffer.append(TEXT_572);

-					if (annotationSource == null) {

-						stringBuffer.append(TEXT_573);

-					} else {

-						stringBuffer.append(TEXT_574);

-						stringBuffer.append(annotationSource);

-						stringBuffer.append(TEXT_575);

-						stringBuffer.append(genModel.getNonNLS());

-					}

-					for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) {

-						List<GenPackage.AnnotationReferenceData> annotationReferenceDataList = genPackage

-								.getReferenceData(eAnnotation);

-						if (annotationSource == null ? eAnnotation.getSource() == null : annotationSource

-								.equals(eAnnotation.getSource())) {

-							stringBuffer.append(TEXT_576);

-							stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));

-							stringBuffer.append(TEXT_577);

-							for (Iterator<Map.Entry<String, String>> k = eAnnotation.getDetails().iterator(); k

-									.hasNext();) {

-								Map.Entry<String, String> detail = k.next();

-								String key = Literals.toStringLiteral(detail.getKey(), genModel);

-								String value = Literals.toStringLiteral(detail.getValue(), genModel);

-								stringBuffer.append(TEXT_578);

-								stringBuffer.append(key);

-								stringBuffer.append(TEXT_579);

-								stringBuffer.append(value);

-								stringBuffer.append(k.hasNext() ? "," : "");

-								stringBuffer.append(genModel.getNonNLS(key + value));

-							}

-							stringBuffer.append(TEXT_580);

-							if (annotationReferenceDataList.isEmpty()) {

-								stringBuffer.append(TEXT_581);

-							} else {

-								stringBuffer.append(TEXT_582);

-							}

-							if (!annotationReferenceDataList.isEmpty()) {

-								stringBuffer.append(TEXT_583);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

-								stringBuffer.append(TEXT_584);

-								for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList

-										.iterator(); k.hasNext();) {

-									GenPackage.AnnotationReferenceData annotationReferenceData = k.next();

-									stringBuffer.append(TEXT_585);

-									stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

-									stringBuffer.append(TEXT_586);

-									if (annotationReferenceData.containingGenPackage != genPackage) {

-										stringBuffer.append(annotationReferenceData.containingGenPackage

-												.getImportedPackageInterfaceName());

-										stringBuffer.append(TEXT_587);

-									}

-									stringBuffer.append(TEXT_588);

-									stringBuffer.append(annotationReferenceData.uriFragment);

-									stringBuffer.append(TEXT_589);

-									if (k.hasNext()) {

-										stringBuffer.append(TEXT_590);

-									}

-									stringBuffer.append(genModel.getNonNLS());

-								}

-								stringBuffer.append(TEXT_591);

-							}

-							for (EAnnotation nestedEAnnotation : genPackage.getAllNestedAnnotations(eAnnotation)) {

-								String nestedAnnotationSource = nestedEAnnotation.getSource();

-								int depth = 0;

-								boolean nonContentAnnotation = false;

-								StringBuilder path = new StringBuilder();

-								for (EObject eContainer = nestedEAnnotation.eContainer(), child = nestedEAnnotation; child != eAnnotation; child = eContainer, eContainer = eContainer

-										.eContainer()) {

-									boolean nonContentChild = child.eContainmentFeature() != EcorePackage.Literals.EANNOTATION__CONTENTS;

-									if (path.length() != 0) {

-										path.insert(0, ", ");

-									}

-									path.insert(0, nonContentChild);

-									if (nonContentChild) {

-										nonContentAnnotation = true;

-									}

-									++depth;

-								}

-								List<GenPackage.AnnotationReferenceData> nestedAnnotationReferenceDataList = genPackage

-										.getReferenceData(nestedEAnnotation);

-								stringBuffer.append(TEXT_592);

-								stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));

-								stringBuffer.append(TEXT_593);

-								if (nonContentAnnotation

-										&& genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {

-									stringBuffer.append(TEXT_594);

-									stringBuffer.append(path.toString());

-									stringBuffer.append(TEXT_595);

-								} else {

-									stringBuffer.append(depth);

-								}

-								stringBuffer.append(TEXT_596);

-								if (nestedAnnotationSource == null) {

-									stringBuffer.append(TEXT_597);

-								} else {

-									stringBuffer.append(TEXT_598);

-									stringBuffer.append(nestedAnnotationSource);

-									stringBuffer.append(TEXT_599);

-									stringBuffer.append(genModel.getNonNLS());

-								}

-								stringBuffer.append(TEXT_600);

-								for (Iterator<Map.Entry<String, String>> l = nestedEAnnotation.getDetails().iterator(); l

-										.hasNext();) {

-									Map.Entry<String, String> detail = l.next();

-									String key = Literals.toStringLiteral(detail.getKey(), genModel);

-									String value = Literals.toStringLiteral(detail.getValue(), genModel);

-									stringBuffer.append(TEXT_601);

-									stringBuffer.append(key);

-									stringBuffer.append(TEXT_602);

-									stringBuffer.append(value);

-									stringBuffer.append(l.hasNext() ? "," : "");

-									stringBuffer.append(genModel.getNonNLS(key + value));

-								}

-								stringBuffer.append(TEXT_603);

-								if (nestedAnnotationReferenceDataList.isEmpty()) {

-									stringBuffer.append(TEXT_604);

-								} else {

-									stringBuffer.append(TEXT_605);

-								}

-								if (!nestedAnnotationReferenceDataList.isEmpty()) {

-									stringBuffer.append(TEXT_606);

-									stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

-									stringBuffer.append(TEXT_607);

-									for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList

-											.iterator(); l.hasNext();) {

-										GenPackage.AnnotationReferenceData annotationReferenceData = l.next();

-										stringBuffer.append(TEXT_608);

-										stringBuffer

-												.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

-										stringBuffer.append(TEXT_609);

-										if (annotationReferenceData.containingGenPackage != genPackage) {

-											stringBuffer.append(annotationReferenceData.containingGenPackage

-													.getImportedPackageInterfaceName());

-											stringBuffer.append(TEXT_610);

-										}

-										stringBuffer.append(TEXT_611);

-										stringBuffer.append(annotationReferenceData.uriFragment);

-										stringBuffer.append(TEXT_612);

-										if (l.hasNext()) {

-											stringBuffer.append(TEXT_613);

-										}

-										stringBuffer.append(genModel.getNonNLS());

-									}

-									stringBuffer.append(TEXT_614);

-								}

-							}

-						}

-					}

-					stringBuffer.append(TEXT_615);

-				}

-			} else {

-				if (genPackage.isLoadingInitialization()) {

-					stringBuffer.append(TEXT_616);

-					stringBuffer.append(genModel.getImportedName("java.net.URL"));

-					stringBuffer.append(TEXT_617);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(TEXT_618);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

-					stringBuffer.append(TEXT_619);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));

-					stringBuffer.append(TEXT_620);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));

-					stringBuffer.append(TEXT_621);

-					stringBuffer.append(genModel

-							.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl"));

-					stringBuffer.append(TEXT_622);

-					stringBuffer.append(genModel.getImportedName("java.io.IOException"));

-					stringBuffer.append(TEXT_623);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));

-					stringBuffer.append(TEXT_624);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-					stringBuffer.append(TEXT_625);

-				}

-				stringBuffer.append(TEXT_626);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_627);

-				}

-				stringBuffer.append(TEXT_628);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));

-				stringBuffer.append(TEXT_629);

-				ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>();

-				for (GenClass genClass : genPackage.getGenClasses()) {

-					if (genClass.isDynamic()) {

-						dynamicGenClasses.add(genClass);

-					}

-				}

-				if (dynamicGenClasses.isEmpty()) {

-					stringBuffer.append(TEXT_630);

-					stringBuffer.append(genPackage.getInterfacePackageName());

-					stringBuffer.append(TEXT_631);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(TEXT_632);

-				} else {

-					stringBuffer.append(TEXT_633);

-					for (GenClass genClass : dynamicGenClasses) {

-						if (genClass.isDynamic()) {

-							stringBuffer.append(TEXT_634);

-							stringBuffer.append(genPackage.getClassifierID(genClass));

-							stringBuffer.append(TEXT_635);

-						}

-					}

-					stringBuffer.append(TEXT_636);

-					stringBuffer.append(genPackage.getInterfacePackageName());

-					stringBuffer.append(TEXT_637);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(TEXT_638);

-				}

-				stringBuffer.append(TEXT_639);

-			}

-			if (needsAddEOperation) {

-				stringBuffer.append(TEXT_640);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

-				stringBuffer.append(TEXT_641);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));

-				stringBuffer.append(TEXT_642);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));

-				stringBuffer.append(TEXT_643);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

-				stringBuffer.append(TEXT_644);

-			}

-			if (needsAddEParameter) {

-				stringBuffer.append(TEXT_645);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));

-				stringBuffer.append(TEXT_646);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

-				stringBuffer.append(TEXT_647);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));

-				stringBuffer.append(TEXT_648);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));

-				stringBuffer.append(TEXT_649);

-			}

-		}

-		if (isInterface && genPackage.isLiteralsInterface()) {

-			stringBuffer.append(TEXT_650);

-			if (genModel.isOperationReflection()) {

-				stringBuffer.append(TEXT_651);

-			}

-			stringBuffer.append(TEXT_652);

-			if (isImplementation) {

-				stringBuffer.append(TEXT_653);

-			}

-			stringBuffer.append(TEXT_654);

-			for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-				stringBuffer.append(TEXT_655);

-				if (genClassifier instanceof GenClass) {

-					GenClass genClass = (GenClass) genClassifier;

-					if (!genClass.isInterface()) {

-						stringBuffer.append(TEXT_656);

-						stringBuffer.append(genClass.getQualifiedClassName());

-						stringBuffer.append(TEXT_657);

-						stringBuffer.append(genClass.getFormattedName());

-						stringBuffer.append(TEXT_658);

-						stringBuffer.append(genClass.getQualifiedClassName());

-					} else {

-						stringBuffer.append(TEXT_659);

-						stringBuffer.append(genClass.getQualifiedInterfaceName());

-						stringBuffer.append(TEXT_660);

-						stringBuffer.append(genClass.getFormattedName());

-						stringBuffer.append(TEXT_661);

-						stringBuffer.append(genClass.getQualifiedInterfaceName());

-					}

-				} else if (genClassifier instanceof GenEnum) {

-					GenEnum genEnum = (GenEnum) genClassifier;

-					stringBuffer.append(TEXT_662);

-					stringBuffer.append(genEnum.getQualifiedName());

-					stringBuffer.append(TEXT_663);

-					stringBuffer.append(genEnum.getFormattedName());

-					stringBuffer.append(TEXT_664);

-					stringBuffer.append(genEnum.getQualifiedName());

-				} else if (genClassifier instanceof GenDataType) {

-					GenDataType genDataType = (GenDataType) genClassifier;

-					stringBuffer.append(TEXT_665);

-					stringBuffer.append(genDataType.getFormattedName());

-					stringBuffer.append(TEXT_666);

-					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {

-						stringBuffer.append(TEXT_667);

-						stringBuffer.append(genDataType.getRawInstanceClassName());

-					}

-				}

-				stringBuffer.append(TEXT_668);

-				stringBuffer.append(genPackage.getQualifiedPackageClassName());

-				stringBuffer.append(TEXT_669);

-				stringBuffer.append(genClassifier.getClassifierAccessorName());

-				stringBuffer.append(TEXT_670);

-				stringBuffer.append(publicStaticFinalFlag);

-				stringBuffer.append(genClassifier.getImportedMetaType());

-				stringBuffer.append(TEXT_671);

-				stringBuffer.append(genPackage.getClassifierID(genClassifier));

-				stringBuffer.append(TEXT_672);

-				stringBuffer.append(genClassifier.getClassifierAccessorName());

-				stringBuffer.append(TEXT_673);

-				if (genClassifier instanceof GenClass) {

-					GenClass genClass = (GenClass) genClassifier;

-					for (GenFeature genFeature : genClass.getGenFeatures()) {

-						stringBuffer.append(TEXT_674);

-						stringBuffer.append(genFeature.getFormattedName());

-						stringBuffer.append(TEXT_675);

-						stringBuffer.append(genFeature.getFeatureKind());

-						stringBuffer.append(TEXT_676);

-						stringBuffer.append(publicStaticFinalFlag);

-						stringBuffer.append(genFeature.getImportedMetaType());

-						stringBuffer.append(TEXT_677);

-						stringBuffer.append(genClass.getFeatureID(genFeature));

-						stringBuffer.append(TEXT_678);

-						stringBuffer.append(genFeature.getFeatureAccessorName());

-						stringBuffer.append(TEXT_679);

-					}

-					if (genModel.isOperationReflection()) {

-						for (GenOperation genOperation : genClass.getGenOperations()) {

-							stringBuffer.append(TEXT_680);

-							stringBuffer.append(genOperation.getFormattedName());

-							stringBuffer.append(TEXT_681);

-							stringBuffer.append(publicStaticFinalFlag);

-							stringBuffer.append(genOperation.getImportedMetaType());

-							stringBuffer.append(TEXT_682);

-							stringBuffer.append(genClass.getOperationID(genOperation, false));

-							stringBuffer.append(TEXT_683);

-							stringBuffer.append(genOperation.getOperationAccessorName());

-							stringBuffer.append(TEXT_684);

-						}

-					}

-				}

-			}

-			stringBuffer.append(TEXT_685);

-		}

-		stringBuffer.append(TEXT_686);

-		stringBuffer.append(isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_687);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate

-				&& (genPackage.hasClassifiers() && !genModel.isSuppressEMFMetaData() && !genModel

-						.isSuppressInterfaces());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PackageInterface extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized PackageInterface create(String lineSeparator) {
+		nl = lineSeparator;
+		PackageInterface result = new PackageInterface();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";";
+	protected final String TEXT_4 = NL + "package ";
+	protected final String TEXT_5 = ";";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * The <b>Package</b> for the model." + NL + " * It contains accessors for the meta objects to represent"
+			+ NL + " * <ul>" + NL + " *   <li>each class,</li>" + NL + " *   <li>each feature of each class,</li>";
+	protected final String TEXT_8 = NL + " *   <li>each operation of each class,</li>";
+	protected final String TEXT_9 = NL + " *   <li>each enum,</li>" + NL + " *   <li>and each data type</li>" + NL
+			+ " * </ul>" + NL + " * <!-- end-user-doc -->";
+	protected final String TEXT_10 = NL + " * <!-- begin-model-doc -->" + NL + " * ";
+	protected final String TEXT_11 = NL + " * <!-- end-model-doc -->";
+	protected final String TEXT_12 = NL + " * @see ";
+	protected final String TEXT_13 = NL + " * @model ";
+	protected final String TEXT_14 = NL + " *        ";
+	protected final String TEXT_15 = NL + " * @model";
+	protected final String TEXT_16 = NL + " * @generated" + NL + " */";
+	protected final String TEXT_17 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * An implementation of the model <b>Package</b>." + NL + " * <!-- end-user-doc -->" + NL
+			+ " * @generated" + NL + " */";
+	protected final String TEXT_18 = NL + "public class ";
+	protected final String TEXT_19 = " extends ";
+	protected final String TEXT_20 = " implements ";
+	protected final String TEXT_21 = NL + "public interface ";
+	protected final String TEXT_22 = " extends ";
+	protected final String TEXT_23 = NL + "{";
+	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_25 = " copyright = ";
+	protected final String TEXT_26 = ";";
+	protected final String TEXT_27 = NL;
+	protected final String TEXT_28 = NL + "\t/**" + NL + "\t * The package name." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_29 = " eNAME = \"";
+	protected final String TEXT_30 = "\";";
+	protected final String TEXT_31 = NL + NL + "\t/**" + NL + "\t * The package namespace URI." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_32 = " eNS_URI = \"";
+	protected final String TEXT_33 = "\";";
+	protected final String TEXT_34 = NL + NL + "\t/**" + NL + "\t * The package namespace name." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_35 = " eNS_PREFIX = \"";
+	protected final String TEXT_36 = "\";";
+	protected final String TEXT_37 = NL + NL + "\t/**" + NL + "\t * The package content type ID." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_38 = " eCONTENT_TYPE = \"";
+	protected final String TEXT_39 = "\";";
+	protected final String TEXT_40 = NL + NL + "\t/**" + NL + "\t * The singleton instance of the package." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t";
+	protected final String TEXT_41 = " eINSTANCE = ";
+	protected final String TEXT_42 = ".init();" + NL;
+	protected final String TEXT_43 = NL + "\t/**";
+	protected final String TEXT_44 = NL + "\t * The meta object id for the '{@link ";
+	protected final String TEXT_45 = " <em>";
+	protected final String TEXT_46 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+	protected final String TEXT_47 = NL + "\t * The meta object id for the '{@link ";
+	protected final String TEXT_48 = " <em>";
+	protected final String TEXT_49 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+	protected final String TEXT_50 = NL + "\t * The meta object id for the '{@link ";
+	protected final String TEXT_51 = " <em>";
+	protected final String TEXT_52 = "</em>}' enum." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+	protected final String TEXT_53 = NL + "\t * The meta object id for the '<em>";
+	protected final String TEXT_54 = "</em>' data type." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->";
+	protected final String TEXT_55 = NL + "\t * @see ";
+	protected final String TEXT_56 = NL + "\t * @see ";
+	protected final String TEXT_57 = "#get";
+	protected final String TEXT_58 = "()" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_59 = "int ";
+	protected final String TEXT_60 = " = ";
+	protected final String TEXT_61 = ";" + NL;
+	protected final String TEXT_62 = NL + "\t/**" + NL + "\t * The feature id for the '<em><b>";
+	protected final String TEXT_63 = "</b></em>' ";
+	protected final String TEXT_64 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_65 = "int ";
+	protected final String TEXT_66 = " = ";
+	protected final String TEXT_67 = ";" + NL;
+	protected final String TEXT_68 = NL + "\t/**" + NL + "\t * The number of structural features of the '<em>";
+	protected final String TEXT_69 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_70 = "int ";
+	protected final String TEXT_71 = " = ";
+	protected final String TEXT_72 = ";" + NL;
+	protected final String TEXT_73 = NL + "\t/**" + NL + "\t * The operation id for the '<em>";
+	protected final String TEXT_74 = "</em>' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_75 = "int ";
+	protected final String TEXT_76 = " = ";
+	protected final String TEXT_77 = ";" + NL;
+	protected final String TEXT_78 = NL + "\t/**" + NL + "\t * The number of operations of the '<em>";
+	protected final String TEXT_79 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_80 = "int ";
+	protected final String TEXT_81 = " = ";
+	protected final String TEXT_82 = ";" + NL;
+	protected final String TEXT_83 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected String packageFilename = \"";
+	protected final String TEXT_84 = "\";";
+	protected final String TEXT_85 = NL;
+	protected final String TEXT_86 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate ";
+	protected final String TEXT_87 = " ";
+	protected final String TEXT_88 = " = null;" + NL;
+	protected final String TEXT_89 = NL + "\t/**" + NL
+			+ "\t * Creates an instance of the model <b>Package</b>, registered with" + NL
+			+ "\t * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package" + NL
+			+ "\t * package URI value." + NL + "\t * <p>Note: the correct way to create the package is via the static"
+			+ NL + "\t * factory method {@link #init init()}, which also performs" + NL
+			+ "\t * initialization of the package, or returns the registered package," + NL
+			+ "\t * if one already exists." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @see org.eclipse.emf.ecore.EPackage.Registry" + NL + "\t * @see ";
+	protected final String TEXT_90 = "#eNS_URI" + NL + "\t * @see #init()" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate ";
+	protected final String TEXT_91 = "()" + NL + "\t{" + NL + "\t\tsuper(eNS_URI, ";
+	protected final String TEXT_92 = ");" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate static boolean isInited = false;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends."
+			+ NL + "\t * " + NL + "\t * <p>This method is used to initialize {@link ";
+	protected final String TEXT_93 = "#eINSTANCE} when that field is accessed." + NL
+			+ "\t * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #eNS_URI";
+	protected final String TEXT_94 = NL + "\t * @see #createPackageContents()" + NL
+			+ "\t * @see #initializePackageContents()";
+	protected final String TEXT_95 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
+	protected final String TEXT_96 = " init()" + NL + "\t{" + NL + "\t\tif (isInited) return (";
+	protected final String TEXT_97 = ")";
+	protected final String TEXT_98 = ".Registry.INSTANCE.getEPackage(";
+	protected final String TEXT_99 = ".eNS_URI);" + NL;
+	protected final String TEXT_100 = NL + "\t\tinitializeRegistryHelpers();" + NL;
+	protected final String TEXT_101 = NL + "\t\t// Obtain or create and register package" + NL + "\t\t";
+	protected final String TEXT_102 = " the";
+	protected final String TEXT_103 = " = (";
+	protected final String TEXT_104 = ")(";
+	protected final String TEXT_105 = ".Registry.INSTANCE.get(eNS_URI) instanceof ";
+	protected final String TEXT_106 = " ? ";
+	protected final String TEXT_107 = ".Registry.INSTANCE.get(eNS_URI) : new ";
+	protected final String TEXT_108 = "());" + NL + "" + NL + "\t\tisInited = true;" + NL;
+	protected final String TEXT_109 = NL + "\t\t// Initialize simple dependencies";
+	protected final String TEXT_110 = NL + "\t\t";
+	protected final String TEXT_111 = ".eINSTANCE.eClass();";
+	protected final String TEXT_112 = NL;
+	protected final String TEXT_113 = NL + "\t\t// Obtain or create and register interdependencies";
+	protected final String TEXT_114 = NL + "\t\t";
+	protected final String TEXT_115 = " ";
+	protected final String TEXT_116 = " = (";
+	protected final String TEXT_117 = ")(";
+	protected final String TEXT_118 = ".Registry.INSTANCE.getEPackage(";
+	protected final String TEXT_119 = ".eNS_URI) instanceof ";
+	protected final String TEXT_120 = " ? ";
+	protected final String TEXT_121 = ".Registry.INSTANCE.getEPackage(";
+	protected final String TEXT_122 = ".eNS_URI) : ";
+	protected final String TEXT_123 = ".eINSTANCE);";
+	protected final String TEXT_124 = NL;
+	protected final String TEXT_125 = NL + "\t\t// Load packages";
+	protected final String TEXT_126 = NL + "\t\tthe";
+	protected final String TEXT_127 = ".loadPackage();";
+	protected final String TEXT_128 = NL + "\t\t";
+	protected final String TEXT_129 = ".loadPackage();";
+	protected final String TEXT_130 = NL;
+	protected final String TEXT_131 = NL + "\t\t// Create package meta-data objects";
+	protected final String TEXT_132 = NL + "\t\tthe";
+	protected final String TEXT_133 = ".createPackageContents();";
+	protected final String TEXT_134 = NL + "\t\t";
+	protected final String TEXT_135 = ".createPackageContents();";
+	protected final String TEXT_136 = NL + NL + "\t\t// Initialize created meta-data";
+	protected final String TEXT_137 = NL + "\t\tthe";
+	protected final String TEXT_138 = ".initializePackageContents();";
+	protected final String TEXT_139 = NL + "\t\t";
+	protected final String TEXT_140 = ".initializePackageContents();";
+	protected final String TEXT_141 = NL;
+	protected final String TEXT_142 = NL + "\t\t// Fix loaded packages";
+	protected final String TEXT_143 = NL + "\t\tthe";
+	protected final String TEXT_144 = ".fixPackageContents();";
+	protected final String TEXT_145 = NL + "\t\t";
+	protected final String TEXT_146 = ".fixPackageContents();";
+	protected final String TEXT_147 = NL;
+	protected final String TEXT_148 = NL + "\t\t// Register package validator" + NL + "\t\t";
+	protected final String TEXT_149 = ".Registry.INSTANCE.put" + NL + "\t\t\t(the";
+	protected final String TEXT_150 = ", " + NL + "\t\t\t new ";
+	protected final String TEXT_151 = ".Descriptor()" + NL + "\t\t\t {" + NL + "\t\t\t\t public ";
+	protected final String TEXT_152 = " getEValidator()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return ";
+	protected final String TEXT_153 = ".INSTANCE;" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;
+	protected final String TEXT_154 = NL + "\t\t// Mark meta-data to indicate it can't be changed" + NL + "\t\tthe";
+	protected final String TEXT_155 = ".freeze();" + NL;
+	protected final String TEXT_156 = NL + "  " + NL + "\t\t// Update the registry and return the package" + NL
+			+ "\t\t";
+	protected final String TEXT_157 = ".Registry.INSTANCE.put(";
+	protected final String TEXT_158 = ".eNS_URI, the";
+	protected final String TEXT_159 = ");" + NL + "\t\treturn the";
+	protected final String TEXT_160 = ";" + NL + "\t}";
+	protected final String TEXT_161 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static void initializeRegistryHelpers()" + NL + "\t{";
+	protected final String TEXT_162 = NL + "\t\t";
+	protected final String TEXT_163 = ".register" + NL + "\t\t\t(";
+	protected final String TEXT_164 = ".class, " + NL + "\t\t\t new ";
+	protected final String TEXT_165 = ".Helper() " + NL + "\t\t\t {" + NL
+			+ "\t\t\t\t public boolean isInstance(Object instance)" + NL + "\t\t\t\t {" + NL
+			+ "\t\t\t\t\t return instance instanceof ";
+	protected final String TEXT_166 = ";" + NL + "\t\t\t\t }" + NL + "" + NL
+			+ "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return new ";
+	protected final String TEXT_167 = "[size];" + NL + "\t\t\t\t }" + NL + "\t\t\t });";
+	protected final String TEXT_168 = NL + "\t\t";
+	protected final String TEXT_169 = ".register" + NL + "\t\t\t(";
+	protected final String TEXT_170 = ".class, " + NL + "\t\t\t new ";
+	protected final String TEXT_171 = ".Helper() " + NL + "\t\t\t {" + NL
+			+ "\t\t\t\t public boolean isInstance(Object instance)" + NL + "\t\t\t\t {" + NL
+			+ "\t\t\t\t\t return instance instanceof ";
+	protected final String TEXT_172 = ";" + NL + "\t\t\t\t }" + NL + "" + NL
+			+ "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {";
+	protected final String TEXT_173 = NL + "\t\t\t\t\t return new ";
+	protected final String TEXT_174 = "[size]";
+	protected final String TEXT_175 = ";";
+	protected final String TEXT_176 = NL + "\t\t\t\t\t return new ";
+	protected final String TEXT_177 = "[size];";
+	protected final String TEXT_178 = NL + "\t\t\t\t }" + NL + "\t\t});";
+	protected final String TEXT_179 = NL + "\t}" + NL + "" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static class WhiteList implements ";
+	protected final String TEXT_180 = ", EBasicWhiteList" + NL + "\t{";
+	protected final String TEXT_181 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+	protected final String TEXT_182 = " ";
+	protected final String TEXT_183 = ";" + NL;
+	protected final String TEXT_184 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+	protected final String TEXT_185 = " ";
+	protected final String TEXT_186 = ";" + NL;
+	protected final String TEXT_187 = NL + "\t}";
+	protected final String TEXT_188 = NL;
+	protected final String TEXT_189 = NL;
+	protected final String TEXT_190 = NL + "\t/**";
+	protected final String TEXT_191 = NL + "\t * Returns the meta object for class '{@link ";
+	protected final String TEXT_192 = " <em>";
+	protected final String TEXT_193 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for class '<em>";
+	protected final String TEXT_194 = "</em>'." + NL + "\t * @see ";
+	protected final String TEXT_195 = NL + "\t * @model ";
+	protected final String TEXT_196 = NL + "\t *        ";
+	protected final String TEXT_197 = NL + "\t * @model";
+	protected final String TEXT_198 = NL + "\t * Returns the meta object for enum '{@link ";
+	protected final String TEXT_199 = " <em>";
+	protected final String TEXT_200 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for enum '<em>";
+	protected final String TEXT_201 = "</em>'." + NL + "\t * @see ";
+	protected final String TEXT_202 = NL + "\t * Returns the meta object for data type '<em>";
+	protected final String TEXT_203 = "</em>'.";
+	protected final String TEXT_204 = NL + "\t * Returns the meta object for data type '{@link ";
+	protected final String TEXT_205 = " <em>";
+	protected final String TEXT_206 = "</em>}'.";
+	protected final String TEXT_207 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the meta object for data type '<em>";
+	protected final String TEXT_208 = "</em>'.";
+	protected final String TEXT_209 = NL + "\t * @see ";
+	protected final String TEXT_210 = NL + "\t * @model ";
+	protected final String TEXT_211 = NL + "\t *        ";
+	protected final String TEXT_212 = NL + "\t * @model";
+	protected final String TEXT_213 = NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_214 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_215 = NL + "\tpublic ";
+	protected final String TEXT_216 = " get";
+	protected final String TEXT_217 = "()" + NL + "\t{";
+	protected final String TEXT_218 = NL + "\t\tif (";
+	protected final String TEXT_219 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_220 = " = (";
+	protected final String TEXT_221 = ")";
+	protected final String TEXT_222 = ".Registry.INSTANCE.getEPackage(";
+	protected final String TEXT_223 = ".eNS_URI).getEClassifiers().get(";
+	protected final String TEXT_224 = ");" + NL + "\t\t}";
+	protected final String TEXT_225 = NL + "\t\treturn ";
+	protected final String TEXT_226 = ";" + NL + "\t}" + NL;
+	protected final String TEXT_227 = NL + "\t";
+	protected final String TEXT_228 = " get";
+	protected final String TEXT_229 = "();" + NL;
+	protected final String TEXT_230 = NL + "\t/**" + NL + "\t * Returns the meta object for the ";
+	protected final String TEXT_231 = " '{@link ";
+	protected final String TEXT_232 = "#";
+	protected final String TEXT_233 = " <em>";
+	protected final String TEXT_234 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the ";
+	protected final String TEXT_235 = " '<em>";
+	protected final String TEXT_236 = "</em>'." + NL + "\t * @see ";
+	protected final String TEXT_237 = "#";
+	protected final String TEXT_238 = "()";
+	protected final String TEXT_239 = NL + "\t * @see #get";
+	protected final String TEXT_240 = "()" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_241 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_242 = NL + "\tpublic ";
+	protected final String TEXT_243 = " get";
+	protected final String TEXT_244 = "()" + NL + "\t{";
+	protected final String TEXT_245 = NL + "\t\treturn (";
+	protected final String TEXT_246 = ")";
+	protected final String TEXT_247 = ".getEStructuralFeatures().get(";
+	protected final String TEXT_248 = ");";
+	protected final String TEXT_249 = NL + "        return (";
+	protected final String TEXT_250 = ")get";
+	protected final String TEXT_251 = "().getEStructuralFeatures().get(";
+	protected final String TEXT_252 = ");";
+	protected final String TEXT_253 = NL + "\t}";
+	protected final String TEXT_254 = NL + "\t";
+	protected final String TEXT_255 = " get";
+	protected final String TEXT_256 = "();";
+	protected final String TEXT_257 = NL;
+	protected final String TEXT_258 = NL + "\t/**" + NL + "\t * Returns the meta object for the '{@link ";
+	protected final String TEXT_259 = "#";
+	protected final String TEXT_260 = "(";
+	protected final String TEXT_261 = ") <em>";
+	protected final String TEXT_262 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the '<em>";
+	protected final String TEXT_263 = "</em>' operation." + NL + "\t * @see ";
+	protected final String TEXT_264 = "#";
+	protected final String TEXT_265 = "(";
+	protected final String TEXT_266 = ")" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_267 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_268 = NL + "\tpublic ";
+	protected final String TEXT_269 = " get";
+	protected final String TEXT_270 = "()" + NL + "\t{";
+	protected final String TEXT_271 = NL + "\t\treturn ";
+	protected final String TEXT_272 = ".getEOperations().get(";
+	protected final String TEXT_273 = ");";
+	protected final String TEXT_274 = NL + "        return get";
+	protected final String TEXT_275 = "().getEOperations().get(";
+	protected final String TEXT_276 = ");";
+	protected final String TEXT_277 = NL + "\t}";
+	protected final String TEXT_278 = NL + "\t";
+	protected final String TEXT_279 = " get";
+	protected final String TEXT_280 = "();";
+	protected final String TEXT_281 = NL;
+	protected final String TEXT_282 = NL + "\t/**" + NL
+			+ "\t * Returns the factory that creates the instances of the model." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the factory that creates the instances of the model." + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_283 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_284 = NL + "\tpublic ";
+	protected final String TEXT_285 = " get";
+	protected final String TEXT_286 = "()" + NL + "\t{" + NL + "\t\treturn (";
+	protected final String TEXT_287 = ")getEFactoryInstance();" + NL + "\t}";
+	protected final String TEXT_288 = NL + "\t";
+	protected final String TEXT_289 = " get";
+	protected final String TEXT_290 = "();";
+	protected final String TEXT_291 = NL;
+	protected final String TEXT_292 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate boolean isCreated = false;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Creates the meta-model objects for the package.  This method is" + NL
+			+ "\t * guarded to have no affect on any invocation but its first." + NL + "\t * <!-- begin-user-doc -->"
+			+ NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic void createPackageContents()" + NL + "\t{" + NL + "\t\tif (isCreated) return;" + NL
+			+ "\t\tisCreated = true;";
+	protected final String TEXT_293 = NL + NL + "\t\t// Create classes and their features";
+	protected final String TEXT_294 = NL + "\t\t";
+	protected final String TEXT_295 = " = create";
+	protected final String TEXT_296 = "(";
+	protected final String TEXT_297 = ");";
+	protected final String TEXT_298 = NL + "\t\tcreate";
+	protected final String TEXT_299 = "(";
+	protected final String TEXT_300 = ", ";
+	protected final String TEXT_301 = ");";
+	protected final String TEXT_302 = NL + "\t\tcreateEOperation(";
+	protected final String TEXT_303 = ", ";
+	protected final String TEXT_304 = ");";
+	protected final String TEXT_305 = NL;
+	protected final String TEXT_306 = NL + NL + "\t\t// Create enums";
+	protected final String TEXT_307 = NL + "\t\t";
+	protected final String TEXT_308 = " = createEEnum(";
+	protected final String TEXT_309 = ");";
+	protected final String TEXT_310 = NL + NL + "\t\t// Create data types";
+	protected final String TEXT_311 = NL + "\t\t";
+	protected final String TEXT_312 = " = createEDataType(";
+	protected final String TEXT_313 = ");";
+	protected final String TEXT_314 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate boolean isInitialized = false;" + NL;
+	protected final String TEXT_315 = NL + "\t/**" + NL
+			+ "\t * Complete the initialization of the package and its meta-model.  This" + NL
+			+ "\t * method is guarded to have no affect on any invocation but its first." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void initializePackageContents()" + NL + "\t{" + NL + "\t\tif (isInitialized) return;" + NL
+			+ "\t\tisInitialized = true;" + NL + "" + NL + "\t\t// Initialize package" + NL + "\t\tsetName(eNAME);" + NL
+			+ "\t\tsetNsPrefix(eNS_PREFIX);" + NL + "\t\tsetNsURI(eNS_URI);";
+	protected final String TEXT_316 = NL + NL + "\t\t// Obtain other dependent packages";
+	protected final String TEXT_317 = NL + "\t\t";
+	protected final String TEXT_318 = " ";
+	protected final String TEXT_319 = " = (";
+	protected final String TEXT_320 = ")";
+	protected final String TEXT_321 = ".Registry.INSTANCE.getEPackage(";
+	protected final String TEXT_322 = ".eNS_URI);";
+	protected final String TEXT_323 = NL + NL + "\t\t// Add subpackages";
+	protected final String TEXT_324 = NL + "\t\tgetESubpackages().add(";
+	protected final String TEXT_325 = ");";
+	protected final String TEXT_326 = NL + NL + "\t\t// Create type parameters";
+	protected final String TEXT_327 = NL + "\t\t";
+	protected final String TEXT_328 = " ";
+	protected final String TEXT_329 = "_";
+	protected final String TEXT_330 = " = addETypeParameter(";
+	protected final String TEXT_331 = ", \"";
+	protected final String TEXT_332 = "\");";
+	protected final String TEXT_333 = NL + "\t\taddETypeParameter(";
+	protected final String TEXT_334 = ", \"";
+	protected final String TEXT_335 = "\");";
+	protected final String TEXT_336 = NL + NL + "\t\t// Set bounds for type parameters";
+	protected final String TEXT_337 = NL + "\t\t";
+	protected final String TEXT_338 = "g";
+	protected final String TEXT_339 = " = createEGenericType(";
+	protected final String TEXT_340 = ");";
+	protected final String TEXT_341 = NL + "\t\tg";
+	protected final String TEXT_342 = ".";
+	protected final String TEXT_343 = "(g";
+	protected final String TEXT_344 = ");";
+	protected final String TEXT_345 = NL + "\t\t";
+	protected final String TEXT_346 = "_";
+	protected final String TEXT_347 = ".getEBounds().add(g1);";
+	protected final String TEXT_348 = NL + NL + "\t\t// Add supertypes to classes";
+	protected final String TEXT_349 = NL + "\t\t";
+	protected final String TEXT_350 = ".getESuperTypes().add(";
+	protected final String TEXT_351 = ".get";
+	protected final String TEXT_352 = "());";
+	protected final String TEXT_353 = NL + "\t\t";
+	protected final String TEXT_354 = "g";
+	protected final String TEXT_355 = " = createEGenericType(";
+	protected final String TEXT_356 = ");";
+	protected final String TEXT_357 = NL + "\t\tg";
+	protected final String TEXT_358 = ".";
+	protected final String TEXT_359 = "(g";
+	protected final String TEXT_360 = ");";
+	protected final String TEXT_361 = NL + "\t\t";
+	protected final String TEXT_362 = ".getEGenericSuperTypes().add(g1);";
+	protected final String TEXT_363 = NL + NL + "\t\t// Initialize classes";
+	protected final String TEXT_364 = ", features, and operations; add parameters";
+	protected final String TEXT_365 = " and features; add operations and parameters";
+	protected final String TEXT_366 = NL + "\t\tinitEClass(";
+	protected final String TEXT_367 = ", ";
+	protected final String TEXT_368 = "null";
+	protected final String TEXT_369 = ".class";
+	protected final String TEXT_370 = ", \"";
+	protected final String TEXT_371 = "\", ";
+	protected final String TEXT_372 = ", ";
+	protected final String TEXT_373 = ", ";
+	protected final String TEXT_374 = ", \"";
+	protected final String TEXT_375 = "\"";
+	protected final String TEXT_376 = ");";
+	protected final String TEXT_377 = NL + "\t\t";
+	protected final String TEXT_378 = "g";
+	protected final String TEXT_379 = " = createEGenericType(";
+	protected final String TEXT_380 = ");";
+	protected final String TEXT_381 = NL + "\t\tg";
+	protected final String TEXT_382 = ".";
+	protected final String TEXT_383 = "(g";
+	protected final String TEXT_384 = ");";
+	protected final String TEXT_385 = NL + "\t\tinitEReference(get";
+	protected final String TEXT_386 = "(), ";
+	protected final String TEXT_387 = "g1";
+	protected final String TEXT_388 = ".get";
+	protected final String TEXT_389 = "()";
+	protected final String TEXT_390 = ", ";
+	protected final String TEXT_391 = ", \"";
+	protected final String TEXT_392 = "\", ";
+	protected final String TEXT_393 = ", ";
+	protected final String TEXT_394 = ", ";
+	protected final String TEXT_395 = ", ";
+	protected final String TEXT_396 = ", ";
+	protected final String TEXT_397 = ", ";
+	protected final String TEXT_398 = ", ";
+	protected final String TEXT_399 = ", ";
+	protected final String TEXT_400 = ", ";
+	protected final String TEXT_401 = ", ";
+	protected final String TEXT_402 = ", ";
+	protected final String TEXT_403 = ", ";
+	protected final String TEXT_404 = ", ";
+	protected final String TEXT_405 = ");";
+	protected final String TEXT_406 = NL + "\t\tget";
+	protected final String TEXT_407 = "().getEKeys().add(";
+	protected final String TEXT_408 = ".get";
+	protected final String TEXT_409 = "());";
+	protected final String TEXT_410 = NL + "\t\tinitEAttribute(get";
+	protected final String TEXT_411 = "(), ";
+	protected final String TEXT_412 = "g1";
+	protected final String TEXT_413 = ".get";
+	protected final String TEXT_414 = "()";
+	protected final String TEXT_415 = ", \"";
+	protected final String TEXT_416 = "\", ";
+	protected final String TEXT_417 = ", ";
+	protected final String TEXT_418 = ", ";
+	protected final String TEXT_419 = ", ";
+	protected final String TEXT_420 = ", ";
+	protected final String TEXT_421 = ", ";
+	protected final String TEXT_422 = ", ";
+	protected final String TEXT_423 = ", ";
+	protected final String TEXT_424 = ", ";
+	protected final String TEXT_425 = ", ";
+	protected final String TEXT_426 = ", ";
+	protected final String TEXT_427 = ", ";
+	protected final String TEXT_428 = ");";
+	protected final String TEXT_429 = NL;
+	protected final String TEXT_430 = NL + "\t\t";
+	protected final String TEXT_431 = "initEOperation(get";
+	protected final String TEXT_432 = "()";
+	protected final String TEXT_433 = "addEOperation(";
+	protected final String TEXT_434 = ", ";
+	protected final String TEXT_435 = "null";
+	protected final String TEXT_436 = ".get";
+	protected final String TEXT_437 = "()";
+	protected final String TEXT_438 = ", \"";
+	protected final String TEXT_439 = "\", ";
+	protected final String TEXT_440 = ", ";
+	protected final String TEXT_441 = ", ";
+	protected final String TEXT_442 = ", ";
+	protected final String TEXT_443 = ");";
+	protected final String TEXT_444 = NL + "\t\t";
+	protected final String TEXT_445 = "initEOperation(get";
+	protected final String TEXT_446 = "()";
+	protected final String TEXT_447 = "addEOperation(";
+	protected final String TEXT_448 = ", ";
+	protected final String TEXT_449 = ".get";
+	protected final String TEXT_450 = "(), \"";
+	protected final String TEXT_451 = "\", ";
+	protected final String TEXT_452 = ", ";
+	protected final String TEXT_453 = ", ";
+	protected final String TEXT_454 = ", ";
+	protected final String TEXT_455 = ");";
+	protected final String TEXT_456 = NL + "\t\t";
+	protected final String TEXT_457 = "initEOperation(get";
+	protected final String TEXT_458 = "()";
+	protected final String TEXT_459 = "addEOperation(";
+	protected final String TEXT_460 = ", ";
+	protected final String TEXT_461 = ".get";
+	protected final String TEXT_462 = "(), \"";
+	protected final String TEXT_463 = "\", ";
+	protected final String TEXT_464 = ", ";
+	protected final String TEXT_465 = ");";
+	protected final String TEXT_466 = NL + "\t\t";
+	protected final String TEXT_467 = "initEOperation(get";
+	protected final String TEXT_468 = "()";
+	protected final String TEXT_469 = "addEOperation(";
+	protected final String TEXT_470 = ", null, \"";
+	protected final String TEXT_471 = "\");";
+	protected final String TEXT_472 = NL + "\t\t";
+	protected final String TEXT_473 = "addETypeParameter(op, \"";
+	protected final String TEXT_474 = "\");";
+	protected final String TEXT_475 = NL + "\t\t";
+	protected final String TEXT_476 = "g";
+	protected final String TEXT_477 = " = createEGenericType(";
+	protected final String TEXT_478 = ");";
+	protected final String TEXT_479 = NL + "\t\tg";
+	protected final String TEXT_480 = ".";
+	protected final String TEXT_481 = "(g";
+	protected final String TEXT_482 = ");";
+	protected final String TEXT_483 = NL + "\t\tt";
+	protected final String TEXT_484 = ".getEBounds().add(g1);";
+	protected final String TEXT_485 = NL + "\t\t";
+	protected final String TEXT_486 = "g";
+	protected final String TEXT_487 = " = createEGenericType(";
+	protected final String TEXT_488 = ");";
+	protected final String TEXT_489 = NL + "\t\tg";
+	protected final String TEXT_490 = ".";
+	protected final String TEXT_491 = "(g";
+	protected final String TEXT_492 = ");";
+	protected final String TEXT_493 = NL + "\t\taddEParameter(op, ";
+	protected final String TEXT_494 = "g1";
+	protected final String TEXT_495 = ".get";
+	protected final String TEXT_496 = "()";
+	protected final String TEXT_497 = ", \"";
+	protected final String TEXT_498 = "\", ";
+	protected final String TEXT_499 = ", ";
+	protected final String TEXT_500 = ", ";
+	protected final String TEXT_501 = ", ";
+	protected final String TEXT_502 = ");";
+	protected final String TEXT_503 = NL + "\t\taddEParameter(op, ";
+	protected final String TEXT_504 = "g1";
+	protected final String TEXT_505 = ".get";
+	protected final String TEXT_506 = "()";
+	protected final String TEXT_507 = ", \"";
+	protected final String TEXT_508 = "\", ";
+	protected final String TEXT_509 = ", ";
+	protected final String TEXT_510 = ", ";
+	protected final String TEXT_511 = ", ";
+	protected final String TEXT_512 = ");";
+	protected final String TEXT_513 = NL + "\t\taddEParameter(op, ";
+	protected final String TEXT_514 = "g1";
+	protected final String TEXT_515 = ".get";
+	protected final String TEXT_516 = "()";
+	protected final String TEXT_517 = ", \"";
+	protected final String TEXT_518 = "\", ";
+	protected final String TEXT_519 = ", ";
+	protected final String TEXT_520 = ");";
+	protected final String TEXT_521 = NL + "\t\t";
+	protected final String TEXT_522 = "g";
+	protected final String TEXT_523 = " = createEGenericType(";
+	protected final String TEXT_524 = ");";
+	protected final String TEXT_525 = NL + "\t\tg";
+	protected final String TEXT_526 = ".";
+	protected final String TEXT_527 = "(g";
+	protected final String TEXT_528 = ");";
+	protected final String TEXT_529 = NL + "\t\taddEException(op, g";
+	protected final String TEXT_530 = ");";
+	protected final String TEXT_531 = NL + "\t\taddEException(op, ";
+	protected final String TEXT_532 = ".get";
+	protected final String TEXT_533 = "());";
+	protected final String TEXT_534 = NL + "\t\t";
+	protected final String TEXT_535 = "g";
+	protected final String TEXT_536 = " = createEGenericType(";
+	protected final String TEXT_537 = ");";
+	protected final String TEXT_538 = NL + "\t\tg";
+	protected final String TEXT_539 = ".";
+	protected final String TEXT_540 = "(g";
+	protected final String TEXT_541 = ");";
+	protected final String TEXT_542 = NL + "\t\tinitEOperation(op, g1);";
+	protected final String TEXT_543 = NL;
+	protected final String TEXT_544 = NL + NL + "\t\t// Initialize enums and add enum literals";
+	protected final String TEXT_545 = NL + "\t\tinitEEnum(";
+	protected final String TEXT_546 = ", ";
+	protected final String TEXT_547 = ".class, \"";
+	protected final String TEXT_548 = "\");";
+	protected final String TEXT_549 = NL + "\t\taddEEnumLiteral(";
+	protected final String TEXT_550 = ", ";
+	protected final String TEXT_551 = ".";
+	protected final String TEXT_552 = ");";
+	protected final String TEXT_553 = NL;
+	protected final String TEXT_554 = NL + NL + "\t\t// Initialize data types";
+	protected final String TEXT_555 = NL + "\t\tinitEDataType(";
+	protected final String TEXT_556 = ", ";
+	protected final String TEXT_557 = ".class, \"";
+	protected final String TEXT_558 = "\", ";
+	protected final String TEXT_559 = ", ";
+	protected final String TEXT_560 = ", \"";
+	protected final String TEXT_561 = "\"";
+	protected final String TEXT_562 = ");";
+	protected final String TEXT_563 = NL + NL + "\t\t// Create resource" + NL + "\t\tcreateResource(";
+	protected final String TEXT_564 = ");";
+	protected final String TEXT_565 = NL + NL + "\t\t// Create annotations";
+	protected final String TEXT_566 = NL + "\t\t// ";
+	protected final String TEXT_567 = NL + "\t\tcreate";
+	protected final String TEXT_568 = "Annotations();";
+	protected final String TEXT_569 = NL + "\t}" + NL;
+	protected final String TEXT_570 = NL + "\t/**" + NL + "\t * Initializes the annotations for <b>";
+	protected final String TEXT_571 = "</b>." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void create";
+	protected final String TEXT_572 = "Annotations()" + NL + "\t{" + NL + "\t\tString source = ";
+	protected final String TEXT_573 = "null;";
+	protected final String TEXT_574 = "\"";
+	protected final String TEXT_575 = "\";";
+	protected final String TEXT_576 = "\t" + NL + "\t\taddAnnotation" + NL + "\t\t  (";
+	protected final String TEXT_577 = ", " + NL + "\t\t   source, " + NL + "\t\t   new String[] " + NL + "\t\t   {";
+	protected final String TEXT_578 = NL + "\t\t\t ";
+	protected final String TEXT_579 = ", ";
+	protected final String TEXT_580 = NL + "\t\t   }";
+	protected final String TEXT_581 = ");";
+	protected final String TEXT_582 = ",";
+	protected final String TEXT_583 = NL + "\t\t   new ";
+	protected final String TEXT_584 = "[] " + NL + "\t\t   {";
+	protected final String TEXT_585 = NL + "\t\t\t ";
+	protected final String TEXT_586 = ".createURI(";
+	protected final String TEXT_587 = ".";
+	protected final String TEXT_588 = "eNS_URI).appendFragment(\"";
+	protected final String TEXT_589 = "\")";
+	protected final String TEXT_590 = ",";
+	protected final String TEXT_591 = NL + "\t\t   });";
+	protected final String TEXT_592 = NL + "\t\taddAnnotation" + NL + "\t\t  (";
+	protected final String TEXT_593 = ", " + NL + "\t\t   ";
+	protected final String TEXT_594 = "new boolean[] { ";
+	protected final String TEXT_595 = " }";
+	protected final String TEXT_596 = "," + NL + "\t\t   ";
+	protected final String TEXT_597 = "null,";
+	protected final String TEXT_598 = "\"";
+	protected final String TEXT_599 = "\",";
+	protected final String TEXT_600 = NL + "\t\t   new String[] " + NL + "\t\t   {";
+	protected final String TEXT_601 = NL + "\t\t\t ";
+	protected final String TEXT_602 = ", ";
+	protected final String TEXT_603 = NL + "\t\t   }";
+	protected final String TEXT_604 = ");";
+	protected final String TEXT_605 = ",";
+	protected final String TEXT_606 = NL + "\t\t   new ";
+	protected final String TEXT_607 = "[] " + NL + "\t\t   {";
+	protected final String TEXT_608 = NL + "\t\t\t ";
+	protected final String TEXT_609 = ".createURI(";
+	protected final String TEXT_610 = ".";
+	protected final String TEXT_611 = "eNS_URI).appendFragment(\"";
+	protected final String TEXT_612 = "\")";
+	protected final String TEXT_613 = ",";
+	protected final String TEXT_614 = NL + "\t\t   });";
+	protected final String TEXT_615 = NL + "\t}" + NL;
+	protected final String TEXT_616 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate boolean isLoaded = false;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Laods the package and any sub-packages from their serialized form." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void loadPackage()" + NL + "\t{" + NL + "\t\tif (isLoaded) return;" + NL
+			+ "\t\tisLoaded = true;" + NL + "" + NL + "\t\t";
+	protected final String TEXT_617 = " url = getClass().getResource(packageFilename);" + NL + "\t\tif (url == null)"
+			+ NL + "\t\t{" + NL
+			+ "\t\t\tthrow new RuntimeException(\"Missing serialized package: \" + packageFilename);";
+	protected final String TEXT_618 = NL + "\t\t}" + NL + "\t\t";
+	protected final String TEXT_619 = " uri = ";
+	protected final String TEXT_620 = ".createURI(url.toString());" + NL + "\t\t";
+	protected final String TEXT_621 = " resource = new ";
+	protected final String TEXT_622 = "().createResource(uri);" + NL + "\t\ttry" + NL + "\t\t{" + NL
+			+ "\t\t\tresource.load(null);" + NL + "\t\t}" + NL + "\t\tcatch (";
+	protected final String TEXT_623 = " exception)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";
+	protected final String TEXT_624 = "(exception);" + NL + "\t\t}" + NL + "\t\tinitializeFromLoadedEPackage(this, (";
+	protected final String TEXT_625 = ")resource.getContents().get(0));" + NL + "\t\tcreateResource(eNS_URI);" + NL
+			+ "\t}" + NL;
+	protected final String TEXT_626 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprivate boolean isFixed = false;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Fixes up the loaded package, to make it appear as if it had been programmatically built." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic void fixPackageContents()" + NL + "\t{" + NL + "\t\tif (isFixed) return;" + NL
+			+ "\t\tisFixed = true;" + NL + "\t\tfixEClassifiers();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Sets the instance class on the given classifier." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_627 = NL + "\t@Override";
+	protected final String TEXT_628 = NL + "\tprotected void fixInstanceClass(";
+	protected final String TEXT_629 = " eClassifier)" + NL + "\t{" + NL
+			+ "\t\tif (eClassifier.getInstanceClassName() == null)" + NL + "\t\t{";
+	protected final String TEXT_630 = NL + "\t\t\teClassifier.setInstanceClassName(\"";
+	protected final String TEXT_631 = ".\" + eClassifier.getName());";
+	protected final String TEXT_632 = NL + "\t\t\tsetGeneratedClassName(eClassifier);";
+	protected final String TEXT_633 = NL + "\t\t\tswitch (eClassifier.getClassifierID())" + NL + "\t\t\t{";
+	protected final String TEXT_634 = NL + "\t\t\t\tcase ";
+	protected final String TEXT_635 = ":";
+	protected final String TEXT_636 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tbreak;" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t\tdefault:" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\teClassifier.setInstanceClassName(\"";
+	protected final String TEXT_637 = ".\" + eClassifier.getName());";
+	protected final String TEXT_638 = NL + "\t\t\t\t\tsetGeneratedClassName(eClassifier);" + NL + "\t\t\t\t\tbreak;"
+			+ NL + "\t\t\t\t}" + NL + "\t\t\t}";
+	protected final String TEXT_639 = NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_640 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_641 = " addEOperation(";
+	protected final String TEXT_642 = " owner, ";
+	protected final String TEXT_643 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"
+			+ NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_644 = " o = addEOperation(owner, type, name, lowerBound, upperBound);" + NL
+			+ "\t\to.setUnique(isUnique);" + NL + "\t\to.setOrdered(isOrdered);" + NL + "\t\treturn o;" + NL + "\t}"
+			+ NL + "\t";
+	protected final String TEXT_645 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_646 = " addEParameter(";
+	protected final String TEXT_647 = " owner, ";
+	protected final String TEXT_648 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"
+			+ NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_649 = " p = ecoreFactory.createEParameter();" + NL + "\t\tp.setEType(type);" + NL
+			+ "\t\tp.setName(name);" + NL + "\t\tp.setLowerBound(lowerBound);" + NL + "\t\tp.setUpperBound(upperBound);"
+			+ NL + "\t\tp.setUnique(isUnique);" + NL + "\t\tp.setOrdered(isOrdered);" + NL
+			+ "\t\towner.getEParameters().add(p);" + NL + "\t\treturn p;" + NL + "\t}" + NL + "\t";
+	protected final String TEXT_650 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * Defines literals for the meta objects that represent" + NL + "\t * <ul>" + NL
+			+ "\t *   <li>each class,</li>" + NL + "\t *   <li>each feature of each class,</li>";
+	protected final String TEXT_651 = NL + "\t *   <li>each operation of each class,</li>";
+	protected final String TEXT_652 = NL + "\t *   <li>each enum,</li>" + NL + "\t *   <li>and each data type</li>" + NL
+			+ "\t * </ul>" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
+	protected final String TEXT_653 = "public ";
+	protected final String TEXT_654 = "interface Literals" + NL + "\t{";
+	protected final String TEXT_655 = NL + "\t\t/**";
+	protected final String TEXT_656 = NL + "\t\t * The meta object literal for the '{@link ";
+	protected final String TEXT_657 = " <em>";
+	protected final String TEXT_658 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
+	protected final String TEXT_659 = NL + "\t\t * The meta object literal for the '{@link ";
+	protected final String TEXT_660 = " <em>";
+	protected final String TEXT_661 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
+	protected final String TEXT_662 = NL + "\t\t * The meta object literal for the '{@link ";
+	protected final String TEXT_663 = " <em>";
+	protected final String TEXT_664 = "</em>}' enum." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
+	protected final String TEXT_665 = NL + "\t\t * The meta object literal for the '<em>";
+	protected final String TEXT_666 = "</em>' data type." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->";
+	protected final String TEXT_667 = NL + "\t\t * @see ";
+	protected final String TEXT_668 = NL + "\t\t * @see ";
+	protected final String TEXT_669 = "#get";
+	protected final String TEXT_670 = "()" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";
+	protected final String TEXT_671 = " ";
+	protected final String TEXT_672 = " = eINSTANCE.get";
+	protected final String TEXT_673 = "();" + NL;
+	protected final String TEXT_674 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";
+	protected final String TEXT_675 = "</b></em>' ";
+	protected final String TEXT_676 = " feature." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";
+	protected final String TEXT_677 = " ";
+	protected final String TEXT_678 = " = eINSTANCE.get";
+	protected final String TEXT_679 = "();" + NL;
+	protected final String TEXT_680 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";
+	protected final String TEXT_681 = "</b></em>' operation." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";
+	protected final String TEXT_682 = " ";
+	protected final String TEXT_683 = " = eINSTANCE.get";
+	protected final String TEXT_684 = "();" + NL;
+	protected final String TEXT_685 = NL + "\t}" + NL;
+	protected final String TEXT_686 = NL + "} //";
+	protected final String TEXT_687 = NL;
+	protected final String TEXT_688 = NL;
+	protected final String TEXT_689 = NL;
+
+	public PackageInterface() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_688);
+		stringBuffer.append(TEXT_689);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getModelDirectory();
+		packageName = genPackage.getReflectionPackageName();
+		className = genPackage.getPackageInterfaceName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = ((Object[]) new Object[] { new Object[] { genPackage, Boolean.TRUE, Boolean.FALSE } })[0];
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2010 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		final GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];
+		final GenModel genModel = genPackage.getGenModel();
+		boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
+		boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
+		String publicStaticFinalFlag = isImplementation ? "public static final " : "";
+		boolean needsAddEOperation = false;
+		boolean needsAddEParameter = false;
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		if (isImplementation && !genModel.isSuppressInterfaces()) {
+			stringBuffer.append(TEXT_2);
+			stringBuffer.append(genPackage.getClassPackageName());
+			stringBuffer.append(TEXT_3);
+		} else {
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(genPackage.getReflectionPackageName());
+			stringBuffer.append(TEXT_5);
+		}
+		stringBuffer.append(TEXT_6);
+		genModel.markImportLocation(stringBuffer, genPackage);
+		if (isImplementation) {
+			genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Registry");
+			genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Descriptor");
+			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.EPackageImpl.EBasicWhiteList");
+			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");
+			genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");
+			if (genPackage.isLiteralsInterface()) {
+				genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + ".Literals");
+			}
+			for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers())
+				genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + "."
+						+ genPackage.getClassifierID(genClassifier));
+		}
+		if (isInterface) {
+			stringBuffer.append(TEXT_7);
+			if (genModel.isOperationReflection()) {
+				stringBuffer.append(TEXT_8);
+			}
+			stringBuffer.append(TEXT_9);
+			if (genPackage.hasDocumentation()) {
+				stringBuffer.append(TEXT_10);
+				stringBuffer.append(genPackage.getDocumentation(genModel.getIndentation(stringBuffer)));
+				stringBuffer.append(TEXT_11);
+			}
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genPackage.getQualifiedFactoryInterfaceName());
+			if (!genModel.isSuppressEMFModelTags()) {
+				boolean first = true;
+				for (StringTokenizer stringTokenizer = new StringTokenizer(genPackage.getModelInfo(),
+						"\n\r"); stringTokenizer.hasMoreTokens();) {
+					String modelInfo = stringTokenizer.nextToken();
+					if (first) {
+						first = false;
+						stringBuffer.append(TEXT_13);
+						stringBuffer.append(modelInfo);
+					} else {
+						stringBuffer.append(TEXT_14);
+						stringBuffer.append(modelInfo);
+					}
+				}
+				if (first) {
+					stringBuffer.append(TEXT_15);
+				}
+			}
+			stringBuffer.append(TEXT_16);
+		} else {
+			stringBuffer.append(TEXT_17);
+		}
+		if (isImplementation) {
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(genPackage.getPackageClassName());
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl"));
+			if (!isInterface) {
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			}
+		} else {
+			stringBuffer.append(TEXT_21);
+			stringBuffer.append(genPackage.getPackageInterfaceName());
+			stringBuffer.append(TEXT_22);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+		}
+		stringBuffer.append(TEXT_23);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_26);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_27);
+		}
+		if (isInterface) {
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_29);
+			stringBuffer.append(genPackage.getPackageName());
+			stringBuffer.append(TEXT_30);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_31);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_32);
+			stringBuffer.append(genPackage.getNSURI());
+			stringBuffer.append(TEXT_33);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_34);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_35);
+			stringBuffer.append(genPackage.getNSName());
+			stringBuffer.append(TEXT_36);
+			stringBuffer.append(genModel.getNonNLS());
+			if (genPackage.isContentType()) {
+				stringBuffer.append(TEXT_37);
+				stringBuffer.append(publicStaticFinalFlag);
+				stringBuffer.append(genModel.getImportedName("java.lang.String"));
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genPackage.getContentTypeIdentifier());
+				stringBuffer.append(TEXT_39);
+				stringBuffer.append(genModel.getNonNLS());
+			}
+			stringBuffer.append(TEXT_40);
+			stringBuffer.append(publicStaticFinalFlag);
+			stringBuffer.append(genPackage.getPackageInterfaceName());
+			stringBuffer.append(TEXT_41);
+			stringBuffer.append(genPackage.getQualifiedPackageClassName());
+			stringBuffer.append(TEXT_42);
+			for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {
+				stringBuffer.append(TEXT_43);
+				if (genClassifier instanceof GenClass) {
+					GenClass genClass = (GenClass) genClassifier;
+					if (!genClass.isInterface()) {
+						stringBuffer.append(TEXT_44);
+						stringBuffer.append(genClass.getQualifiedClassName());
+						stringBuffer.append(TEXT_45);
+						stringBuffer.append(genClass.getFormattedName());
+						stringBuffer.append(TEXT_46);
+						stringBuffer.append(genClass.getQualifiedClassName());
+					} else {
+						stringBuffer.append(TEXT_47);
+						stringBuffer.append(genClass.getQualifiedInterfaceName());
+						stringBuffer.append(TEXT_48);
+						stringBuffer.append(genClass.getFormattedName());
+						stringBuffer.append(TEXT_49);
+						stringBuffer.append(genClass.getQualifiedInterfaceName());
+					}
+				} else if (genClassifier instanceof GenEnum) {
+					GenEnum genEnum = (GenEnum) genClassifier;
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(genEnum.getQualifiedName());
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(genEnum.getFormattedName());
+					stringBuffer.append(TEXT_52);
+					stringBuffer.append(genEnum.getQualifiedName());
+				} else if (genClassifier instanceof GenDataType) {
+					GenDataType genDataType = (GenDataType) genClassifier;
+					stringBuffer.append(TEXT_53);
+					stringBuffer.append(genDataType.getFormattedName());
+					stringBuffer.append(TEXT_54);
+					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(genDataType.getRawInstanceClassName());
+					}
+				}
+				stringBuffer.append(TEXT_56);
+				stringBuffer.append(genPackage.getQualifiedPackageClassName());
+				stringBuffer.append(TEXT_57);
+				stringBuffer.append(genClassifier.getClassifierAccessorName());
+				stringBuffer.append(TEXT_58);
+				stringBuffer.append(publicStaticFinalFlag);
+				stringBuffer.append(TEXT_59);
+				stringBuffer.append(genPackage.getClassifierID(genClassifier));
+				stringBuffer.append(TEXT_60);
+				stringBuffer.append(genPackage.getClassifierValue(genClassifier));
+				stringBuffer.append(TEXT_61);
+				if (genClassifier instanceof GenClass) {
+					GenClass genClass = (GenClass) genClassifier;
+					for (GenFeature genFeature : genClass.getAllGenFeatures()) {
+						stringBuffer.append(TEXT_62);
+						stringBuffer.append(genFeature.getFormattedName());
+						stringBuffer.append(TEXT_63);
+						stringBuffer.append(genFeature.getFeatureKind());
+						stringBuffer.append(TEXT_64);
+						stringBuffer.append(publicStaticFinalFlag);
+						stringBuffer.append(TEXT_65);
+						stringBuffer.append(genClass.getFeatureID(genFeature));
+						stringBuffer.append(TEXT_66);
+						stringBuffer.append(genClass.getFeatureValue(genFeature));
+						stringBuffer.append(TEXT_67);
+					}
+					stringBuffer.append(TEXT_68);
+					stringBuffer.append(genClass.getFormattedName());
+					stringBuffer.append(TEXT_69);
+					stringBuffer.append(publicStaticFinalFlag);
+					stringBuffer.append(TEXT_70);
+					stringBuffer.append(genClass.getFeatureCountID());
+					stringBuffer.append(TEXT_71);
+					stringBuffer.append(genClass.getFeatureCountValue());
+					stringBuffer.append(TEXT_72);
+					if (genModel.isOperationReflection()) {
+						for (GenOperation genOperation : genClass.getAllGenOperations(false)) {
+							if (genClass.getOverrideGenOperation(genOperation) == null) {
+								stringBuffer.append(TEXT_73);
+								stringBuffer.append(genOperation.getFormattedName());
+								stringBuffer.append(TEXT_74);
+								stringBuffer.append(publicStaticFinalFlag);
+								stringBuffer.append(TEXT_75);
+								stringBuffer.append(genClass.getOperationID(genOperation, false));
+								stringBuffer.append(TEXT_76);
+								stringBuffer.append(genClass.getOperationValue(genOperation));
+								stringBuffer.append(TEXT_77);
+							}
+						}
+						stringBuffer.append(TEXT_78);
+						stringBuffer.append(genClass.getFormattedName());
+						stringBuffer.append(TEXT_79);
+						stringBuffer.append(publicStaticFinalFlag);
+						stringBuffer.append(TEXT_80);
+						stringBuffer.append(genClass.getOperationCountID());
+						stringBuffer.append(TEXT_81);
+						stringBuffer.append(genClass.getOperationCountValue());
+						stringBuffer.append(TEXT_82);
+					}
+				}
+			}
+		}
+		if (isImplementation) {
+			if (genPackage.isLoadingInitialization()) {
+				stringBuffer.append(TEXT_83);
+				stringBuffer.append(genPackage.getSerializedPackageFilename());
+				stringBuffer.append(TEXT_84);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(TEXT_85);
+			}
+			for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+				stringBuffer.append(TEXT_86);
+				stringBuffer.append(genClassifier.getImportedMetaType());
+				stringBuffer.append(TEXT_87);
+				stringBuffer.append(genClassifier.getClassifierInstanceName());
+				stringBuffer.append(TEXT_88);
+			}
+			stringBuffer.append(TEXT_89);
+			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+			stringBuffer.append(TEXT_90);
+			stringBuffer.append(genPackage.getPackageClassName());
+			stringBuffer.append(TEXT_91);
+			stringBuffer.append(genPackage.getQualifiedEFactoryInstanceAccessor());
+			stringBuffer.append(TEXT_92);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_93);
+			if (!genPackage.isLoadedInitialization()) {
+				stringBuffer.append(TEXT_94);
+			}
+			stringBuffer.append(TEXT_95);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_96);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_97);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_98);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_99);
+			if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+				stringBuffer.append(TEXT_100);
+			}
+			stringBuffer.append(TEXT_101);
+			stringBuffer.append(genPackage.getPackageClassName());
+			stringBuffer.append(TEXT_102);
+			stringBuffer.append(genPackage.getBasicPackageName());
+			stringBuffer.append(TEXT_103);
+			stringBuffer.append(genPackage.getPackageClassName());
+			stringBuffer.append(TEXT_104);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_105);
+			stringBuffer.append(genPackage.getPackageClassName());
+			stringBuffer.append(TEXT_106);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_107);
+			stringBuffer.append(genPackage.getPackageClassName());
+			stringBuffer.append(TEXT_108);
+			if (!genPackage.getPackageSimpleDependencies().isEmpty()) {
+				stringBuffer.append(TEXT_109);
+				for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {
+					stringBuffer.append(TEXT_110);
+					stringBuffer.append(dep.getImportedPackageInterfaceName());
+					stringBuffer.append(TEXT_111);
+				}
+				stringBuffer.append(TEXT_112);
+			}
+			if (!genPackage.getPackageInterDependencies().isEmpty()) {
+				stringBuffer.append(TEXT_113);
+				for (GenPackage interdep : genPackage.getPackageInterDependencies()) {
+					stringBuffer.append(TEXT_114);
+					stringBuffer.append(interdep.getImportedPackageClassName());
+					stringBuffer.append(TEXT_115);
+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+					stringBuffer.append(TEXT_116);
+					stringBuffer.append(interdep.getImportedPackageClassName());
+					stringBuffer.append(TEXT_117);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+					stringBuffer.append(TEXT_118);
+					stringBuffer.append(interdep.getImportedPackageInterfaceName());
+					stringBuffer.append(TEXT_119);
+					stringBuffer.append(interdep.getImportedPackageClassName());
+					stringBuffer.append(TEXT_120);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+					stringBuffer.append(TEXT_121);
+					stringBuffer.append(interdep.getImportedPackageInterfaceName());
+					stringBuffer.append(TEXT_122);
+					stringBuffer.append(interdep.getImportedPackageInterfaceName());
+					stringBuffer.append(TEXT_123);
+				}
+				stringBuffer.append(TEXT_124);
+			}
+			if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {
+				stringBuffer.append(TEXT_125);
+				if (genPackage.isLoadingInitialization()) {
+					stringBuffer.append(TEXT_126);
+					stringBuffer.append(genPackage.getBasicPackageName());
+					stringBuffer.append(TEXT_127);
+				}
+				for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {
+					if (interdep.isLoadingInitialization()) {
+						stringBuffer.append(TEXT_128);
+						stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+						stringBuffer.append(TEXT_129);
+					}
+				}
+				stringBuffer.append(TEXT_130);
+			}
+			if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {
+				stringBuffer.append(TEXT_131);
+				if (!genPackage.isLoadedInitialization()) {
+					stringBuffer.append(TEXT_132);
+					stringBuffer.append(genPackage.getBasicPackageName());
+					stringBuffer.append(TEXT_133);
+				}
+				for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {
+					stringBuffer.append(TEXT_134);
+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+					stringBuffer.append(TEXT_135);
+				}
+				stringBuffer.append(TEXT_136);
+				if (!genPackage.isLoadedInitialization()) {
+					stringBuffer.append(TEXT_137);
+					stringBuffer.append(genPackage.getBasicPackageName());
+					stringBuffer.append(TEXT_138);
+				}
+				for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {
+					stringBuffer.append(TEXT_139);
+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+					stringBuffer.append(TEXT_140);
+				}
+				stringBuffer.append(TEXT_141);
+			}
+			if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {
+				stringBuffer.append(TEXT_142);
+				if (genPackage.isLoadedInitialization()) {
+					stringBuffer.append(TEXT_143);
+					stringBuffer.append(genPackage.getBasicPackageName());
+					stringBuffer.append(TEXT_144);
+				}
+				for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {
+					stringBuffer.append(TEXT_145);
+					stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
+					stringBuffer.append(TEXT_146);
+				}
+				stringBuffer.append(TEXT_147);
+			}
+			if (genPackage.hasConstraints()) {
+				stringBuffer.append(TEXT_148);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
+				stringBuffer.append(TEXT_149);
+				stringBuffer.append(genPackage.getBasicPackageName());
+				stringBuffer.append(TEXT_150);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
+				stringBuffer.append(TEXT_151);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
+				stringBuffer.append(TEXT_152);
+				stringBuffer.append(genPackage.getImportedValidatorClassName());
+				stringBuffer.append(TEXT_153);
+			}
+			if (!genPackage.isEcorePackage()) {
+				stringBuffer.append(TEXT_154);
+				stringBuffer.append(genPackage.getBasicPackageName());
+				stringBuffer.append(TEXT_155);
+			}
+			stringBuffer.append(TEXT_156);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_157);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_158);
+			stringBuffer.append(genPackage.getBasicPackageName());
+			stringBuffer.append(TEXT_159);
+			stringBuffer.append(genPackage.getBasicPackageName());
+			stringBuffer.append(TEXT_160);
+			if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+				stringBuffer.append(TEXT_161);
+				Set<String> helpers = new HashSet<String>();
+				for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+					if (genClassifier instanceof GenClass) {
+						GenClass genClass = (GenClass) genClassifier;
+						if (!genClass.isDynamic()) {
+							String theClass = genClass.isMapEntry() ? genClass.getImportedClassName()
+									: genClass.getRawImportedInterfaceName();
+							if (helpers.add(theClass)) {
+								stringBuffer.append(TEXT_162);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+								stringBuffer.append(TEXT_163);
+								stringBuffer.append(theClass);
+								stringBuffer.append(TEXT_164);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+								stringBuffer.append(TEXT_165);
+								stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()
+										: genClass.getRawImportedInterfaceName()
+												+ genClass.getInterfaceWildTypeArguments());
+								stringBuffer.append(TEXT_166);
+								stringBuffer.append(theClass);
+								stringBuffer.append(TEXT_167);
+							}
+						}
+					} else if (genClassifier instanceof GenDataType) {
+						GenDataType genDataType = (GenDataType) genClassifier;
+						if (!genDataType.isPrimitiveType() && !genDataType.isObjectType()) {
+							String theClass = genDataType.getRawImportedInstanceClassName();
+							if (helpers.add(theClass)) {
+								stringBuffer.append(TEXT_168);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+								stringBuffer.append(TEXT_169);
+								stringBuffer.append(theClass);
+								stringBuffer.append(TEXT_170);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
+								stringBuffer.append(TEXT_171);
+								stringBuffer.append(theClass);
+								stringBuffer.append(TEXT_172);
+								if (genDataType.isArrayType()) {
+									String componentType = theClass;
+									String indices = "";
+									while (componentType.endsWith("[]")) {
+										componentType = componentType.substring(0, componentType.length() - 2);
+										indices += "[]";
+									}
+									stringBuffer.append(TEXT_173);
+									stringBuffer.append(componentType);
+									stringBuffer.append(TEXT_174);
+									stringBuffer.append(indices);
+									stringBuffer.append(TEXT_175);
+								} else {
+									stringBuffer.append(TEXT_176);
+									stringBuffer.append(theClass);
+									stringBuffer.append(TEXT_177);
+								}
+								stringBuffer.append(TEXT_178);
+							}
+						}
+					}
+				}
+				stringBuffer.append(TEXT_179);
+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable"));
+				stringBuffer.append(TEXT_180);
+				for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+					if (genClassifier instanceof GenClass) {
+						GenClass genClass = (GenClass) genClassifier;
+						if (!genClass.isDynamic()) {
+							stringBuffer.append(TEXT_181);
+							stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()
+									: genClass.getImportedWildcardInstanceClassName());
+							stringBuffer.append(TEXT_182);
+							stringBuffer.append(genClass.getSafeUncapName());
+							stringBuffer.append(TEXT_183);
+						}
+					} else if (genClassifier instanceof GenDataType) {
+						GenDataType genDataType = (GenDataType) genClassifier;
+						if (!genDataType.isObjectType() && genDataType.isSerializable()) {
+							stringBuffer.append(TEXT_184);
+							stringBuffer.append(genDataType.getImportedWildcardInstanceClassName());
+							stringBuffer.append(TEXT_185);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_186);
+						}
+					}
+				}
+				stringBuffer.append(TEXT_187);
+			}
+			stringBuffer.append(TEXT_188);
+		}
+		if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE
+			stringBuffer.append(TEXT_189);
+		}
+		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+			if (isInterface) {
+				stringBuffer.append(TEXT_190);
+				if (genClassifier instanceof GenClass) {
+					GenClass genClass = (GenClass) genClassifier;
+					stringBuffer.append(TEXT_191);
+					stringBuffer.append(genClass.getQualifiedInterfaceName());
+					stringBuffer.append(TEXT_192);
+					stringBuffer.append(genClass.getFormattedName());
+					stringBuffer.append(TEXT_193);
+					stringBuffer.append(genClass.getFormattedName());
+					stringBuffer.append(TEXT_194);
+					stringBuffer.append(genClass.getQualifiedInterfaceName());
+					if (!genModel.isSuppressEMFModelTags()
+							&& (genClass.isExternalInterface() || genClass.isDynamic())) {
+						boolean first = true;
+						for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(),
+								"\n\r"); stringTokenizer.hasMoreTokens();) {
+							String modelInfo = stringTokenizer.nextToken();
+							if (first) {
+								first = false;
+								stringBuffer.append(TEXT_195);
+								stringBuffer.append(modelInfo);
+							} else {
+								stringBuffer.append(TEXT_196);
+								stringBuffer.append(modelInfo);
+							}
+						}
+						if (first) {
+							stringBuffer.append(TEXT_197);
+						}
+					}
+				} else if (genClassifier instanceof GenEnum) {
+					GenEnum genEnum = (GenEnum) genClassifier;
+					stringBuffer.append(TEXT_198);
+					stringBuffer.append(genEnum.getQualifiedName());
+					stringBuffer.append(TEXT_199);
+					stringBuffer.append(genEnum.getFormattedName());
+					stringBuffer.append(TEXT_200);
+					stringBuffer.append(genEnum.getFormattedName());
+					stringBuffer.append(TEXT_201);
+					stringBuffer.append(genEnum.getQualifiedName());
+				} else if (genClassifier instanceof GenDataType) {
+					GenDataType genDataType = (GenDataType) genClassifier;
+					if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {
+						stringBuffer.append(TEXT_202);
+						stringBuffer.append(genDataType.getFormattedName());
+						stringBuffer.append(TEXT_203);
+					} else {
+						stringBuffer.append(TEXT_204);
+						stringBuffer.append(genDataType.getRawInstanceClassName());
+						stringBuffer.append(TEXT_205);
+						stringBuffer.append(genDataType.getFormattedName());
+						stringBuffer.append(TEXT_206);
+					}
+					stringBuffer.append(TEXT_207);
+					stringBuffer.append(genDataType.getFormattedName());
+					stringBuffer.append(TEXT_208);
+					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
+						stringBuffer.append(TEXT_209);
+						stringBuffer.append(genDataType.getRawInstanceClassName());
+					}
+					if (!genModel.isSuppressEMFModelTags()) {
+						boolean first = true;
+						for (StringTokenizer stringTokenizer = new StringTokenizer(genDataType.getModelInfo(),
+								"\n\r"); stringTokenizer.hasMoreTokens();) {
+							String modelInfo = stringTokenizer.nextToken();
+							if (first) {
+								first = false;
+								stringBuffer.append(TEXT_210);
+								stringBuffer.append(modelInfo);
+							} else {
+								stringBuffer.append(TEXT_211);
+								stringBuffer.append(modelInfo);
+							}
+						}
+						if (first) {
+							stringBuffer.append(TEXT_212);
+						}
+					}
+				}
+				stringBuffer.append(TEXT_213);
+			} else {
+				stringBuffer.append(TEXT_214);
+			}
+			if (isImplementation) {
+				stringBuffer.append(TEXT_215);
+				stringBuffer.append(genClassifier.getImportedMetaType());
+				stringBuffer.append(TEXT_216);
+				stringBuffer.append(genClassifier.getClassifierAccessorName());
+				stringBuffer.append(TEXT_217);
+				if (genPackage.isLoadedInitialization()) {
+					stringBuffer.append(TEXT_218);
+					stringBuffer.append(genClassifier.getClassifierInstanceName());
+					stringBuffer.append(TEXT_219);
+					stringBuffer.append(genClassifier.getClassifierInstanceName());
+					stringBuffer.append(TEXT_220);
+					stringBuffer.append(genClassifier.getImportedMetaType());
+					stringBuffer.append(TEXT_221);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+					stringBuffer.append(TEXT_222);
+					stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+					stringBuffer.append(TEXT_223);
+					stringBuffer.append(genPackage.getLocalClassifierIndex(genClassifier));
+					stringBuffer.append(TEXT_224);
+				}
+				stringBuffer.append(TEXT_225);
+				stringBuffer.append(genClassifier.getClassifierInstanceName());
+				stringBuffer.append(TEXT_226);
+			} else {
+				stringBuffer.append(TEXT_227);
+				stringBuffer.append(genClassifier.getImportedMetaType());
+				stringBuffer.append(TEXT_228);
+				stringBuffer.append(genClassifier.getClassifierAccessorName());
+				stringBuffer.append(TEXT_229);
+			}
+			if (genClassifier instanceof GenClass) {
+				GenClass genClass = (GenClass) genClassifier;
+				for (GenFeature genFeature : genClass.getGenFeatures()) {
+					if (isInterface) {
+						stringBuffer.append(TEXT_230);
+						stringBuffer.append(genFeature.getFeatureKind());
+						stringBuffer.append(TEXT_231);
+						stringBuffer.append(genClass.getQualifiedInterfaceName());
+						if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {
+							stringBuffer.append(TEXT_232);
+							stringBuffer.append(genFeature.getGetAccessor());
+						}
+						stringBuffer.append(TEXT_233);
+						stringBuffer.append(genFeature.getFormattedName());
+						stringBuffer.append(TEXT_234);
+						stringBuffer.append(genFeature.getFeatureKind());
+						stringBuffer.append(TEXT_235);
+						stringBuffer.append(genFeature.getFormattedName());
+						stringBuffer.append(TEXT_236);
+						stringBuffer.append(genClass.getQualifiedInterfaceName());
+						if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {
+							stringBuffer.append(TEXT_237);
+							stringBuffer.append(genFeature.getGetAccessor());
+							stringBuffer.append(TEXT_238);
+						}
+						stringBuffer.append(TEXT_239);
+						stringBuffer.append(genClass.getClassifierAccessorName());
+						stringBuffer.append(TEXT_240);
+					} else {
+						stringBuffer.append(TEXT_241);
+					}
+					if (isImplementation) {
+						stringBuffer.append(TEXT_242);
+						stringBuffer.append(genFeature.getImportedMetaType());
+						stringBuffer.append(TEXT_243);
+						stringBuffer.append(genFeature.getFeatureAccessorName());
+						stringBuffer.append(TEXT_244);
+						if (!genPackage.isLoadedInitialization()) {
+							stringBuffer.append(TEXT_245);
+							stringBuffer.append(genFeature.getImportedMetaType());
+							stringBuffer.append(TEXT_246);
+							stringBuffer.append(genClass.getClassifierInstanceName());
+							stringBuffer.append(TEXT_247);
+							stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));
+							stringBuffer.append(TEXT_248);
+						} else {
+							stringBuffer.append(TEXT_249);
+							stringBuffer.append(genFeature.getImportedMetaType());
+							stringBuffer.append(TEXT_250);
+							stringBuffer.append(genClassifier.getClassifierAccessorName());
+							stringBuffer.append(TEXT_251);
+							stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));
+							stringBuffer.append(TEXT_252);
+						}
+						stringBuffer.append(TEXT_253);
+					} else {
+						stringBuffer.append(TEXT_254);
+						stringBuffer.append(genFeature.getImportedMetaType());
+						stringBuffer.append(TEXT_255);
+						stringBuffer.append(genFeature.getFeatureAccessorName());
+						stringBuffer.append(TEXT_256);
+					}
+					stringBuffer.append(TEXT_257);
+				}
+				if (genModel.isOperationReflection()) {
+					for (GenOperation genOperation : genClass.getGenOperations()) {
+						if (isInterface) {
+							stringBuffer.append(TEXT_258);
+							stringBuffer.append(genClass.getQualifiedInterfaceName());
+							stringBuffer.append(TEXT_259);
+							stringBuffer.append(genOperation.getName());
+							stringBuffer.append(TEXT_260);
+							stringBuffer.append(genOperation.getParameterTypes(", "));
+							stringBuffer.append(TEXT_261);
+							stringBuffer.append(genOperation.getFormattedName());
+							stringBuffer.append(TEXT_262);
+							stringBuffer.append(genOperation.getFormattedName());
+							stringBuffer.append(TEXT_263);
+							stringBuffer.append(genClass.getQualifiedInterfaceName());
+							stringBuffer.append(TEXT_264);
+							stringBuffer.append(genOperation.getName());
+							stringBuffer.append(TEXT_265);
+							stringBuffer.append(genOperation.getParameterTypes(", "));
+							stringBuffer.append(TEXT_266);
+						} else {
+							stringBuffer.append(TEXT_267);
+						}
+						if (isImplementation) {
+							stringBuffer.append(TEXT_268);
+							stringBuffer.append(genOperation.getImportedMetaType());
+							stringBuffer.append(TEXT_269);
+							stringBuffer.append(genOperation.getOperationAccessorName());
+							stringBuffer.append(TEXT_270);
+							if (!genPackage.isLoadedInitialization()) {
+								stringBuffer.append(TEXT_271);
+								stringBuffer.append(genClass.getClassifierInstanceName());
+								stringBuffer.append(TEXT_272);
+								stringBuffer.append(genClass.getLocalOperationIndex(genOperation));
+								stringBuffer.append(TEXT_273);
+							} else {
+								stringBuffer.append(TEXT_274);
+								stringBuffer.append(genClassifier.getClassifierAccessorName());
+								stringBuffer.append(TEXT_275);
+								stringBuffer.append(genClass.getLocalOperationIndex(genOperation));
+								stringBuffer.append(TEXT_276);
+							}
+							stringBuffer.append(TEXT_277);
+						} else {
+							stringBuffer.append(TEXT_278);
+							stringBuffer.append(genOperation.getImportedMetaType());
+							stringBuffer.append(TEXT_279);
+							stringBuffer.append(genOperation.getOperationAccessorName());
+							stringBuffer.append(TEXT_280);
+						}
+						stringBuffer.append(TEXT_281);
+					}
+				}
+			}
+		}
+		if (isInterface) {
+			stringBuffer.append(TEXT_282);
+		} else {
+			stringBuffer.append(TEXT_283);
+		}
+		if (isImplementation) {
+			stringBuffer.append(TEXT_284);
+			stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
+			stringBuffer.append(TEXT_285);
+			stringBuffer.append(genPackage.getFactoryName());
+			stringBuffer.append(TEXT_286);
+			stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
+			stringBuffer.append(TEXT_287);
+		} else {
+			stringBuffer.append(TEXT_288);
+			stringBuffer.append(genPackage.getFactoryInterfaceName());
+			stringBuffer.append(TEXT_289);
+			stringBuffer.append(genPackage.getFactoryName());
+			stringBuffer.append(TEXT_290);
+		}
+		stringBuffer.append(TEXT_291);
+		if (isImplementation) {
+			if (!genPackage.isLoadedInitialization()) {
+				stringBuffer.append(TEXT_292);
+				if (!genPackage.getGenClasses().isEmpty()) {
+					stringBuffer.append(TEXT_293);
+					for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {
+						GenClass genClass = c.next();
+						stringBuffer.append(TEXT_294);
+						stringBuffer.append(genClass.getClassifierInstanceName());
+						stringBuffer.append(TEXT_295);
+						stringBuffer.append(genClass.getMetaType());
+						stringBuffer.append(TEXT_296);
+						stringBuffer.append(genClass.getClassifierID());
+						stringBuffer.append(TEXT_297);
+						for (GenFeature genFeature : genClass.getGenFeatures()) {
+							stringBuffer.append(TEXT_298);
+							stringBuffer.append(genFeature.getMetaType());
+							stringBuffer.append(TEXT_299);
+							stringBuffer.append(genClass.getClassifierInstanceName());
+							stringBuffer.append(TEXT_300);
+							stringBuffer.append(genClass.getFeatureID(genFeature));
+							stringBuffer.append(TEXT_301);
+						}
+						if (genModel.isOperationReflection()) {
+							for (GenOperation genOperation : genClass.getGenOperations()) {
+								stringBuffer.append(TEXT_302);
+								stringBuffer.append(genClass.getClassifierInstanceName());
+								stringBuffer.append(TEXT_303);
+								stringBuffer.append(genClass.getOperationID(genOperation, false));
+								stringBuffer.append(TEXT_304);
+							}
+						}
+						if (c.hasNext()) {
+							stringBuffer.append(TEXT_305);
+						}
+					}
+				}
+				if (!genPackage.getGenEnums().isEmpty()) {
+					stringBuffer.append(TEXT_306);
+					for (GenEnum genEnum : genPackage.getGenEnums()) {
+						stringBuffer.append(TEXT_307);
+						stringBuffer.append(genEnum.getClassifierInstanceName());
+						stringBuffer.append(TEXT_308);
+						stringBuffer.append(genEnum.getClassifierID());
+						stringBuffer.append(TEXT_309);
+					}
+				}
+				if (!genPackage.getGenDataTypes().isEmpty()) {
+					stringBuffer.append(TEXT_310);
+					for (GenDataType genDataType : genPackage.getGenDataTypes()) {
+						stringBuffer.append(TEXT_311);
+						stringBuffer.append(genDataType.getClassifierInstanceName());
+						stringBuffer.append(TEXT_312);
+						stringBuffer.append(genDataType.getClassifierID());
+						stringBuffer.append(TEXT_313);
+					}
+				}
+				stringBuffer.append(TEXT_314);
+
+				///////////////////////
+				class Information {
+					@SuppressWarnings("unused")
+					EGenericType eGenericType;
+					int depth;
+					String type;
+					String accessor;
+				}
+
+				class InformationIterator {
+					Iterator<?> iterator;
+
+					InformationIterator(EGenericType eGenericType) {
+						iterator = EcoreUtil.getAllContents(Collections.singleton(eGenericType));
+					}
+
+					boolean hasNext() {
+						return iterator.hasNext();
+					}
+
+					Information next() {
+						Information information = new Information();
+						EGenericType eGenericType = information.eGenericType = (EGenericType) iterator.next();
+						for (EObject container = eGenericType
+								.eContainer(); container instanceof EGenericType; container = container.eContainer()) {
+							++information.depth;
+						}
+						if (eGenericType.getEClassifier() != null) {
+							GenClassifier genClassifier = genModel.findGenClassifier(eGenericType.getEClassifier());
+							information.type = genPackage.getPackageInstanceVariable(genClassifier.getGenPackage())
+									+ ".get" + genClassifier.getClassifierAccessorName() + "()";
+						} else if (eGenericType.getETypeParameter() != null) {
+							ETypeParameter eTypeParameter = eGenericType.getETypeParameter();
+							if (eTypeParameter.eContainer() instanceof EClass) {
+								information.type = genModel.findGenClassifier((EClass) eTypeParameter.eContainer())
+										.getClassifierInstanceName() + "_" + eGenericType.getETypeParameter().getName();
+							} else {
+								information.type = "t" + (((EOperation) eTypeParameter.eContainer())
+										.getETypeParameters().indexOf(eTypeParameter) + 1);
+							}
+						} else {
+							information.type = "";
+						}
+						if (information.depth > 0) {
+							if (eGenericType.eContainmentFeature().isMany()) {
+								information.accessor = "getE"
+										+ eGenericType.eContainmentFeature().getName().substring(1) + "().add";
+							} else {
+								information.accessor = "setE"
+										+ eGenericType.eContainmentFeature().getName().substring(1);
+							}
+						}
+						return information;
+					}
+				}
+				///////////////////////
+				int maxGenericTypeAssignment = 0;
+
+				stringBuffer.append(TEXT_315);
+				if (!genPackage.getPackageInitializationDependencies().isEmpty()) {
+					stringBuffer.append(TEXT_316);
+					for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {
+						stringBuffer.append(TEXT_317);
+						stringBuffer.append(dep.getImportedPackageInterfaceName());
+						stringBuffer.append(TEXT_318);
+						stringBuffer.append(genPackage.getPackageInstanceVariable(dep));
+						stringBuffer.append(TEXT_319);
+						stringBuffer.append(dep.getImportedPackageInterfaceName());
+						stringBuffer.append(TEXT_320);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+						stringBuffer.append(TEXT_321);
+						stringBuffer.append(dep.getImportedPackageInterfaceName());
+						stringBuffer.append(TEXT_322);
+					}
+				}
+				if (!genPackage.getSubGenPackages().isEmpty()) {
+					stringBuffer.append(TEXT_323);
+					for (GenPackage sub : genPackage.getSubGenPackages()) {
+						stringBuffer.append(TEXT_324);
+						stringBuffer.append(genPackage.getPackageInstanceVariable(sub));
+						stringBuffer.append(TEXT_325);
+					}
+				}
+				if (!genPackage.getGenClasses().isEmpty()) {
+					boolean firstOperationAssignment = true;
+					int maxTypeParameterAssignment = 0;
+					if (genModel.useGenerics()) {
+						stringBuffer.append(TEXT_326);
+						for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+							for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {
+								if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()
+										|| genTypeParameter.isUsed()) {
+									stringBuffer.append(TEXT_327);
+									stringBuffer
+											.append(genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter"));
+									stringBuffer.append(TEXT_328);
+									stringBuffer.append(genClassifier.getClassifierInstanceName());
+									stringBuffer.append(TEXT_329);
+									stringBuffer.append(genTypeParameter.getName());
+									stringBuffer.append(TEXT_330);
+									stringBuffer.append(genClassifier.getClassifierInstanceName());
+									stringBuffer.append(TEXT_331);
+									stringBuffer.append(genTypeParameter.getName());
+									stringBuffer.append(TEXT_332);
+									stringBuffer.append(genModel.getNonNLS());
+								} else {
+									stringBuffer.append(TEXT_333);
+									stringBuffer.append(genClassifier.getClassifierInstanceName());
+									stringBuffer.append(TEXT_334);
+									stringBuffer.append(genTypeParameter.getName());
+									stringBuffer.append(TEXT_335);
+									stringBuffer.append(genModel.getNonNLS());
+								}
+							}
+						}
+					}
+					if (genModel.useGenerics()) {
+						stringBuffer.append(TEXT_336);
+						for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+							for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {
+								for (EGenericType bound : genTypeParameter.getEcoreTypeParameter().getEBounds()) {
+									for (InformationIterator i = new InformationIterator(bound); i.hasNext();) {
+										Information info = i.next();
+										String prefix = "";
+										if (maxGenericTypeAssignment <= info.depth) {
+											++maxGenericTypeAssignment;
+											prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+													+ " ";
+										}
+										stringBuffer.append(TEXT_337);
+										stringBuffer.append(prefix);
+										stringBuffer.append(TEXT_338);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_339);
+										stringBuffer.append(info.type);
+										stringBuffer.append(TEXT_340);
+										if (info.depth > 0) {
+											stringBuffer.append(TEXT_341);
+											stringBuffer.append(info.depth);
+											stringBuffer.append(TEXT_342);
+											stringBuffer.append(info.accessor);
+											stringBuffer.append(TEXT_343);
+											stringBuffer.append(info.depth + 1);
+											stringBuffer.append(TEXT_344);
+										}
+									}
+									stringBuffer.append(TEXT_345);
+									stringBuffer.append(genClassifier.getClassifierInstanceName());
+									stringBuffer.append(TEXT_346);
+									stringBuffer.append(genTypeParameter.getName());
+									stringBuffer.append(TEXT_347);
+								}
+							}
+						}
+					}
+					stringBuffer.append(TEXT_348);
+					for (GenClass genClass : genPackage.getGenClasses()) {
+						if (!genClass.hasGenericSuperTypes()) {
+							for (GenClass baseGenClass : genClass.getBaseGenClasses()) {
+								stringBuffer.append(TEXT_349);
+								stringBuffer.append(genClass.getClassifierInstanceName());
+								stringBuffer.append(TEXT_350);
+								stringBuffer
+										.append(genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage()));
+								stringBuffer.append(TEXT_351);
+								stringBuffer.append(baseGenClass.getClassifierAccessorName());
+								stringBuffer.append(TEXT_352);
+							}
+						} else {
+							for (EGenericType superType : genClass.getEcoreClass().getEGenericSuperTypes()) {
+								for (InformationIterator i = new InformationIterator(superType); i.hasNext();) {
+									Information info = i.next();
+									String prefix = "";
+									if (maxGenericTypeAssignment <= info.depth) {
+										++maxGenericTypeAssignment;
+										prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";
+									}
+									stringBuffer.append(TEXT_353);
+									stringBuffer.append(prefix);
+									stringBuffer.append(TEXT_354);
+									stringBuffer.append(info.depth + 1);
+									stringBuffer.append(TEXT_355);
+									stringBuffer.append(info.type);
+									stringBuffer.append(TEXT_356);
+									if (info.depth > 0) {
+										stringBuffer.append(TEXT_357);
+										stringBuffer.append(info.depth);
+										stringBuffer.append(TEXT_358);
+										stringBuffer.append(info.accessor);
+										stringBuffer.append(TEXT_359);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_360);
+									}
+								}
+								stringBuffer.append(TEXT_361);
+								stringBuffer.append(genClass.getClassifierInstanceName());
+								stringBuffer.append(TEXT_362);
+							}
+						}
+					}
+					stringBuffer.append(TEXT_363);
+					if (genModel.isOperationReflection()) {
+						stringBuffer.append(TEXT_364);
+					} else {
+						stringBuffer.append(TEXT_365);
+					}
+					for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {
+						GenClass genClass = c.next();
+						boolean hasInstanceTypeName = genModel.useGenerics()
+								&& genClass.getEcoreClass().getInstanceTypeName() != null
+								&& genClass.getEcoreClass().getInstanceTypeName().contains("<");
+						stringBuffer.append(TEXT_366);
+						stringBuffer.append(genClass.getClassifierInstanceName());
+						stringBuffer.append(TEXT_367);
+						if (genClass.isDynamic()) {
+							stringBuffer.append(TEXT_368);
+						} else {
+							stringBuffer.append(genClass.getRawImportedInterfaceName());
+							stringBuffer.append(TEXT_369);
+						}
+						stringBuffer.append(TEXT_370);
+						stringBuffer.append(genClass.getName());
+						stringBuffer.append(TEXT_371);
+						stringBuffer.append(genClass.getAbstractFlag());
+						stringBuffer.append(TEXT_372);
+						stringBuffer.append(genClass.getInterfaceFlag());
+						stringBuffer.append(TEXT_373);
+						stringBuffer.append(genClass.getGeneratedInstanceClassFlag());
+						if (hasInstanceTypeName) {
+							stringBuffer.append(TEXT_374);
+							stringBuffer.append(genClass.getEcoreClass().getInstanceTypeName());
+							stringBuffer.append(TEXT_375);
+						}
+						stringBuffer.append(TEXT_376);
+						stringBuffer.append(genModel.getNonNLS());
+						if (hasInstanceTypeName) {
+							stringBuffer.append(genModel.getNonNLS(2));
+						}
+						for (GenFeature genFeature : genClass.getGenFeatures()) {
+							if (genFeature.hasGenericType()) {
+								for (InformationIterator i = new InformationIterator(
+										genFeature.getEcoreFeature().getEGenericType()); i.hasNext();) {
+									Information info = i.next();
+									String prefix = "";
+									if (maxGenericTypeAssignment <= info.depth) {
+										++maxGenericTypeAssignment;
+										prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";
+									}
+									stringBuffer.append(TEXT_377);
+									stringBuffer.append(prefix);
+									stringBuffer.append(TEXT_378);
+									stringBuffer.append(info.depth + 1);
+									stringBuffer.append(TEXT_379);
+									stringBuffer.append(info.type);
+									stringBuffer.append(TEXT_380);
+									if (info.depth > 0) {
+										stringBuffer.append(TEXT_381);
+										stringBuffer.append(info.depth);
+										stringBuffer.append(TEXT_382);
+										stringBuffer.append(info.accessor);
+										stringBuffer.append(TEXT_383);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_384);
+									}
+								}
+							}
+							if (genFeature.isReferenceType()) {
+								GenFeature reverseGenFeature = genFeature.getReverse();
+								String reverse = reverseGenFeature == null ? "null"
+										: genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage())
+												+ ".get" + reverseGenFeature.getFeatureAccessorName() + "()";
+								stringBuffer.append(TEXT_385);
+								stringBuffer.append(genFeature.getFeatureAccessorName());
+								stringBuffer.append(TEXT_386);
+								if (genFeature.hasGenericType()) {
+									stringBuffer.append(TEXT_387);
+								} else {
+									stringBuffer.append(
+											genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));
+									stringBuffer.append(TEXT_388);
+									stringBuffer.append(genFeature.getTypeClassifierAccessorName());
+									stringBuffer.append(TEXT_389);
+								}
+								stringBuffer.append(TEXT_390);
+								stringBuffer.append(reverse);
+								stringBuffer.append(TEXT_391);
+								stringBuffer.append(genFeature.getName());
+								stringBuffer.append(TEXT_392);
+								stringBuffer.append(genFeature.getDefaultValue());
+								stringBuffer.append(TEXT_393);
+								stringBuffer.append(genFeature.getLowerBound());
+								stringBuffer.append(TEXT_394);
+								stringBuffer.append(genFeature.getUpperBound());
+								stringBuffer.append(TEXT_395);
+								stringBuffer.append(genFeature.getContainerClass());
+								stringBuffer.append(TEXT_396);
+								stringBuffer.append(genFeature.getTransientFlag());
+								stringBuffer.append(TEXT_397);
+								stringBuffer.append(genFeature.getVolatileFlag());
+								stringBuffer.append(TEXT_398);
+								stringBuffer.append(genFeature.getChangeableFlag());
+								stringBuffer.append(TEXT_399);
+								stringBuffer.append(genFeature.getContainmentFlag());
+								stringBuffer.append(TEXT_400);
+								stringBuffer.append(genFeature.getResolveProxiesFlag());
+								stringBuffer.append(TEXT_401);
+								stringBuffer.append(genFeature.getUnsettableFlag());
+								stringBuffer.append(TEXT_402);
+								stringBuffer.append(genFeature.getUniqueFlag());
+								stringBuffer.append(TEXT_403);
+								stringBuffer.append(genFeature.getDerivedFlag());
+								stringBuffer.append(TEXT_404);
+								stringBuffer.append(genFeature.getOrderedFlag());
+								stringBuffer.append(TEXT_405);
+								stringBuffer.append(genModel.getNonNLS());
+								stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));
+								for (GenFeature keyFeature : genFeature.getKeys()) {
+									stringBuffer.append(TEXT_406);
+									stringBuffer.append(genFeature.getFeatureAccessorName());
+									stringBuffer.append(TEXT_407);
+									stringBuffer
+											.append(genPackage.getPackageInstanceVariable(keyFeature.getGenPackage()));
+									stringBuffer.append(TEXT_408);
+									stringBuffer.append(keyFeature.getFeatureAccessorName());
+									stringBuffer.append(TEXT_409);
+								}
+							} else {
+								stringBuffer.append(TEXT_410);
+								stringBuffer.append(genFeature.getFeatureAccessorName());
+								stringBuffer.append(TEXT_411);
+								if (genFeature.hasGenericType()) {
+									stringBuffer.append(TEXT_412);
+								} else {
+									stringBuffer.append(
+											genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));
+									stringBuffer.append(TEXT_413);
+									stringBuffer.append(genFeature.getTypeClassifierAccessorName());
+									stringBuffer.append(TEXT_414);
+								}
+								stringBuffer.append(TEXT_415);
+								stringBuffer.append(genFeature.getName());
+								stringBuffer.append(TEXT_416);
+								stringBuffer.append(genFeature.getDefaultValue());
+								stringBuffer.append(TEXT_417);
+								stringBuffer.append(genFeature.getLowerBound());
+								stringBuffer.append(TEXT_418);
+								stringBuffer.append(genFeature.getUpperBound());
+								stringBuffer.append(TEXT_419);
+								stringBuffer.append(genFeature.getContainerClass());
+								stringBuffer.append(TEXT_420);
+								stringBuffer.append(genFeature.getTransientFlag());
+								stringBuffer.append(TEXT_421);
+								stringBuffer.append(genFeature.getVolatileFlag());
+								stringBuffer.append(TEXT_422);
+								stringBuffer.append(genFeature.getChangeableFlag());
+								stringBuffer.append(TEXT_423);
+								stringBuffer.append(genFeature.getUnsettableFlag());
+								stringBuffer.append(TEXT_424);
+								stringBuffer.append(genFeature.getIDFlag());
+								stringBuffer.append(TEXT_425);
+								stringBuffer.append(genFeature.getUniqueFlag());
+								stringBuffer.append(TEXT_426);
+								stringBuffer.append(genFeature.getDerivedFlag());
+								stringBuffer.append(TEXT_427);
+								stringBuffer.append(genFeature.getOrderedFlag());
+								stringBuffer.append(TEXT_428);
+								stringBuffer.append(genModel.getNonNLS());
+								stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));
+							}
+						}
+						for (GenOperation genOperation : genClass.getGenOperations()) {
+							String prefix = "";
+							if (genOperation.hasGenericType() || !genOperation.getGenParameters().isEmpty()
+									|| !genOperation.getGenExceptions().isEmpty()
+									|| !genOperation.getGenTypeParameters().isEmpty()) {
+								if (firstOperationAssignment) {
+									firstOperationAssignment = false;
+									prefix = genModel.getImportedName("org.eclipse.emf.ecore.EOperation") + " op = ";
+								} else {
+									prefix = "op = ";
+								}
+							}
+							stringBuffer.append(TEXT_429);
+							if (genModel.useGenerics()) {
+								stringBuffer.append(TEXT_430);
+								stringBuffer.append(prefix);
+								if (genModel.isOperationReflection()) {
+									stringBuffer.append(TEXT_431);
+									stringBuffer.append(genOperation.getOperationAccessorName());
+									stringBuffer.append(TEXT_432);
+								} else {
+									stringBuffer.append(TEXT_433);
+									stringBuffer.append(genClass.getClassifierInstanceName());
+								}
+								stringBuffer.append(TEXT_434);
+								if (genOperation.isVoid() || genOperation.hasGenericType()) {
+									stringBuffer.append(TEXT_435);
+								} else {
+									stringBuffer.append(
+											genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
+									stringBuffer.append(TEXT_436);
+									stringBuffer.append(genOperation.getTypeClassifierAccessorName());
+									stringBuffer.append(TEXT_437);
+								}
+								stringBuffer.append(TEXT_438);
+								stringBuffer.append(genOperation.getName());
+								stringBuffer.append(TEXT_439);
+								stringBuffer.append(genOperation.getLowerBound());
+								stringBuffer.append(TEXT_440);
+								stringBuffer.append(genOperation.getUpperBound());
+								stringBuffer.append(TEXT_441);
+								stringBuffer.append(genOperation.getUniqueFlag());
+								stringBuffer.append(TEXT_442);
+								stringBuffer.append(genOperation.getOrderedFlag());
+								stringBuffer.append(TEXT_443);
+								stringBuffer.append(genModel.getNonNLS());
+							} else if (!genOperation.isVoid()) {
+								if (!genOperation.getEcoreOperation().isOrdered()
+										|| !genOperation.getEcoreOperation().isUnique()) {
+									needsAddEOperation = true;
+									stringBuffer.append(TEXT_444);
+									stringBuffer.append(prefix);
+									if (genModel.isOperationReflection()) {
+										stringBuffer.append(TEXT_445);
+										stringBuffer.append(genOperation.getOperationAccessorName());
+										stringBuffer.append(TEXT_446);
+									} else {
+										stringBuffer.append(TEXT_447);
+										stringBuffer.append(genClass.getClassifierInstanceName());
+									}
+									stringBuffer.append(TEXT_448);
+									stringBuffer.append(
+											genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
+									stringBuffer.append(TEXT_449);
+									stringBuffer.append(genOperation.getTypeClassifierAccessorName());
+									stringBuffer.append(TEXT_450);
+									stringBuffer.append(genOperation.getName());
+									stringBuffer.append(TEXT_451);
+									stringBuffer.append(genOperation.getLowerBound());
+									stringBuffer.append(TEXT_452);
+									stringBuffer.append(genOperation.getUpperBound());
+									stringBuffer.append(TEXT_453);
+									stringBuffer.append(genOperation.getUniqueFlag());
+									stringBuffer.append(TEXT_454);
+									stringBuffer.append(genOperation.getOrderedFlag());
+									stringBuffer.append(TEXT_455);
+									stringBuffer.append(genModel.getNonNLS());
+								} else {
+									stringBuffer.append(TEXT_456);
+									stringBuffer.append(prefix);
+									if (genModel.isOperationReflection()) {
+										stringBuffer.append(TEXT_457);
+										stringBuffer.append(genOperation.getOperationAccessorName());
+										stringBuffer.append(TEXT_458);
+									} else {
+										stringBuffer.append(TEXT_459);
+										stringBuffer.append(genClass.getClassifierInstanceName());
+									}
+									stringBuffer.append(TEXT_460);
+									stringBuffer.append(
+											genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
+									stringBuffer.append(TEXT_461);
+									stringBuffer.append(genOperation.getTypeClassifierAccessorName());
+									stringBuffer.append(TEXT_462);
+									stringBuffer.append(genOperation.getName());
+									stringBuffer.append(TEXT_463);
+									stringBuffer.append(genOperation.getLowerBound());
+									stringBuffer.append(TEXT_464);
+									stringBuffer.append(genOperation.getUpperBound());
+									stringBuffer.append(TEXT_465);
+									stringBuffer.append(genModel.getNonNLS());
+								}
+							} else {
+								stringBuffer.append(TEXT_466);
+								stringBuffer.append(prefix);
+								if (genModel.isOperationReflection()) {
+									stringBuffer.append(TEXT_467);
+									stringBuffer.append(genOperation.getOperationAccessorName());
+									stringBuffer.append(TEXT_468);
+								} else {
+									stringBuffer.append(TEXT_469);
+									stringBuffer.append(genClass.getClassifierInstanceName());
+								}
+								stringBuffer.append(TEXT_470);
+								stringBuffer.append(genOperation.getName());
+								stringBuffer.append(TEXT_471);
+								stringBuffer.append(genModel.getNonNLS());
+							}
+							if (genModel.useGenerics()) {
+								for (ListIterator<GenTypeParameter> t = genOperation.getGenTypeParameters()
+										.listIterator(); t.hasNext();) {
+									GenTypeParameter genTypeParameter = t.next();
+									String typeParameterVariable = "";
+									if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()
+											|| genTypeParameter.isUsed()) {
+										if (maxTypeParameterAssignment <= t.previousIndex()) {
+											++maxTypeParameterAssignment;
+											typeParameterVariable = genModel
+													.getImportedName("org.eclipse.emf.ecore.ETypeParameter") + " t"
+													+ t.nextIndex() + " = ";
+										} else {
+											typeParameterVariable = "t" + t.nextIndex() + " = ";
+										}
+									}
+									stringBuffer.append(TEXT_472);
+									stringBuffer.append(typeParameterVariable);
+									stringBuffer.append(TEXT_473);
+									stringBuffer.append(genTypeParameter.getName());
+									stringBuffer.append(TEXT_474);
+									stringBuffer.append(genModel.getNonNLS());
+									for (EGenericType typeParameter : genTypeParameter.getEcoreTypeParameter()
+											.getEBounds()) {
+										for (InformationIterator i = new InformationIterator(typeParameter); i
+												.hasNext();) {
+											Information info = i.next();
+											String typePrefix = "";
+											if (maxGenericTypeAssignment <= info.depth) {
+												++maxGenericTypeAssignment;
+												typePrefix = genModel
+														.getImportedName("org.eclipse.emf.ecore.EGenericType") + " ";
+											}
+											stringBuffer.append(TEXT_475);
+											stringBuffer.append(typePrefix);
+											stringBuffer.append(TEXT_476);
+											stringBuffer.append(info.depth + 1);
+											stringBuffer.append(TEXT_477);
+											stringBuffer.append(info.type);
+											stringBuffer.append(TEXT_478);
+											if (info.depth > 0) {
+												stringBuffer.append(TEXT_479);
+												stringBuffer.append(info.depth);
+												stringBuffer.append(TEXT_480);
+												stringBuffer.append(info.accessor);
+												stringBuffer.append(TEXT_481);
+												stringBuffer.append(info.depth + 1);
+												stringBuffer.append(TEXT_482);
+											}
+										}
+										stringBuffer.append(TEXT_483);
+										stringBuffer.append(t.nextIndex());
+										stringBuffer.append(TEXT_484);
+									}
+								}
+							}
+							for (GenParameter genParameter : genOperation.getGenParameters()) {
+								if (genParameter.hasGenericType()) {
+									for (InformationIterator i = new InformationIterator(
+											genParameter.getEcoreParameter().getEGenericType()); i.hasNext();) {
+										Information info = i.next();
+										String typePrefix = "";
+										if (maxGenericTypeAssignment <= info.depth) {
+											++maxGenericTypeAssignment;
+											typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+													+ " ";
+										}
+										stringBuffer.append(TEXT_485);
+										stringBuffer.append(typePrefix);
+										stringBuffer.append(TEXT_486);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_487);
+										stringBuffer.append(info.type);
+										stringBuffer.append(TEXT_488);
+										if (info.depth > 0) {
+											stringBuffer.append(TEXT_489);
+											stringBuffer.append(info.depth);
+											stringBuffer.append(TEXT_490);
+											stringBuffer.append(info.accessor);
+											stringBuffer.append(TEXT_491);
+											stringBuffer.append(info.depth + 1);
+											stringBuffer.append(TEXT_492);
+										}
+									}
+								}
+								if (genModel.useGenerics()) {
+									stringBuffer.append(TEXT_493);
+									if (genParameter.hasGenericType()) {
+										stringBuffer.append(TEXT_494);
+									} else {
+										stringBuffer.append(genPackage
+												.getPackageInstanceVariable(genParameter.getTypeGenPackage()));
+										stringBuffer.append(TEXT_495);
+										stringBuffer.append(genParameter.getTypeClassifierAccessorName());
+										stringBuffer.append(TEXT_496);
+									}
+									stringBuffer.append(TEXT_497);
+									stringBuffer.append(genParameter.getName());
+									stringBuffer.append(TEXT_498);
+									stringBuffer.append(genParameter.getLowerBound());
+									stringBuffer.append(TEXT_499);
+									stringBuffer.append(genParameter.getUpperBound());
+									stringBuffer.append(TEXT_500);
+									stringBuffer.append(genParameter.getUniqueFlag());
+									stringBuffer.append(TEXT_501);
+									stringBuffer.append(genParameter.getOrderedFlag());
+									stringBuffer.append(TEXT_502);
+									stringBuffer.append(genModel.getNonNLS());
+								} else if (!genParameter.getEcoreParameter().isOrdered()
+										|| !genParameter.getEcoreParameter().isUnique()) {
+									needsAddEParameter = true;
+									stringBuffer.append(TEXT_503);
+									if (genParameter.hasGenericType()) {
+										stringBuffer.append(TEXT_504);
+									} else {
+										stringBuffer.append(genPackage
+												.getPackageInstanceVariable(genParameter.getTypeGenPackage()));
+										stringBuffer.append(TEXT_505);
+										stringBuffer.append(genParameter.getTypeClassifierAccessorName());
+										stringBuffer.append(TEXT_506);
+									}
+									stringBuffer.append(TEXT_507);
+									stringBuffer.append(genParameter.getName());
+									stringBuffer.append(TEXT_508);
+									stringBuffer.append(genParameter.getLowerBound());
+									stringBuffer.append(TEXT_509);
+									stringBuffer.append(genParameter.getUpperBound());
+									stringBuffer.append(TEXT_510);
+									stringBuffer.append(genParameter.getUniqueFlag());
+									stringBuffer.append(TEXT_511);
+									stringBuffer.append(genParameter.getOrderedFlag());
+									stringBuffer.append(TEXT_512);
+									stringBuffer.append(genModel.getNonNLS());
+								} else {
+									stringBuffer.append(TEXT_513);
+									if (genParameter.hasGenericType()) {
+										stringBuffer.append(TEXT_514);
+									} else {
+										stringBuffer.append(genPackage
+												.getPackageInstanceVariable(genParameter.getTypeGenPackage()));
+										stringBuffer.append(TEXT_515);
+										stringBuffer.append(genParameter.getTypeClassifierAccessorName());
+										stringBuffer.append(TEXT_516);
+									}
+									stringBuffer.append(TEXT_517);
+									stringBuffer.append(genParameter.getName());
+									stringBuffer.append(TEXT_518);
+									stringBuffer.append(genParameter.getLowerBound());
+									stringBuffer.append(TEXT_519);
+									stringBuffer.append(genParameter.getUpperBound());
+									stringBuffer.append(TEXT_520);
+									stringBuffer.append(genModel.getNonNLS());
+								}
+							}
+							if (genOperation.hasGenericExceptions()) {
+								for (EGenericType genericExceptions : genOperation.getEcoreOperation()
+										.getEGenericExceptions()) {
+									for (InformationIterator i = new InformationIterator(genericExceptions); i
+											.hasNext();) {
+										Information info = i.next();
+										String typePrefix = "";
+										if (maxGenericTypeAssignment <= info.depth) {
+											++maxGenericTypeAssignment;
+											typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+													+ " ";
+										}
+										stringBuffer.append(TEXT_521);
+										stringBuffer.append(typePrefix);
+										stringBuffer.append(TEXT_522);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_523);
+										stringBuffer.append(info.type);
+										stringBuffer.append(TEXT_524);
+										if (info.depth > 0) {
+											stringBuffer.append(TEXT_525);
+											stringBuffer.append(info.depth);
+											stringBuffer.append(TEXT_526);
+											stringBuffer.append(info.accessor);
+											stringBuffer.append(TEXT_527);
+											stringBuffer.append(info.depth + 1);
+											stringBuffer.append(TEXT_528);
+										}
+										stringBuffer.append(TEXT_529);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_530);
+									}
+								}
+							} else {
+								for (GenClassifier genException : genOperation.getGenExceptions()) {
+									stringBuffer.append(TEXT_531);
+									stringBuffer.append(
+											genPackage.getPackageInstanceVariable(genException.getGenPackage()));
+									stringBuffer.append(TEXT_532);
+									stringBuffer.append(genException.getClassifierAccessorName());
+									stringBuffer.append(TEXT_533);
+								}
+							}
+							if (!genOperation.isVoid() && genOperation.hasGenericType()) {
+								for (InformationIterator i = new InformationIterator(
+										genOperation.getEcoreOperation().getEGenericType()); i.hasNext();) {
+									Information info = i.next();
+									String typePrefix = "";
+									if (maxGenericTypeAssignment <= info.depth) {
+										++maxGenericTypeAssignment;
+										typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType")
+												+ " ";
+									}
+									stringBuffer.append(TEXT_534);
+									stringBuffer.append(typePrefix);
+									stringBuffer.append(TEXT_535);
+									stringBuffer.append(info.depth + 1);
+									stringBuffer.append(TEXT_536);
+									stringBuffer.append(info.type);
+									stringBuffer.append(TEXT_537);
+									if (info.depth > 0) {
+										stringBuffer.append(TEXT_538);
+										stringBuffer.append(info.depth);
+										stringBuffer.append(TEXT_539);
+										stringBuffer.append(info.accessor);
+										stringBuffer.append(TEXT_540);
+										stringBuffer.append(info.depth + 1);
+										stringBuffer.append(TEXT_541);
+									}
+								}
+								stringBuffer.append(TEXT_542);
+							}
+						}
+						if (c.hasNext()) {
+							stringBuffer.append(TEXT_543);
+						}
+					}
+				}
+				if (!genPackage.getGenEnums().isEmpty()) {
+					stringBuffer.append(TEXT_544);
+					for (Iterator<GenEnum> e = genPackage.getGenEnums().iterator(); e.hasNext();) {
+						GenEnum genEnum = e.next();
+						stringBuffer.append(TEXT_545);
+						stringBuffer.append(genEnum.getClassifierInstanceName());
+						stringBuffer.append(TEXT_546);
+						stringBuffer.append(genEnum.getImportedName());
+						stringBuffer.append(TEXT_547);
+						stringBuffer.append(genEnum.getName());
+						stringBuffer.append(TEXT_548);
+						stringBuffer.append(genModel.getNonNLS());
+						for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
+							stringBuffer.append(TEXT_549);
+							stringBuffer.append(genEnum.getClassifierInstanceName());
+							stringBuffer.append(TEXT_550);
+							stringBuffer.append(genEnum.getImportedName().equals(genEnum.getClassifierID())
+									? genEnum.getQualifiedName() : genEnum.getImportedName());
+							stringBuffer.append(TEXT_551);
+							stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
+							stringBuffer.append(TEXT_552);
+						}
+						if (e.hasNext()) {
+							stringBuffer.append(TEXT_553);
+						}
+					}
+				}
+				if (!genPackage.getGenDataTypes().isEmpty()) {
+					stringBuffer.append(TEXT_554);
+					for (GenDataType genDataType : genPackage.getGenDataTypes()) {
+						boolean hasInstanceTypeName = genModel.useGenerics()
+								&& genDataType.getEcoreDataType().getInstanceTypeName() != null
+								&& genDataType.getEcoreDataType().getInstanceTypeName().contains("<");
+						stringBuffer.append(TEXT_555);
+						stringBuffer.append(genDataType.getClassifierInstanceName());
+						stringBuffer.append(TEXT_556);
+						stringBuffer.append(genDataType.getRawImportedInstanceClassName());
+						stringBuffer.append(TEXT_557);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_558);
+						stringBuffer.append(genDataType.getSerializableFlag());
+						stringBuffer.append(TEXT_559);
+						stringBuffer.append(genDataType.getGeneratedInstanceClassFlag());
+						if (hasInstanceTypeName) {
+							stringBuffer.append(TEXT_560);
+							stringBuffer.append(genDataType.getEcoreDataType().getInstanceTypeName());
+							stringBuffer.append(TEXT_561);
+						}
+						stringBuffer.append(TEXT_562);
+						stringBuffer.append(genModel.getNonNLS());
+						if (hasInstanceTypeName) {
+							stringBuffer.append(genModel.getNonNLS(2));
+						}
+					}
+				}
+				if (genPackage.getSuperGenPackage() == null) {
+					stringBuffer.append(TEXT_563);
+					stringBuffer.append(genPackage.getSchemaLocation());
+					stringBuffer.append(TEXT_564);
+				}
+				if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {
+					stringBuffer.append(TEXT_565);
+					for (String annotationSource : genPackage.getAnnotationSources()) {
+						stringBuffer.append(TEXT_566);
+						stringBuffer.append(annotationSource);
+						stringBuffer.append(TEXT_567);
+						stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));
+						stringBuffer.append(TEXT_568);
+					}
+				}
+				stringBuffer.append(TEXT_569);
+				for (String annotationSource : genPackage.getAnnotationSources()) {
+					stringBuffer.append(TEXT_570);
+					stringBuffer.append(annotationSource);
+					stringBuffer.append(TEXT_571);
+					stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));
+					stringBuffer.append(TEXT_572);
+					if (annotationSource == null) {
+						stringBuffer.append(TEXT_573);
+					} else {
+						stringBuffer.append(TEXT_574);
+						stringBuffer.append(annotationSource);
+						stringBuffer.append(TEXT_575);
+						stringBuffer.append(genModel.getNonNLS());
+					}
+					for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) {
+						List<GenPackage.AnnotationReferenceData> annotationReferenceDataList = genPackage
+								.getReferenceData(eAnnotation);
+						if (annotationSource == null ? eAnnotation.getSource() == null
+								: annotationSource.equals(eAnnotation.getSource())) {
+							stringBuffer.append(TEXT_576);
+							stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));
+							stringBuffer.append(TEXT_577);
+							for (Iterator<Map.Entry<String, String>> k = eAnnotation.getDetails().iterator(); k
+									.hasNext();) {
+								Map.Entry<String, String> detail = k.next();
+								String key = Literals.toStringLiteral(detail.getKey(), genModel);
+								String value = Literals.toStringLiteral(detail.getValue(), genModel);
+								stringBuffer.append(TEXT_578);
+								stringBuffer.append(key);
+								stringBuffer.append(TEXT_579);
+								stringBuffer.append(value);
+								stringBuffer.append(k.hasNext() ? "," : "");
+								stringBuffer.append(genModel.getNonNLS(key + value));
+							}
+							stringBuffer.append(TEXT_580);
+							if (annotationReferenceDataList.isEmpty()) {
+								stringBuffer.append(TEXT_581);
+							} else {
+								stringBuffer.append(TEXT_582);
+							}
+							if (!annotationReferenceDataList.isEmpty()) {
+								stringBuffer.append(TEXT_583);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+								stringBuffer.append(TEXT_584);
+								for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList
+										.iterator(); k.hasNext();) {
+									GenPackage.AnnotationReferenceData annotationReferenceData = k.next();
+									stringBuffer.append(TEXT_585);
+									stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+									stringBuffer.append(TEXT_586);
+									if (annotationReferenceData.containingGenPackage != genPackage) {
+										stringBuffer.append(annotationReferenceData.containingGenPackage
+												.getImportedPackageInterfaceName());
+										stringBuffer.append(TEXT_587);
+									}
+									stringBuffer.append(TEXT_588);
+									stringBuffer.append(annotationReferenceData.uriFragment);
+									stringBuffer.append(TEXT_589);
+									if (k.hasNext()) {
+										stringBuffer.append(TEXT_590);
+									}
+									stringBuffer.append(genModel.getNonNLS());
+								}
+								stringBuffer.append(TEXT_591);
+							}
+							for (EAnnotation nestedEAnnotation : genPackage.getAllNestedAnnotations(eAnnotation)) {
+								String nestedAnnotationSource = nestedEAnnotation.getSource();
+								int depth = 0;
+								boolean nonContentAnnotation = false;
+								StringBuilder path = new StringBuilder();
+								for (EObject eContainer = nestedEAnnotation
+										.eContainer(), child = nestedEAnnotation; child != eAnnotation; child = eContainer, eContainer = eContainer
+												.eContainer()) {
+									boolean nonContentChild = child
+											.eContainmentFeature() != EcorePackage.Literals.EANNOTATION__CONTENTS;
+									if (path.length() != 0) {
+										path.insert(0, ", ");
+									}
+									path.insert(0, nonContentChild);
+									if (nonContentChild) {
+										nonContentAnnotation = true;
+									}
+									++depth;
+								}
+								List<GenPackage.AnnotationReferenceData> nestedAnnotationReferenceDataList = genPackage
+										.getReferenceData(nestedEAnnotation);
+								stringBuffer.append(TEXT_592);
+								stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));
+								stringBuffer.append(TEXT_593);
+								if (nonContentAnnotation
+										&& genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {
+									stringBuffer.append(TEXT_594);
+									stringBuffer.append(path.toString());
+									stringBuffer.append(TEXT_595);
+								} else {
+									stringBuffer.append(depth);
+								}
+								stringBuffer.append(TEXT_596);
+								if (nestedAnnotationSource == null) {
+									stringBuffer.append(TEXT_597);
+								} else {
+									stringBuffer.append(TEXT_598);
+									stringBuffer.append(nestedAnnotationSource);
+									stringBuffer.append(TEXT_599);
+									stringBuffer.append(genModel.getNonNLS());
+								}
+								stringBuffer.append(TEXT_600);
+								for (Iterator<Map.Entry<String, String>> l = nestedEAnnotation.getDetails()
+										.iterator(); l.hasNext();) {
+									Map.Entry<String, String> detail = l.next();
+									String key = Literals.toStringLiteral(detail.getKey(), genModel);
+									String value = Literals.toStringLiteral(detail.getValue(), genModel);
+									stringBuffer.append(TEXT_601);
+									stringBuffer.append(key);
+									stringBuffer.append(TEXT_602);
+									stringBuffer.append(value);
+									stringBuffer.append(l.hasNext() ? "," : "");
+									stringBuffer.append(genModel.getNonNLS(key + value));
+								}
+								stringBuffer.append(TEXT_603);
+								if (nestedAnnotationReferenceDataList.isEmpty()) {
+									stringBuffer.append(TEXT_604);
+								} else {
+									stringBuffer.append(TEXT_605);
+								}
+								if (!nestedAnnotationReferenceDataList.isEmpty()) {
+									stringBuffer.append(TEXT_606);
+									stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+									stringBuffer.append(TEXT_607);
+									for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList
+											.iterator(); l.hasNext();) {
+										GenPackage.AnnotationReferenceData annotationReferenceData = l.next();
+										stringBuffer.append(TEXT_608);
+										stringBuffer
+												.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+										stringBuffer.append(TEXT_609);
+										if (annotationReferenceData.containingGenPackage != genPackage) {
+											stringBuffer.append(annotationReferenceData.containingGenPackage
+													.getImportedPackageInterfaceName());
+											stringBuffer.append(TEXT_610);
+										}
+										stringBuffer.append(TEXT_611);
+										stringBuffer.append(annotationReferenceData.uriFragment);
+										stringBuffer.append(TEXT_612);
+										if (l.hasNext()) {
+											stringBuffer.append(TEXT_613);
+										}
+										stringBuffer.append(genModel.getNonNLS());
+									}
+									stringBuffer.append(TEXT_614);
+								}
+							}
+						}
+					}
+					stringBuffer.append(TEXT_615);
+				}
+			} else {
+				if (genPackage.isLoadingInitialization()) {
+					stringBuffer.append(TEXT_616);
+					stringBuffer.append(genModel.getImportedName("java.net.URL"));
+					stringBuffer.append(TEXT_617);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(TEXT_618);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+					stringBuffer.append(TEXT_619);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
+					stringBuffer.append(TEXT_620);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));
+					stringBuffer.append(TEXT_621);
+					stringBuffer.append(
+							genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl"));
+					stringBuffer.append(TEXT_622);
+					stringBuffer.append(genModel.getImportedName("java.io.IOException"));
+					stringBuffer.append(TEXT_623);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));
+					stringBuffer.append(TEXT_624);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+					stringBuffer.append(TEXT_625);
+				}
+				stringBuffer.append(TEXT_626);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_627);
+				}
+				stringBuffer.append(TEXT_628);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
+				stringBuffer.append(TEXT_629);
+				ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>();
+				for (GenClass genClass : genPackage.getGenClasses()) {
+					if (genClass.isDynamic()) {
+						dynamicGenClasses.add(genClass);
+					}
+				}
+				if (dynamicGenClasses.isEmpty()) {
+					stringBuffer.append(TEXT_630);
+					stringBuffer.append(genPackage.getInterfacePackageName());
+					stringBuffer.append(TEXT_631);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(TEXT_632);
+				} else {
+					stringBuffer.append(TEXT_633);
+					for (GenClass genClass : dynamicGenClasses) {
+						if (genClass.isDynamic()) {
+							stringBuffer.append(TEXT_634);
+							stringBuffer.append(genPackage.getClassifierID(genClass));
+							stringBuffer.append(TEXT_635);
+						}
+					}
+					stringBuffer.append(TEXT_636);
+					stringBuffer.append(genPackage.getInterfacePackageName());
+					stringBuffer.append(TEXT_637);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(TEXT_638);
+				}
+				stringBuffer.append(TEXT_639);
+			}
+			if (needsAddEOperation) {
+				stringBuffer.append(TEXT_640);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+				stringBuffer.append(TEXT_641);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
+				stringBuffer.append(TEXT_642);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
+				stringBuffer.append(TEXT_643);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+				stringBuffer.append(TEXT_644);
+			}
+			if (needsAddEParameter) {
+				stringBuffer.append(TEXT_645);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));
+				stringBuffer.append(TEXT_646);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+				stringBuffer.append(TEXT_647);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
+				stringBuffer.append(TEXT_648);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));
+				stringBuffer.append(TEXT_649);
+			}
+		}
+		if (isInterface && genPackage.isLiteralsInterface()) {
+			stringBuffer.append(TEXT_650);
+			if (genModel.isOperationReflection()) {
+				stringBuffer.append(TEXT_651);
+			}
+			stringBuffer.append(TEXT_652);
+			if (isImplementation) {
+				stringBuffer.append(TEXT_653);
+			}
+			stringBuffer.append(TEXT_654);
+			for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+				stringBuffer.append(TEXT_655);
+				if (genClassifier instanceof GenClass) {
+					GenClass genClass = (GenClass) genClassifier;
+					if (!genClass.isInterface()) {
+						stringBuffer.append(TEXT_656);
+						stringBuffer.append(genClass.getQualifiedClassName());
+						stringBuffer.append(TEXT_657);
+						stringBuffer.append(genClass.getFormattedName());
+						stringBuffer.append(TEXT_658);
+						stringBuffer.append(genClass.getQualifiedClassName());
+					} else {
+						stringBuffer.append(TEXT_659);
+						stringBuffer.append(genClass.getQualifiedInterfaceName());
+						stringBuffer.append(TEXT_660);
+						stringBuffer.append(genClass.getFormattedName());
+						stringBuffer.append(TEXT_661);
+						stringBuffer.append(genClass.getQualifiedInterfaceName());
+					}
+				} else if (genClassifier instanceof GenEnum) {
+					GenEnum genEnum = (GenEnum) genClassifier;
+					stringBuffer.append(TEXT_662);
+					stringBuffer.append(genEnum.getQualifiedName());
+					stringBuffer.append(TEXT_663);
+					stringBuffer.append(genEnum.getFormattedName());
+					stringBuffer.append(TEXT_664);
+					stringBuffer.append(genEnum.getQualifiedName());
+				} else if (genClassifier instanceof GenDataType) {
+					GenDataType genDataType = (GenDataType) genClassifier;
+					stringBuffer.append(TEXT_665);
+					stringBuffer.append(genDataType.getFormattedName());
+					stringBuffer.append(TEXT_666);
+					if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
+						stringBuffer.append(TEXT_667);
+						stringBuffer.append(genDataType.getRawInstanceClassName());
+					}
+				}
+				stringBuffer.append(TEXT_668);
+				stringBuffer.append(genPackage.getQualifiedPackageClassName());
+				stringBuffer.append(TEXT_669);
+				stringBuffer.append(genClassifier.getClassifierAccessorName());
+				stringBuffer.append(TEXT_670);
+				stringBuffer.append(publicStaticFinalFlag);
+				stringBuffer.append(genClassifier.getImportedMetaType());
+				stringBuffer.append(TEXT_671);
+				stringBuffer.append(genPackage.getClassifierID(genClassifier));
+				stringBuffer.append(TEXT_672);
+				stringBuffer.append(genClassifier.getClassifierAccessorName());
+				stringBuffer.append(TEXT_673);
+				if (genClassifier instanceof GenClass) {
+					GenClass genClass = (GenClass) genClassifier;
+					for (GenFeature genFeature : genClass.getGenFeatures()) {
+						stringBuffer.append(TEXT_674);
+						stringBuffer.append(genFeature.getFormattedName());
+						stringBuffer.append(TEXT_675);
+						stringBuffer.append(genFeature.getFeatureKind());
+						stringBuffer.append(TEXT_676);
+						stringBuffer.append(publicStaticFinalFlag);
+						stringBuffer.append(genFeature.getImportedMetaType());
+						stringBuffer.append(TEXT_677);
+						stringBuffer.append(genClass.getFeatureID(genFeature));
+						stringBuffer.append(TEXT_678);
+						stringBuffer.append(genFeature.getFeatureAccessorName());
+						stringBuffer.append(TEXT_679);
+					}
+					if (genModel.isOperationReflection()) {
+						for (GenOperation genOperation : genClass.getGenOperations()) {
+							stringBuffer.append(TEXT_680);
+							stringBuffer.append(genOperation.getFormattedName());
+							stringBuffer.append(TEXT_681);
+							stringBuffer.append(publicStaticFinalFlag);
+							stringBuffer.append(genOperation.getImportedMetaType());
+							stringBuffer.append(TEXT_682);
+							stringBuffer.append(genClass.getOperationID(genOperation, false));
+							stringBuffer.append(TEXT_683);
+							stringBuffer.append(genOperation.getOperationAccessorName());
+							stringBuffer.append(TEXT_684);
+						}
+					}
+				}
+			}
+			stringBuffer.append(TEXT_685);
+		}
+		stringBuffer.append(TEXT_686);
+		stringBuffer.append(isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_687);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genPackage.hasClassifiers() && !genModel.isSuppressEMFMetaData()
+				&& !genModel.isSuppressInterfaces());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Plugin.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Plugin.java
index 2786510..340846e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Plugin.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/Plugin.java
@@ -1,309 +1,308 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Plugin extends org.eclipse.egf.emf.pattern.base.GenModelJava {

-	protected static String nl;

-

-	public static synchronized Plugin create(String lineSeparator) {

-		nl = lineSeparator;

-		Plugin result = new Plugin();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the central singleton for the ";

-	protected final String TEXT_5 = " model plugin." + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public final class ";

-	protected final String TEXT_6 = " extends EMFPlugin" + NL + "{";

-	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_8 = " copyright = ";

-	protected final String TEXT_9 = ";";

-	protected final String TEXT_10 = NL;

-	protected final String TEXT_11 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_12 = " INSTANCE = new ";

-	protected final String TEXT_13 = "();" + NL;

-	protected final String TEXT_14 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprivate static Implementation plugin;" + NL;

-	protected final String TEXT_15 = NL + "\t/**" + NL + "\t * Create the instance." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_16 = "()" + NL + "\t{" + NL + "\t\tsuper(new ResourceLocator [] {});" + NL + "\t}" + NL

-			+ "" + NL + "\t/**" + NL + "\t * Returns the singleton instance of the Eclipse plugin." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the singleton instance." + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_17 = NL + "\t@Override";

-	protected final String TEXT_18 = NL + "\tpublic ResourceLocator getPluginResourceLocator()" + NL + "\t{";

-	protected final String TEXT_19 = NL + "\t\treturn null;";

-	protected final String TEXT_20 = NL + "\t\treturn plugin;";

-	protected final String TEXT_21 = NL + "\t}" + NL;

-	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * Returns the singleton instance of the Eclipse plugin."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the singleton instance." + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static Implementation getPlugin()" + NL + "\t{" + NL + "\t\treturn plugin;" + NL + "\t}" + NL

-			+ "" + NL + "\t/**" + NL + "\t * The actual implementation of the Eclipse <b>Plugin</b>." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static class Implementation extends EclipsePlugin" + NL + "\t{" + NL + "\t\t/**"

-			+ NL + "\t\t * Creates an instance." + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->";

-	protected final String TEXT_23 = NL + "\t\t * @param descriptor the description of the plugin.";

-	protected final String TEXT_24 = NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic Implementation(";

-	protected final String TEXT_25 = " descriptor";

-	protected final String TEXT_26 = ")" + NL + "\t\t{" + NL + "\t\t\tsuper(";

-	protected final String TEXT_27 = "descriptor";

-	protected final String TEXT_28 = ");" + NL + "" + NL + "\t\t\t// Remember the static instance." + NL + "\t\t\t//"

-			+ NL + "\t\t\tplugin = this;" + NL + "\t\t}";

-	protected final String TEXT_29 = NL + "\t" + NL + "\t\t/**" + NL

-			+ "\t\t * The actual implementation of the purely OSGi-compatible <b>Bundle Activator</b>." + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tpublic static final class Activator extends ";

-	protected final String TEXT_30 = ".OSGiDelegatingBundleActivator" + NL + "\t\t{";

-	protected final String TEXT_31 = NL + "\t\t\t@Override";

-	protected final String TEXT_32 = NL + "\t\t\tprotected ";

-	protected final String TEXT_33 = " createBundle()" + NL + "\t\t\t{" + NL + "\t\t\t\treturn new Implementation();"

-			+ NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_34 = NL + "\t}" + NL;

-	protected final String TEXT_35 = NL + "}";

-	protected final String TEXT_36 = NL;

-	protected final String TEXT_37 = NL;

-	protected final String TEXT_38 = NL;

-

-	public Plugin() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_37);

-		stringBuffer.append(TEXT_38);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPath = genModel.getModelDirectory();

-		packageName = genModel.getModelPluginPackageName();

-		className = genModel.getModelPluginClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2004 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getModelPluginPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.addImport("org.eclipse.emf.common.EMFPlugin");

-		genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genModel.getModelName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genModel.getModelPluginClassName());

-		stringBuffer.append(TEXT_6);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_10);

-		}

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(genModel.getModelPluginClassName());

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(genModel.getModelPluginClassName());

-		stringBuffer.append(TEXT_13);

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_14);

-		}

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(genModel.getModelPluginClassName());

-		stringBuffer.append(TEXT_16);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_17);

-		}

-		stringBuffer.append(TEXT_18);

-		if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_19);

-		} else {

-			stringBuffer.append(TEXT_20);

-		}

-		stringBuffer.append(TEXT_21);

-		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {

-			stringBuffer.append(TEXT_22);

-			if (genModel.needsRuntimeCompatibility()) {

-				stringBuffer.append(TEXT_23);

-			}

-			stringBuffer.append(TEXT_24);

-			if (genModel.needsRuntimeCompatibility()) {

-				stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor"));

-				stringBuffer.append(TEXT_25);

-			}

-			stringBuffer.append(TEXT_26);

-			if (genModel.needsRuntimeCompatibility()) {

-				stringBuffer.append(TEXT_27);

-			}

-			stringBuffer.append(TEXT_28);

-			if (genModel.isOSGiCompatible()) {

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.EMFPlugin"));

-				stringBuffer.append(TEXT_30);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_31);

-				}

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genModel.getImportedName("org.osgi.framework.BundleActivator"));

-				stringBuffer.append(TEXT_33);

-			}

-			stringBuffer.append(TEXT_34);

-		}

-		stringBuffer.append(TEXT_35);

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_36);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate && (genModel.hasModelPluginClass());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Plugin extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+	protected static String nl;
+
+	public static synchronized Plugin create(String lineSeparator) {
+		nl = lineSeparator;
+		Plugin result = new Plugin();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * This is the central singleton for the ";
+	protected final String TEXT_5 = " model plugin." + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public final class ";
+	protected final String TEXT_6 = " extends EMFPlugin" + NL + "{";
+	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_8 = " copyright = ";
+	protected final String TEXT_9 = ";";
+	protected final String TEXT_10 = NL;
+	protected final String TEXT_11 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static final ";
+	protected final String TEXT_12 = " INSTANCE = new ";
+	protected final String TEXT_13 = "();" + NL;
+	protected final String TEXT_14 = NL + "\t/**" + NL + "\t * Keep track of the singleton." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprivate static Implementation plugin;" + NL;
+	protected final String TEXT_15 = NL + "\t/**" + NL + "\t * Create the instance." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic ";
+	protected final String TEXT_16 = "()" + NL + "\t{" + NL + "\t\tsuper(new ResourceLocator [] {});" + NL + "\t}" + NL
+			+ "" + NL + "\t/**" + NL + "\t * Returns the singleton instance of the Eclipse plugin." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the singleton instance." + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_17 = NL + "\t@Override";
+	protected final String TEXT_18 = NL + "\tpublic ResourceLocator getPluginResourceLocator()" + NL + "\t{";
+	protected final String TEXT_19 = NL + "\t\treturn null;";
+	protected final String TEXT_20 = NL + "\t\treturn plugin;";
+	protected final String TEXT_21 = NL + "\t}" + NL;
+	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * Returns the singleton instance of the Eclipse plugin."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the singleton instance." + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static Implementation getPlugin()" + NL + "\t{" + NL + "\t\treturn plugin;" + NL + "\t}" + NL
+			+ "" + NL + "\t/**" + NL + "\t * The actual implementation of the Eclipse <b>Plugin</b>." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static class Implementation extends EclipsePlugin" + NL + "\t{" + NL + "\t\t/**" + NL
+			+ "\t\t * Creates an instance." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->";
+	protected final String TEXT_23 = NL + "\t\t * @param descriptor the description of the plugin.";
+	protected final String TEXT_24 = NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic Implementation(";
+	protected final String TEXT_25 = " descriptor";
+	protected final String TEXT_26 = ")" + NL + "\t\t{" + NL + "\t\t\tsuper(";
+	protected final String TEXT_27 = "descriptor";
+	protected final String TEXT_28 = ");" + NL + "" + NL + "\t\t\t// Remember the static instance." + NL + "\t\t\t//"
+			+ NL + "\t\t\tplugin = this;" + NL + "\t\t}";
+	protected final String TEXT_29 = NL + "\t" + NL + "\t\t/**" + NL
+			+ "\t\t * The actual implementation of the purely OSGi-compatible <b>Bundle Activator</b>." + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic static final class Activator extends ";
+	protected final String TEXT_30 = ".OSGiDelegatingBundleActivator" + NL + "\t\t{";
+	protected final String TEXT_31 = NL + "\t\t\t@Override";
+	protected final String TEXT_32 = NL + "\t\t\tprotected ";
+	protected final String TEXT_33 = " createBundle()" + NL + "\t\t\t{" + NL + "\t\t\t\treturn new Implementation();"
+			+ NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_34 = NL + "\t}" + NL;
+	protected final String TEXT_35 = NL + "}";
+	protected final String TEXT_36 = NL;
+	protected final String TEXT_37 = NL;
+	protected final String TEXT_38 = NL;
+
+	public Plugin() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_37);
+		stringBuffer.append(TEXT_38);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPath = genModel.getModelDirectory();
+		packageName = genModel.getModelPluginPackageName();
+		className = genModel.getModelPluginClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2004 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getModelPluginPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.addImport("org.eclipse.emf.common.EMFPlugin");
+		genModel.addImport("org.eclipse.emf.common.util.ResourceLocator");
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genModel.getModelName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genModel.getModelPluginClassName());
+		stringBuffer.append(TEXT_6);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_10);
+		}
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(genModel.getModelPluginClassName());
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(genModel.getModelPluginClassName());
+		stringBuffer.append(TEXT_13);
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_14);
+		}
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(genModel.getModelPluginClassName());
+		stringBuffer.append(TEXT_16);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_17);
+		}
+		stringBuffer.append(TEXT_18);
+		if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_19);
+		} else {
+			stringBuffer.append(TEXT_20);
+		}
+		stringBuffer.append(TEXT_21);
+		if (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT) {
+			stringBuffer.append(TEXT_22);
+			if (genModel.needsRuntimeCompatibility()) {
+				stringBuffer.append(TEXT_23);
+			}
+			stringBuffer.append(TEXT_24);
+			if (genModel.needsRuntimeCompatibility()) {
+				stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.IPluginDescriptor"));
+				stringBuffer.append(TEXT_25);
+			}
+			stringBuffer.append(TEXT_26);
+			if (genModel.needsRuntimeCompatibility()) {
+				stringBuffer.append(TEXT_27);
+			}
+			stringBuffer.append(TEXT_28);
+			if (genModel.isOSGiCompatible()) {
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.EMFPlugin"));
+				stringBuffer.append(TEXT_30);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_31);
+				}
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genModel.getImportedName("org.osgi.framework.BundleActivator"));
+				stringBuffer.append(TEXT_33);
+			}
+			stringBuffer.append(TEXT_34);
+		}
+		stringBuffer.append(TEXT_35);
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_36);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genModel.hasModelPluginClass());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginProperties.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginProperties.java
index cc44d3b..eced52c 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginProperties.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginProperties.java
@@ -1,201 +1,200 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class PluginProperties extends org.eclipse.egf.emf.pattern.base.GenModelProperties {

-	protected static String nl;

-

-	public static synchronized PluginProperties create(String lineSeparator) {

-		nl = lineSeparator;

-		PluginProperties result = new PluginProperties();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + NL + "pluginName = ";

-	protected final String TEXT_3 = " Model" + NL + "providerName = www.example.org";

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL + "_UI_";

-	protected final String TEXT_6 = "_content_type = ";

-	protected final String TEXT_7 = " File";

-	protected final String TEXT_8 = NL;

-	protected final String TEXT_9 = NL;

-	protected final String TEXT_10 = NL;

-

-	public PluginProperties() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_9);

-		stringBuffer.append(TEXT_10);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getModelProjectDirectory() + "/plugin.properties";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2004 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getModelName());

-		stringBuffer.append(TEXT_3);

-		boolean first = true;

-		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

-			if (genPackage.isContentType()) {

-				if (first) {

-					first = false;

-					stringBuffer.append(TEXT_4);

-				}

-				stringBuffer.append(TEXT_5);

-				stringBuffer.append(genPackage.getPrefix());

-				stringBuffer.append(TEXT_6);

-				stringBuffer.append(genPackage.getPrefix());

-				stringBuffer.append(TEXT_7);

-			}

-		}

-		stringBuffer.append(TEXT_8);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate && (genModel.hasPluginSupport());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginProperties extends org.eclipse.egf.emf.pattern.base.GenModelProperties {
+	protected static String nl;
+
+	public static synchronized PluginProperties create(String lineSeparator) {
+		nl = lineSeparator;
+		PluginProperties result = new PluginProperties();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + NL + "pluginName = ";
+	protected final String TEXT_3 = " Model" + NL + "providerName = www.example.org";
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL + "_UI_";
+	protected final String TEXT_6 = "_content_type = ";
+	protected final String TEXT_7 = " File";
+	protected final String TEXT_8 = NL;
+	protected final String TEXT_9 = NL;
+	protected final String TEXT_10 = NL;
+
+	public PluginProperties() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_9);
+		stringBuffer.append(TEXT_10);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getModelProjectDirectory() + "/plugin.properties";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2004 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getModelName());
+		stringBuffer.append(TEXT_3);
+		boolean first = true;
+		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+			if (genPackage.isContentType()) {
+				if (first) {
+					first = false;
+					stringBuffer.append(TEXT_4);
+				}
+				stringBuffer.append(TEXT_5);
+				stringBuffer.append(genPackage.getPrefix());
+				stringBuffer.append(TEXT_6);
+				stringBuffer.append(genPackage.getPrefix());
+				stringBuffer.append(TEXT_7);
+			}
+		}
+		stringBuffer.append(TEXT_8);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genModel.hasPluginSupport());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginXML.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginXML.java
index 86e26c2..ea6a46d 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginXML.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/PluginXML.java
@@ -1,354 +1,352 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class PluginXML extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized PluginXML create(String lineSeparator) {

-		nl = lineSeparator;

-		PluginXML result = new PluginXML();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<?eclipse version=\"3.0\"?>"

-			+ NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL;

-	protected final String TEXT_4 = NL + "<plugin>";

-	protected final String TEXT_5 = NL + "<plugin" + NL + "      name=\"%pluginName\"" + NL + "      id=\"";

-	protected final String TEXT_6 = "\"" + NL + "      version=\"1.0.0\"";

-	protected final String TEXT_7 = NL + "      provider-name=\"%providerName\"" + NL + "      class=\"";

-	protected final String TEXT_8 = "$Implementation\">";

-	protected final String TEXT_9 = NL + "      provider-name=\"%providerName\">";

-	protected final String TEXT_10 = NL + NL + "   <requires>";

-	protected final String TEXT_11 = NL + "      <import plugin=\"";

-	protected final String TEXT_12 = "\"";

-	protected final String TEXT_13 = " export=\"true\"";

-	protected final String TEXT_14 = "/>";

-	protected final String TEXT_15 = NL + "   </requires>" + NL + "" + NL + "   <runtime>";

-	protected final String TEXT_16 = NL + "      <library name=\"";

-	protected final String TEXT_17 = ".jar\">";

-	protected final String TEXT_18 = NL + "      <library name=\".\">";

-	protected final String TEXT_19 = NL + "         <export name=\"*\"/>" + NL + "      </library>" + NL

-			+ "   </runtime>";

-	protected final String TEXT_20 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.generated_package\">";

-	protected final String TEXT_21 = NL + "      <!-- @generated ";

-	protected final String TEXT_22 = " -->";

-	protected final String TEXT_23 = NL + "      <package" + NL + "            uri=\"";

-	protected final String TEXT_24 = "\"";

-	protected final String TEXT_25 = NL + "            class=\"";

-	protected final String TEXT_26 = "\"" + NL + "            genModel=\"";

-	protected final String TEXT_27 = "\"/>";

-	protected final String TEXT_28 = NL + "            class=\"";

-	protected final String TEXT_29 = "\"/>";

-	protected final String TEXT_30 = NL + "   </extension>";

-	protected final String TEXT_31 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.content_parser\">";

-	protected final String TEXT_32 = NL + "      <!-- @generated ";

-	protected final String TEXT_33 = " -->";

-	protected final String TEXT_34 = NL + "      <parser" + NL + "            contentTypeIdentifier=\"";

-	protected final String TEXT_35 = "\"" + NL + "            class=\"";

-	protected final String TEXT_36 = "\"/>" + NL + "   </extension>" + NL + "" + NL

-			+ "   <extension point=\"org.eclipse.core.contenttype.contentTypes\">";

-	protected final String TEXT_37 = NL + "      <!-- @generated ";

-	protected final String TEXT_38 = " -->";

-	protected final String TEXT_39 = NL + "      <content-type" + NL + "            base-type=\"";

-	protected final String TEXT_40 = "\"" + NL + "            file-extensions=\"";

-	protected final String TEXT_41 = "\"" + NL + "            id=\"";

-	protected final String TEXT_42 = "\"" + NL + "            name=\"%_UI_";

-	protected final String TEXT_43 = "_content_type\"" + NL + "            priority=\"normal\">" + NL

-			+ "         <describer class=\"org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer\">";

-	protected final String TEXT_44 = NL + "            <parameter name=\"namespace\" value=\"";

-	protected final String TEXT_45 = "\"/>";

-	protected final String TEXT_46 = NL + "            <parameter name=\"kind\" value=\"xmi\"/>";

-	protected final String TEXT_47 = NL + "         </describer>" + NL + "      </content-type>" + NL

-			+ "   </extension>";

-	protected final String TEXT_48 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.extension_parser\">";

-	protected final String TEXT_49 = NL + "      <!-- @generated ";

-	protected final String TEXT_50 = " -->";

-	protected final String TEXT_51 = NL + "      <parser" + NL + "            type=\"";

-	protected final String TEXT_52 = "\"" + NL + "            class=\"";

-	protected final String TEXT_53 = "\"/>";

-	protected final String TEXT_54 = NL + "   </extension>";

-	protected final String TEXT_55 = NL + NL + "</plugin>" + NL;

-	protected final String TEXT_56 = NL;

-	protected final String TEXT_57 = NL;

-

-	public PluginXML() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_56);

-		stringBuffer.append(TEXT_57);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getModelProjectDirectory() + "/plugin.xml";

-		overwrite = true;

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2005 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		String key = genModel.getPluginKey();

-		boolean hasKey = key != null && !key.equals(""); /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_3);

-		if (genModel.isBundleManifest()) {

-			stringBuffer.append(TEXT_4);

-		} else {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genModel.getModelPluginID());

-			stringBuffer.append(TEXT_6);

-			if (genModel.hasModelPluginClass()) {

-				stringBuffer.append(TEXT_7);

-				stringBuffer.append(genModel.getQualifiedModelPluginClassName());

-				stringBuffer.append(TEXT_8);

-			} else {

-				stringBuffer.append(TEXT_9);

-			}

-			stringBuffer.append(TEXT_10);

-			for (String pluginID : genModel.getModelRequiredPlugins()) {

-				stringBuffer.append(TEXT_11);

-				stringBuffer.append(pluginID);

-				stringBuffer.append(TEXT_12);

-				if (!pluginID.startsWith("org.eclipse.core.runtime")) {

-					stringBuffer.append(TEXT_13);

-				}

-				stringBuffer.append(TEXT_14);

-			}

-			stringBuffer.append(TEXT_15);

-			if (genModel.isRuntimeJar()) {

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genModel.getModelPluginID());

-				stringBuffer.append(TEXT_17);

-			} else {

-				stringBuffer.append(TEXT_18);

-			}

-			stringBuffer.append(TEXT_19);

-		}

-		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

-			stringBuffer.append(TEXT_20);

-			if (hasKey) {

-				stringBuffer.append(TEXT_21);

-				stringBuffer.append(key);

-				stringBuffer.append(TEXT_22);

-			}

-			stringBuffer.append(TEXT_23);

-			stringBuffer.append(genPackage.getNSURI());

-			stringBuffer.append(TEXT_24);

-			if (genModel.hasLocalGenModel()) {

-				stringBuffer.append(TEXT_25);

-				stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-				stringBuffer.append(TEXT_26);

-				stringBuffer.append(genModel.getRelativeGenModelLocation());

-				stringBuffer.append(TEXT_27);

-			} else {

-				stringBuffer.append(TEXT_28);

-				stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-				stringBuffer.append(TEXT_29);

-			}

-			stringBuffer.append(TEXT_30);

-			if (genPackage.isContentType()) {

-				stringBuffer.append(TEXT_31);

-				if (hasKey) {

-					stringBuffer.append(TEXT_32);

-					stringBuffer.append(key);

-					stringBuffer.append(TEXT_33);

-				}

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genPackage.getContentTypeIdentifier());

-				stringBuffer.append(TEXT_35);

-				stringBuffer.append(genPackage.getQualifiedEffectiveResourceFactoryClassName());

-				stringBuffer.append(TEXT_36);

-				if (hasKey) {

-					stringBuffer.append(TEXT_37);

-					stringBuffer.append(key);

-					stringBuffer.append(TEXT_38);

-				}

-				stringBuffer.append(TEXT_39);

-				stringBuffer.append(genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi"

-						: "org.eclipse.core.runtime.xml");

-				stringBuffer.append(TEXT_40);

-				stringBuffer.append(genPackage.getFileExtensions());

-				stringBuffer.append(TEXT_41);

-				stringBuffer.append(genPackage.getContentTypeIdentifier());

-				stringBuffer.append(TEXT_42);

-				stringBuffer.append(genPackage.getPrefix());

-				stringBuffer.append(TEXT_43);

-				if (genPackage.hasTargetNamespace()) {

-					stringBuffer.append(TEXT_44);

-					stringBuffer.append(genPackage.getNSURI());

-					stringBuffer.append(TEXT_45);

-				}

-				if (genPackage.isXMIResource()) {

-					stringBuffer.append(TEXT_46);

-				}

-				stringBuffer.append(TEXT_47);

-			} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {

-				stringBuffer.append(TEXT_48);

-				if (hasKey) {

-					stringBuffer.append(TEXT_49);

-					stringBuffer.append(key);

-					stringBuffer.append(TEXT_50);

-				}

-				for (String fileExtension : genPackage.getFileExtensionList()) {

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(fileExtension);

-					stringBuffer.append(TEXT_52);

-					stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());

-					stringBuffer.append(TEXT_53);

-				}

-				stringBuffer.append(TEXT_54);

-			}

-		}

-		stringBuffer.append(TEXT_55);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate

-				&& (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT)

-				&& (genModel.hasPluginSupport() && !genModel.sameModelEditProject() && !genModel

-						.sameModelEditorProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized PluginXML create(String lineSeparator) {
+		nl = lineSeparator;
+		PluginXML result = new PluginXML();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<?eclipse version=\"3.0\"?>"
+			+ NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL;
+	protected final String TEXT_4 = NL + "<plugin>";
+	protected final String TEXT_5 = NL + "<plugin" + NL + "      name=\"%pluginName\"" + NL + "      id=\"";
+	protected final String TEXT_6 = "\"" + NL + "      version=\"1.0.0\"";
+	protected final String TEXT_7 = NL + "      provider-name=\"%providerName\"" + NL + "      class=\"";
+	protected final String TEXT_8 = "$Implementation\">";
+	protected final String TEXT_9 = NL + "      provider-name=\"%providerName\">";
+	protected final String TEXT_10 = NL + NL + "   <requires>";
+	protected final String TEXT_11 = NL + "      <import plugin=\"";
+	protected final String TEXT_12 = "\"";
+	protected final String TEXT_13 = " export=\"true\"";
+	protected final String TEXT_14 = "/>";
+	protected final String TEXT_15 = NL + "   </requires>" + NL + "" + NL + "   <runtime>";
+	protected final String TEXT_16 = NL + "      <library name=\"";
+	protected final String TEXT_17 = ".jar\">";
+	protected final String TEXT_18 = NL + "      <library name=\".\">";
+	protected final String TEXT_19 = NL + "         <export name=\"*\"/>" + NL + "      </library>" + NL
+			+ "   </runtime>";
+	protected final String TEXT_20 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.generated_package\">";
+	protected final String TEXT_21 = NL + "      <!-- @generated ";
+	protected final String TEXT_22 = " -->";
+	protected final String TEXT_23 = NL + "      <package" + NL + "            uri=\"";
+	protected final String TEXT_24 = "\"";
+	protected final String TEXT_25 = NL + "            class=\"";
+	protected final String TEXT_26 = "\"" + NL + "            genModel=\"";
+	protected final String TEXT_27 = "\"/>";
+	protected final String TEXT_28 = NL + "            class=\"";
+	protected final String TEXT_29 = "\"/>";
+	protected final String TEXT_30 = NL + "   </extension>";
+	protected final String TEXT_31 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.content_parser\">";
+	protected final String TEXT_32 = NL + "      <!-- @generated ";
+	protected final String TEXT_33 = " -->";
+	protected final String TEXT_34 = NL + "      <parser" + NL + "            contentTypeIdentifier=\"";
+	protected final String TEXT_35 = "\"" + NL + "            class=\"";
+	protected final String TEXT_36 = "\"/>" + NL + "   </extension>" + NL + "" + NL
+			+ "   <extension point=\"org.eclipse.core.contenttype.contentTypes\">";
+	protected final String TEXT_37 = NL + "      <!-- @generated ";
+	protected final String TEXT_38 = " -->";
+	protected final String TEXT_39 = NL + "      <content-type" + NL + "            base-type=\"";
+	protected final String TEXT_40 = "\"" + NL + "            file-extensions=\"";
+	protected final String TEXT_41 = "\"" + NL + "            id=\"";
+	protected final String TEXT_42 = "\"" + NL + "            name=\"%_UI_";
+	protected final String TEXT_43 = "_content_type\"" + NL + "            priority=\"normal\">" + NL
+			+ "         <describer class=\"org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer\">";
+	protected final String TEXT_44 = NL + "            <parameter name=\"namespace\" value=\"";
+	protected final String TEXT_45 = "\"/>";
+	protected final String TEXT_46 = NL + "            <parameter name=\"kind\" value=\"xmi\"/>";
+	protected final String TEXT_47 = NL + "         </describer>" + NL + "      </content-type>" + NL
+			+ "   </extension>";
+	protected final String TEXT_48 = NL + NL + "   <extension point=\"org.eclipse.emf.ecore.extension_parser\">";
+	protected final String TEXT_49 = NL + "      <!-- @generated ";
+	protected final String TEXT_50 = " -->";
+	protected final String TEXT_51 = NL + "      <parser" + NL + "            type=\"";
+	protected final String TEXT_52 = "\"" + NL + "            class=\"";
+	protected final String TEXT_53 = "\"/>";
+	protected final String TEXT_54 = NL + "   </extension>";
+	protected final String TEXT_55 = NL + NL + "</plugin>" + NL;
+	protected final String TEXT_56 = NL;
+	protected final String TEXT_57 = NL;
+
+	public PluginXML() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_56);
+		stringBuffer.append(TEXT_57);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getModelProjectDirectory() + "/plugin.xml";
+		overwrite = true;
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2005 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		String key = genModel.getPluginKey();
+		boolean hasKey = key != null && !key.equals("");
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_3);
+		if (genModel.isBundleManifest()) {
+			stringBuffer.append(TEXT_4);
+		} else {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genModel.getModelPluginID());
+			stringBuffer.append(TEXT_6);
+			if (genModel.hasModelPluginClass()) {
+				stringBuffer.append(TEXT_7);
+				stringBuffer.append(genModel.getQualifiedModelPluginClassName());
+				stringBuffer.append(TEXT_8);
+			} else {
+				stringBuffer.append(TEXT_9);
+			}
+			stringBuffer.append(TEXT_10);
+			for (String pluginID : genModel.getModelRequiredPlugins()) {
+				stringBuffer.append(TEXT_11);
+				stringBuffer.append(pluginID);
+				stringBuffer.append(TEXT_12);
+				if (!pluginID.startsWith("org.eclipse.core.runtime")) {
+					stringBuffer.append(TEXT_13);
+				}
+				stringBuffer.append(TEXT_14);
+			}
+			stringBuffer.append(TEXT_15);
+			if (genModel.isRuntimeJar()) {
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genModel.getModelPluginID());
+				stringBuffer.append(TEXT_17);
+			} else {
+				stringBuffer.append(TEXT_18);
+			}
+			stringBuffer.append(TEXT_19);
+		}
+		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+			stringBuffer.append(TEXT_20);
+			if (hasKey) {
+				stringBuffer.append(TEXT_21);
+				stringBuffer.append(key);
+				stringBuffer.append(TEXT_22);
+			}
+			stringBuffer.append(TEXT_23);
+			stringBuffer.append(genPackage.getNSURI());
+			stringBuffer.append(TEXT_24);
+			if (genModel.hasLocalGenModel()) {
+				stringBuffer.append(TEXT_25);
+				stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+				stringBuffer.append(TEXT_26);
+				stringBuffer.append(genModel.getRelativeGenModelLocation());
+				stringBuffer.append(TEXT_27);
+			} else {
+				stringBuffer.append(TEXT_28);
+				stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+				stringBuffer.append(TEXT_29);
+			}
+			stringBuffer.append(TEXT_30);
+			if (genPackage.isContentType()) {
+				stringBuffer.append(TEXT_31);
+				if (hasKey) {
+					stringBuffer.append(TEXT_32);
+					stringBuffer.append(key);
+					stringBuffer.append(TEXT_33);
+				}
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genPackage.getContentTypeIdentifier());
+				stringBuffer.append(TEXT_35);
+				stringBuffer.append(genPackage.getQualifiedEffectiveResourceFactoryClassName());
+				stringBuffer.append(TEXT_36);
+				if (hasKey) {
+					stringBuffer.append(TEXT_37);
+					stringBuffer.append(key);
+					stringBuffer.append(TEXT_38);
+				}
+				stringBuffer.append(TEXT_39);
+				stringBuffer.append(
+						genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml");
+				stringBuffer.append(TEXT_40);
+				stringBuffer.append(genPackage.getFileExtensions());
+				stringBuffer.append(TEXT_41);
+				stringBuffer.append(genPackage.getContentTypeIdentifier());
+				stringBuffer.append(TEXT_42);
+				stringBuffer.append(genPackage.getPrefix());
+				stringBuffer.append(TEXT_43);
+				if (genPackage.hasTargetNamespace()) {
+					stringBuffer.append(TEXT_44);
+					stringBuffer.append(genPackage.getNSURI());
+					stringBuffer.append(TEXT_45);
+				}
+				if (genPackage.isXMIResource()) {
+					stringBuffer.append(TEXT_46);
+				}
+				stringBuffer.append(TEXT_47);
+			} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {
+				stringBuffer.append(TEXT_48);
+				if (hasKey) {
+					stringBuffer.append(TEXT_49);
+					stringBuffer.append(key);
+					stringBuffer.append(TEXT_50);
+				}
+				for (String fileExtension : genPackage.getFileExtensionList()) {
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(fileExtension);
+					stringBuffer.append(TEXT_52);
+					stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());
+					stringBuffer.append(TEXT_53);
+				}
+				stringBuffer.append(TEXT_54);
+			}
+		}
+		stringBuffer.append(TEXT_55);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT)
+				&& (genModel.hasPluginSupport() && !genModel.sameModelEditProject()
+						&& !genModel.sameModelEditorProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceClass.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceClass.java
index 47ff8f8..9f18e9e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceClass.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceClass.java
@@ -1,968 +1,918 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ResourceClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized ResourceClass create(String lineSeparator) {

-		nl = lineSeparator;

-		ResourceClass result = new ResourceClass();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * The <b>Resource </b> associated with the package." + NL + " * <!-- end-user-doc -->" + NL

-			+ " * @see ";

-	protected final String TEXT_5 = NL + " * @generated" + NL + " */" + NL + "public class ";

-	protected final String TEXT_6 = " extends ";

-	protected final String TEXT_7 = NL + "{";

-	protected final String TEXT_8 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_9 = " copyright = ";

-	protected final String TEXT_10 = ";";

-	protected final String TEXT_11 = NL;

-	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * Creates an instance of the resource." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @param uri the URI of the new resource." + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_13 = "(URI uri)" + NL + "\t{" + NL + "\t\tsuper(uri);";

-	protected final String TEXT_14 = NL + "\t}" + NL;

-	protected final String TEXT_15 = NL + "\t/**" + NL

-			+ "\t * A load option that turns of the use of the generate data converters." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static final String OPTION_USE_DATA_CONVERTER = \"USE_DATA_CONVERTER\";" + NL

-			+ "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t */";

-	protected final String TEXT_16 = NL + "\t@Override";

-	protected final String TEXT_17 = NL + "\tpublic void doLoad(InputStream inputStream, ";

-	protected final String TEXT_18 = " options) throws IOException" + NL + "\t{" + NL

-			+ "\t\tif (options != null && Boolean.TRUE.equals(options.get(OPTION_USE_DATA_CONVERTER)))" + NL + "\t\t{"

-			+ NL + "\t\t  getContents().add" + NL + "\t\t\t (load" + NL + "\t\t\t\t (new InputSource(inputStream), "

-			+ NL + "\t\t\t\t  (";

-	protected final String TEXT_19 = ")options.get(XMLResource.OPTION_PARSER_FEATURES), " + NL + "\t\t\t\t  (";

-	protected final String TEXT_20 = ")options.get(XMLResource.OPTION_PARSER_PROPERTIES), " + NL

-			+ "\t\t\t\t  Boolean.TRUE.equals(options.get(XMLResource.OPTION_USE_LEXICAL_HANDLER))).eContainer());" + NL

-			+ "\t\t}" + NL + "\t\telse" + NL + "\t\t{  " + NL + "\t\t\tsuper.doLoad(inputStream, options);" + NL

-			+ "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_21 = NL + "\t@Override";

-	protected final String TEXT_22 = NL + "\tpublic void doLoad(InputSource inputSource, ";

-	protected final String TEXT_23 = " options) throws IOException" + NL + "\t{" + NL

-			+ "\t\tif (options != null && Boolean.TRUE.equals(options.get(OPTION_USE_DATA_CONVERTER)))" + NL + "\t\t{"

-			+ NL + "\t\t  getContents().add" + NL + "\t\t\t (load" + NL + "\t\t\t\t (inputSource," + NL + "\t\t\t\t  (";

-	protected final String TEXT_24 = ")options.get(XMLResource.OPTION_PARSER_FEATURES), " + NL + "\t\t\t\t  (";

-	protected final String TEXT_25 = ")options.get(XMLResource.OPTION_PARSER_PROPERTIES), "

-			+ NL

-			+ "\t\t\t\t  Boolean.TRUE.equals(options.get(XMLResource.OPTION_USE_LEXICAL_HANDLER))).eContainer());"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\telse"

-			+ NL

-			+ "\t\t{  "

-			+ NL

-			+ "\t\t\tsuper.doLoad(inputSource, options);"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @generated"

-			+ NL

-			+ "\t */"

-			+ NL

-			+ "\tprotected static final XMLParserPool parserPool = new XMLParserPoolImpl();"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * Loads an instance from the input."

-			+ NL

-			+ "\t * <!-- begin-user-doc -->"

-			+ NL

-			+ "\t * <!-- end-user-doc -->"

-			+ NL

-			+ "\t * @param inputSource the input from which to load."

-			+ NL

-			+ "\t * @param features a map of the parser features and their values."

-			+ NL

-			+ "\t * @param properties a map of a parser properties and their values."

-			+ NL

-			+ "\t * @param useLexicalHandler whether a lexical handler should be used during loading."

-			+ NL

-			+ "\t * @return the root object; for the case of a document root, the child of that document root is return."

-			+ NL + "\t * @throws ParserConfigurationException" + NL + "\t * @throws SAXException" + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic static EObject load(InputSource inputSource, ";

-	protected final String TEXT_26 = " features, ";

-	protected final String TEXT_27 = " properties, boolean useLexicalHandler) throws IOException" + NL + "\t{" + NL

-			+ "\t\t";

-	protected final String TEXT_28 = " requiredFeatures = new ";

-	protected final String TEXT_29 = "();" + NL

-			+ "\t\trequiredFeatures.put(\"http://xml.org/sax/features/namespaces\", Boolean.TRUE); " + NL

-			+ "\t\tif (features != null)" + NL + "\t\t{" + NL + "\t\t\trequiredFeatures.putAll(features);" + NL

-			+ "\t\t}" + NL + "\t\t" + NL + "\t\tif (properties == null)" + NL + "\t\t{" + NL

-			+ "\t\t\tproperties = Collections.";

-	protected final String TEXT_30 = "emptyMap()";

-	protected final String TEXT_31 = "EMPTY_MAP";

-	protected final String TEXT_32 = ";"

-			+ NL

-			+ "\t\t}"

-			+ NL

-			+ "\t\t"

-			+ NL

-			+ "\t\tSAXParser saxParser = null;"

-			+ NL

-			+ "\t\ttry"

-			+ NL

-			+ "\t\t{"

-			+ NL

-			+ "\t\t\tsaxParser = parserPool.get(requiredFeatures, properties, useLexicalHandler);"

-			+ NL

-			+ "\t\t\tfinal FrameFactory.DocumentRootStackFrame documentRoot = FrameFactory.INSTANCE.pushDocumentRoot(null, null);"

-			+ NL + "\t\t\tXMLTypeResourceImpl.Handler handler = new XMLTypeResourceImpl.Handler(documentRoot);" + NL

-			+ "\t\t\tsaxParser.parse(inputSource, handler);";

-	protected final String TEXT_33 = NL

-			+ "\t\t\treturn (EObject)((EObject)FrameFactory.INSTANCE.popDocumentRoot(documentRoot)).eContents().get(0);";

-	protected final String TEXT_34 = NL

-			+ "\t\t\treturn FrameFactory.INSTANCE.popDocumentRoot(documentRoot).eContents().get(0);";

-	protected final String TEXT_35 = NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL + "\t\t{" + NL

-			+ "\t\t\tthrow new IOWrappedException(exception);" + NL + "\t\t}" + NL + "\t\tfinally" + NL + "\t\t{" + NL

-			+ "\t\t\tparserPool.release(saxParser, requiredFeatures, properties, useLexicalHandler);" + NL + "\t\t}"

-			+ NL + "\t}" + NL;

-	protected final String TEXT_36 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic final static class FrameFactory" + NL + "\t{" + NL + "\t\t/**" + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tpublic static final FrameFactory INSTANCE = new FrameFactory();" + NL + "\t";

-	protected final String TEXT_37 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";

-	protected final String TEXT_38 = "StackFrame ";

-	protected final String TEXT_39 = ";" + NL;

-	protected final String TEXT_40 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";

-	protected final String TEXT_41 = " ";

-	protected final String TEXT_42 = ";" + NL;

-	protected final String TEXT_43 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";

-	protected final String TEXT_44 = "StackFrame push";

-	protected final String TEXT_45 = "(";

-	protected final String TEXT_46 = " previous, Attributes attributes)" + NL + "\t\t{" + NL + "\t\t\t ";

-	protected final String TEXT_47 = "StackFrame result";

-	protected final String TEXT_48 = " = ";

-	protected final String TEXT_49 = " == null ? new ";

-	protected final String TEXT_50 = "StackFrame() : ";

-	protected final String TEXT_51 = ";" + NL + "\t\t\t ";

-	protected final String TEXT_52 = " = null;" + NL + "\t\t\t result";

-	protected final String TEXT_53 = ".pushOnto(previous);" + NL + "\t\t\t result";

-	protected final String TEXT_54 = ".handleAttributes(attributes);" + NL + "\t\t\t return result";

-	protected final String TEXT_55 = ";" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tpublic ";

-	protected final String TEXT_56 = " pop";

-	protected final String TEXT_57 = "(";

-	protected final String TEXT_58 = "StackFrame ";

-	protected final String TEXT_59 = ")" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_60 = " result";

-	protected final String TEXT_61 = "Value = ";

-	protected final String TEXT_62 = ".pop";

-	protected final String TEXT_63 = "();" + NL + "\t\t\tthis.";

-	protected final String TEXT_64 = " = ";

-	protected final String TEXT_65 = ";" + NL + "\t\t\treturn result";

-	protected final String TEXT_66 = "Value;" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tpublic static class ";

-	protected final String TEXT_67 = "StackFrame extends ";

-	protected final String TEXT_68 = NL + "\t\t{" + NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL

-			+ "\t\t\tprotected ";

-	protected final String TEXT_69 = " the";

-	protected final String TEXT_70 = ";" + NL + "\t\t";

-	protected final String TEXT_71 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL

-			+ "\t\t\tprotected ";

-	protected final String TEXT_72 = ".FrameFactory.";

-	protected final String TEXT_73 = "StackFrame ";

-	protected final String TEXT_74 = ";" + NL;

-	protected final String TEXT_75 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL

-			+ "\t\t\tprotected ";

-	protected final String TEXT_76 = " ";

-	protected final String TEXT_77 = ";" + NL + "\t\t";

-	protected final String TEXT_78 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */";

-	protected final String TEXT_79 = NL + "\t\t\t@Override";

-	protected final String TEXT_80 = NL + "\t\t\tpublic void handleAttributes(Attributes attributes)" + NL + "\t\t\t{";

-	protected final String TEXT_81 = NL + "\t\t\t\tString theValue = attributes.getValue(";

-	protected final String TEXT_82 = ", \"";

-	protected final String TEXT_83 = "\");";

-	protected final String TEXT_84 = NL + "\t\t\t\ttheValue = attributes.getValue(";

-	protected final String TEXT_85 = ", \"";

-	protected final String TEXT_86 = "\");";

-	protected final String TEXT_87 = NL + "\t\t\t\tif (theValue != null)" + NL + "\t\t\t\t{";

-	protected final String TEXT_88 = NL + "\t\t\t\t\tthe";

-	protected final String TEXT_89 = ".set";

-	protected final String TEXT_90 = "(";

-	protected final String TEXT_91 = ".create";

-	protected final String TEXT_92 = "(theValue));";

-	protected final String TEXT_93 = NL + "\t\t\t\t\tthe";

-	protected final String TEXT_94 = ".set";

-	protected final String TEXT_95 = "((";

-	protected final String TEXT_96 = ")";

-	protected final String TEXT_97 = ".createFromString(";

-	protected final String TEXT_98 = ", theValue));";

-	protected final String TEXT_99 = NL + "\t\t\t\t}";

-	protected final String TEXT_100 = NL + "\t\t\t\t// There are attributes to handle.";

-	protected final String TEXT_101 = NL + "\t\t\t}" + NL + "\t\t" + NL + "\t\t\t/**" + NL

-			+ "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"

-			+ NL + "\t\t\t */";

-	protected final String TEXT_102 = NL + "\t\t\t@Override";

-	protected final String TEXT_103 = NL + "\t\t\tpublic ";

-	protected final String TEXT_104 = " startElement(String namespace, String localName, String qName, Attributes attributes) throws SAXException"

-			+ NL + "\t\t\t{";

-	protected final String TEXT_105 = NL + "\t\t\t\t";

-	protected final String TEXT_106 = "else ";

-	protected final String TEXT_107 = "if (\"";

-	protected final String TEXT_108 = "\".equals(localName) && ";

-	protected final String TEXT_109 = ".equals(namespace))" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\treturn ";

-	protected final String TEXT_110 = " = ";

-	protected final String TEXT_111 = ".FrameFactory.INSTANCE.push";

-	protected final String TEXT_112 = "(this, attributes);" + NL + "\t\t\t\t}";

-	protected final String TEXT_113 = NL

-			+ "\t\t\t\treturn super.startElement(namespace, localName, qName, attributes);";

-	protected final String TEXT_114 = NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\treturn super.startElement(namespace, localName, qName, attributes);" + NL + "\t\t\t\t}";

-	protected final String TEXT_115 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t/**" + NL

-			+ "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"

-			+ NL + "\t\t\t */";

-	protected final String TEXT_116 = NL + "\t\t\t@Override";

-	protected final String TEXT_117 = NL + "\t\t\tpublic void endElement(";

-	protected final String TEXT_118 = " child) throws SAXException" + NL + "\t\t\t{";

-	protected final String TEXT_119 = NL + "\t\t\t\t";

-	protected final String TEXT_120 = "else ";

-	protected final String TEXT_121 = "if (child == ";

-	protected final String TEXT_122 = ")" + NL + "\t\t\t\t{";

-	protected final String TEXT_123 = NL + "\t\t\t\t\tthe";

-	protected final String TEXT_124 = ".";

-	protected final String TEXT_125 = "().add(";

-	protected final String TEXT_126 = ".FrameFactory.INSTANCE.pop";

-	protected final String TEXT_127 = "(";

-	protected final String TEXT_128 = "));";

-	protected final String TEXT_129 = NL + "\t\t\t\t\tthe";

-	protected final String TEXT_130 = ".set";

-	protected final String TEXT_131 = "(";

-	protected final String TEXT_132 = ".FrameFactory.INSTANCE.pop";

-	protected final String TEXT_133 = "(";

-	protected final String TEXT_134 = "));";

-	protected final String TEXT_135 = NL + "\t\t\t\t\t";

-	protected final String TEXT_136 = " = null;" + NL + "\t\t\t\t}";

-	protected final String TEXT_137 = NL + "\t\t\t\tsuper.endElement(child);";

-	protected final String TEXT_138 = NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tsuper.endElement(child);" + NL + "\t\t\t\t}";

-	protected final String TEXT_139 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t/**" + NL

-			+ "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"

-			+ NL + "\t\t\t */";

-	protected final String TEXT_140 = NL + "\t\t\t@Override";

-	protected final String TEXT_141 = NL + "\t\t\tpublic void create()" + NL + "\t\t\t{" + NL + "\t\t\t\tthe";

-	protected final String TEXT_142 = " = ";

-	protected final String TEXT_143 = ".create";

-	protected final String TEXT_144 = "();" + NL + "\t\t\t}" + NL + "\t\t" + NL + "\t\t\t/**" + NL

-			+ "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"

-			+ NL + "\t\t\t */" + NL + "\t\t\tprotected ";

-	protected final String TEXT_145 = " pop";

-	protected final String TEXT_146 = "()" + NL + "\t\t\t{" + NL + "\t\t\t\tpop();" + NL + "\t\t\t\t";

-	protected final String TEXT_147 = " result";

-	protected final String TEXT_148 = "Value = the";

-	protected final String TEXT_149 = ";" + NL + "\t\t\t\tthe";

-	protected final String TEXT_150 = " = null;" + NL + "\t\t\t\treturn result";

-	protected final String TEXT_151 = "Value;" + NL + "\t\t\t}" + NL + "\t\t" + NL + "\t\t}" + NL;

-	protected final String TEXT_152 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL

-			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";

-	protected final String TEXT_153 = " push";

-	protected final String TEXT_154 = "(";

-	protected final String TEXT_155 = " previous, Attributes attributes)" + NL + "\t\t{" + NL + "\t\t\t ";

-	protected final String TEXT_156 = " result";

-	protected final String TEXT_157 = " = ";

-	protected final String TEXT_158 = " == null ? new ";

-	protected final String TEXT_159 = "() : ";

-	protected final String TEXT_160 = ";" + NL + "\t\t\t ";

-	protected final String TEXT_161 = " = null;" + NL + "\t\t\t result";

-	protected final String TEXT_162 = ".pushOnto(previous);" + NL + "\t\t\t result";

-	protected final String TEXT_163 = ".handleAttributes(attributes);" + NL + "\t\t\t return result";

-	protected final String TEXT_164 = ";" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL

-			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL

-			+ "\t\t */" + NL + "\t\tpublic ";

-	protected final String TEXT_165 = " pop";

-	protected final String TEXT_166 = "(";

-	protected final String TEXT_167 = " ";

-	protected final String TEXT_168 = ")" + NL + "\t\t{";

-	protected final String TEXT_169 = NL + "\t\t\t";

-	protected final String TEXT_170 = " result";

-	protected final String TEXT_171 = "Value = ";

-	protected final String TEXT_172 = ".create";

-	protected final String TEXT_173 = "(";

-	protected final String TEXT_174 = ".popValue());";

-	protected final String TEXT_175 = NL + "\t\t\t";

-	protected final String TEXT_176 = " result";

-	protected final String TEXT_177 = "Value = ((";

-	protected final String TEXT_178 = ")";

-	protected final String TEXT_179 = ".createFromString(";

-	protected final String TEXT_180 = ", ";

-	protected final String TEXT_181 = ".popValue())).";

-	protected final String TEXT_182 = "();";

-	protected final String TEXT_183 = NL + "\t\t\t";

-	protected final String TEXT_184 = " result";

-	protected final String TEXT_185 = "Value = (";

-	protected final String TEXT_186 = ")";

-	protected final String TEXT_187 = ".createFromString(";

-	protected final String TEXT_188 = ", ";

-	protected final String TEXT_189 = ".popValue());";

-	protected final String TEXT_190 = NL + "\t\t\tthis.";

-	protected final String TEXT_191 = " = ";

-	protected final String TEXT_192 = ";" + NL + "\t\t\treturn result";

-	protected final String TEXT_193 = "Value;" + NL + "\t\t}" + NL;

-	protected final String TEXT_194 = NL + "\t}" + NL;

-	protected final String TEXT_195 = NL + "} //";

-	protected final String TEXT_196 = NL;

-	protected final String TEXT_197 = NL;

-	protected final String TEXT_198 = NL;

-

-	public ResourceClass() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_197);

-		stringBuffer.append(TEXT_198);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getModelDirectory();

-		packageName = genPackage.getUtilitiesPackageName();

-		className = genPackage.getResourceClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2006 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) argument;

-		GenModel genModel = genPackage.getGenModel();

-		ExtendedMetaData extendedMetaData = genModel.getExtendedMetaData();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getUtilitiesPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.getImportedName("org.eclipse.emf.common.util.URI");

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genPackage.getResourceClassName());

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(genPackage.getImportedResourceBaseClassName());

-		stringBuffer.append(TEXT_7);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_11);

-		}

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(genPackage.getResourceClassName());

-		stringBuffer.append(TEXT_13);

-		if (genPackage.getResource() == GenResourceKind.XML_LITERAL) { // Do nothing

-		}

-		stringBuffer.append(TEXT_14);

-		if (genPackage.isDataTypeConverters()

-				&& (genPackage.hasDocumentRoot() || org.eclipse.emf.ecore.xml.type.XMLTypePackage.eNS_URI

-						.equals(genPackage.getNSURI()))) {

-			boolean isXMLTypePackage = org.eclipse.emf.ecore.xml.type.XMLTypePackage.eNS_URI.equals(genPackage

-					.getNSURI());

-			final String _Map = genModel.useGenerics() ? "Map<?, ?>" : "Map";

-			final String _MapStringBoolean = genModel.useGenerics() ? "Map<String, Boolean>" : "Map";

-			final String _MapStringWildcard = genModel.useGenerics() ? "Map<String, ?>" : "Map";

-			if (!isXMLTypePackage) {

-				genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource");

-				genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLParserPool");

-				genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl");

-				genModel.getImportedName("java.io.InputStream");

-				genModel.getImportedName("java.io.IOException");

-				genModel.getImportedName("org.eclipse.emf.ecore.EObject");

-				genModel.getImportedName("java.util.Collections");

-				genModel.getImportedName("java.util.HashMap");

-				genModel.getImportedName("java.util.Map");

-				genModel.getImportedName("org.xml.sax.InputSource");

-				genModel.getImportedName("javax.xml.parsers.SAXParser");

-			}

-			genModel.getImportedName("org.xml.sax.Attributes");

-			genModel.getImportedName("org.xml.sax.SAXException");

-			String _StackFrame = genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeResourceImpl")

-					+ ".StackFrame";

-			String _DataFrame = genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeResourceImpl")

-					+ ".DataFrame";

-			if (!isXMLTypePackage) {

-				stringBuffer.append(TEXT_15);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_16);

-				}

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(_Map);

-				stringBuffer.append(TEXT_18);

-				stringBuffer.append(_MapStringBoolean);

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(_MapStringWildcard);

-				stringBuffer.append(TEXT_20);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_21);

-				}

-				stringBuffer.append(TEXT_22);

-				stringBuffer.append(_Map);

-				stringBuffer.append(TEXT_23);

-				stringBuffer.append(_MapStringBoolean);

-				stringBuffer.append(TEXT_24);

-				stringBuffer.append(_MapStringWildcard);

-				stringBuffer.append(TEXT_25);

-				stringBuffer.append(_MapStringBoolean);

-				stringBuffer.append(TEXT_26);

-				stringBuffer.append(_MapStringWildcard);

-				stringBuffer.append(TEXT_27);

-				stringBuffer.append(_MapStringBoolean);

-				stringBuffer.append(TEXT_28);

-				stringBuffer.append(_MapStringBoolean.replaceAll("Map", "HashMap"));

-				stringBuffer.append(TEXT_29);

-				if (genModel.useGenerics()) {

-					stringBuffer.append(TEXT_30);

-				} else {

-					stringBuffer.append(TEXT_31);

-				}

-				stringBuffer.append(TEXT_32);

-				if (genModel.isSuppressEMFTypes()) {

-					stringBuffer.append(TEXT_33);

-				} else {

-					stringBuffer.append(TEXT_34);

-				}

-				stringBuffer.append(TEXT_35);

-			}

-			stringBuffer.append(TEXT_36);

-			for (GenClass genClass : genPackage.getGenClasses()) {

-				stringBuffer.append(TEXT_37);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_39);

-			}

-			for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

-				stringBuffer.append(TEXT_40);

-				stringBuffer.append(_DataFrame);

-				stringBuffer.append(TEXT_41);

-				stringBuffer.append(genDataType.getSafeUncapName());

-				stringBuffer.append(TEXT_42);

-			}

-			for (GenClass genClass : genPackage.getGenClasses()) {

-				List<EStructuralFeature> attributes = extendedMetaData.getAllAttributes(genClass.getEcoreClass());

-				List<EStructuralFeature> elements = extendedMetaData.getAllElements(genClass.getEcoreClass());

-				stringBuffer.append(TEXT_43);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_44);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_45);

-				stringBuffer.append(_StackFrame);

-				stringBuffer.append(TEXT_46);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_47);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_48);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_49);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_50);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_51);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_52);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_53);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_54);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_55);

-				stringBuffer.append(genClass.getImportedInterfaceName());

-				stringBuffer.append(TEXT_56);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_57);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_58);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_59);

-				stringBuffer.append(genClass.getImportedInterfaceName());

-				stringBuffer.append(TEXT_60);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_61);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_62);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_63);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_64);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_65);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_66);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_67);

-				stringBuffer.append(_StackFrame);

-				stringBuffer.append(TEXT_68);

-				stringBuffer.append(genClass.getImportedInterfaceName());

-				stringBuffer.append(TEXT_69);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_70);

-				for (GenFeature genFeature : genClass.getAllGenFeatures()) {

-					String name = extendedMetaData.getName(genFeature.getEcoreFeature());

-					if ((elements.contains(genFeature.getEcoreFeature()) || attributes.contains(genFeature

-							.getEcoreFeature())) && name.indexOf(":") == -1) {

-						if (genFeature.isReferenceType()) {

-							stringBuffer.append(TEXT_71);

-							stringBuffer.append(genFeature.getTypeGenClass().getGenPackage()

-									.getImportedResourceClassName());

-							stringBuffer.append(TEXT_72);

-							stringBuffer.append(genFeature.getTypeGenClass().getName());

-							stringBuffer.append(TEXT_73);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_74);

-						} else {

-							stringBuffer.append(TEXT_75);

-							stringBuffer.append(_DataFrame);

-							stringBuffer.append(TEXT_76);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_77);

-						}

-					}

-				}

-				stringBuffer.append(TEXT_78);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_79);

-				}

-				stringBuffer.append(TEXT_80);

-				int count = 0;

-				for (GenFeature genFeature : genClass.getAllGenFeatures()) {

-					String name = extendedMetaData.getName(genFeature.getEcoreFeature());

-					if (attributes.contains(genFeature.getEcoreFeature()) && !genFeature.isDerived()

-							&& name.indexOf(":") == -1) {

-						String namespace = Literals.toStringLiteral(

-								extendedMetaData.getNamespace(genFeature.getEcoreFeature()), genModel);

-						if ("null".equals(namespace))

-							namespace = "\"\"";

-						if (!genFeature.isReferenceType()) {

-							GenClassifier genClassifier = genFeature.getTypeGenClassifier();

-							if (count++ == 0) {

-								stringBuffer.append(TEXT_81);

-								stringBuffer.append(namespace);

-								stringBuffer.append(TEXT_82);

-								stringBuffer.append(name);

-								stringBuffer.append(TEXT_83);

-							} else {

-								stringBuffer.append(TEXT_84);

-								stringBuffer.append(namespace);

-								stringBuffer.append(TEXT_85);

-								stringBuffer.append(name);

-								stringBuffer.append(TEXT_86);

-							}

-							stringBuffer.append(TEXT_87);

-							if (genClassifier.getGenPackage().isDataTypeConverters()) {

-								stringBuffer.append(TEXT_88);

-								stringBuffer.append(genClass.getName());

-								stringBuffer.append(TEXT_89);

-								stringBuffer.append(genFeature.getAccessorName());

-								stringBuffer.append(TEXT_90);

-								stringBuffer

-										.append(genClassifier.getGenPackage().getQualifiedFactoryInstanceAccessor());

-								stringBuffer.append(TEXT_91);

-								stringBuffer.append(genClassifier.getName());

-								stringBuffer.append(TEXT_92);

-							} else {

-								stringBuffer.append(TEXT_93);

-								stringBuffer.append(genClass.getName());

-								stringBuffer.append(TEXT_94);

-								stringBuffer.append(genFeature.getAccessorName());

-								stringBuffer.append(TEXT_95);

-								stringBuffer.append(genFeature.getImportedType(null));

-								stringBuffer.append(TEXT_96);

-								stringBuffer.append(genClassifier.getGenPackage()

-										.getQualifiedEFactoryInstanceAccessor());

-								stringBuffer.append(TEXT_97);

-								stringBuffer.append(genClassifier.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_98);

-							}

-							stringBuffer.append(TEXT_99);

-						}

-					}

-				}

-				if (count == 0) {

-					stringBuffer.append(TEXT_100);

-				}

-				stringBuffer.append(TEXT_101);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_102);

-				}

-				stringBuffer.append(TEXT_103);

-				stringBuffer.append(_StackFrame);

-				stringBuffer.append(TEXT_104);

-				count = 0;

-				for (GenFeature genFeature : genClass.getAllGenFeatures()) {

-					String name = extendedMetaData.getName(genFeature.getEcoreFeature());

-					if (elements.contains(genFeature.getEcoreFeature()) && name.indexOf(":") == -1) {

-						String namespace = Literals.toStringLiteral(

-								extendedMetaData.getNamespace(genFeature.getEcoreFeature()), genModel);

-						if ("null".equals(namespace))

-							namespace = "\"\"";

-						stringBuffer.append(TEXT_105);

-						if (count++ != 0) {

-							stringBuffer.append(TEXT_106);

-						}

-						stringBuffer.append(TEXT_107);

-						stringBuffer.append(name);

-						stringBuffer.append(TEXT_108);

-						stringBuffer.append(namespace);

-						stringBuffer.append(TEXT_109);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_110);

-						stringBuffer.append(genFeature.getTypeGenClassifier().getGenPackage()

-								.getImportedResourceClassName());

-						stringBuffer.append(TEXT_111);

-						stringBuffer.append(genFeature.getTypeGenClassifier().getName());

-						stringBuffer.append(TEXT_112);

-					}

-				}

-				if (count == 0) {

-					stringBuffer.append(TEXT_113);

-				} else {

-					stringBuffer.append(TEXT_114);

-				}

-				stringBuffer.append(TEXT_115);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_116);

-				}

-				stringBuffer.append(TEXT_117);

-				stringBuffer.append(_StackFrame);

-				stringBuffer.append(TEXT_118);

-				count = 0;

-				for (GenFeature genFeature : genClass.getAllGenFeatures()) {

-					String name = extendedMetaData.getName(genFeature.getEcoreFeature());

-					if (elements.contains(genFeature.getEcoreFeature()) && name.indexOf(":") == -1) {

-						stringBuffer.append(TEXT_119);

-						if (count++ != 0) {

-							stringBuffer.append(TEXT_120);

-						}

-						stringBuffer.append(TEXT_121);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_122);

-						if (genFeature.isListType()) {

-							stringBuffer.append(TEXT_123);

-							stringBuffer.append(genClass.getName());

-							stringBuffer.append(TEXT_124);

-							stringBuffer.append(genFeature.getGetAccessor());

-							stringBuffer.append(TEXT_125);

-							stringBuffer.append(genFeature.getTypeGenClassifier().getGenPackage()

-									.getImportedResourceClassName());

-							stringBuffer.append(TEXT_126);

-							stringBuffer.append(genFeature.getTypeGenClassifier().getName());

-							stringBuffer.append(TEXT_127);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_128);

-						} else {

-							stringBuffer.append(TEXT_129);

-							stringBuffer.append(genClass.getName());

-							stringBuffer.append(TEXT_130);

-							stringBuffer.append(genFeature.getAccessorName());

-							stringBuffer.append(TEXT_131);

-							stringBuffer.append(genFeature.getTypeGenClassifier().getGenPackage()

-									.getImportedResourceClassName());

-							stringBuffer.append(TEXT_132);

-							stringBuffer.append(genFeature.getTypeGenClassifier().getName());

-							stringBuffer.append(TEXT_133);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_134);

-						}

-						stringBuffer.append(TEXT_135);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_136);

-					}

-				}

-				if (count == 0) {

-					stringBuffer.append(TEXT_137);

-				} else {

-					stringBuffer.append(TEXT_138);

-				}

-				stringBuffer.append(TEXT_139);

-				if (genModel.useClassOverrideAnnotation()) {

-					stringBuffer.append(TEXT_140);

-				}

-				stringBuffer.append(TEXT_141);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_142);

-				stringBuffer.append(genPackage.getQualifiedFactoryInstanceAccessor());

-				stringBuffer.append(TEXT_143);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_144);

-				stringBuffer.append(genClass.getImportedInterfaceName());

-				stringBuffer.append(TEXT_145);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_146);

-				stringBuffer.append(genClass.getImportedInterfaceName());

-				stringBuffer.append(TEXT_147);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_148);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_149);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_150);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_151);

-			}

-			for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {

-				stringBuffer.append(TEXT_152);

-				stringBuffer.append(_DataFrame);

-				stringBuffer.append(TEXT_153);

-				stringBuffer.append(genDataType.getName());

-				stringBuffer.append(TEXT_154);

-				stringBuffer.append(_StackFrame);

-				stringBuffer.append(TEXT_155);

-				stringBuffer.append(_DataFrame);

-				stringBuffer.append(TEXT_156);

-				stringBuffer.append(genDataType.getName());

-				stringBuffer.append(TEXT_157);

-				stringBuffer.append(genDataType.getSafeUncapName());

-				stringBuffer.append(TEXT_158);

-				stringBuffer.append(_DataFrame);

-				stringBuffer.append(TEXT_159);

-				stringBuffer.append(genDataType.getSafeUncapName());

-				stringBuffer.append(TEXT_160);

-				stringBuffer.append(genDataType.getSafeUncapName());

-				stringBuffer.append(TEXT_161);

-				stringBuffer.append(genDataType.getName());

-				stringBuffer.append(TEXT_162);

-				stringBuffer.append(genDataType.getName());

-				stringBuffer.append(TEXT_163);

-				stringBuffer.append(genDataType.getName());

-				stringBuffer.append(TEXT_164);

-				stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

-				stringBuffer.append(TEXT_165);

-				stringBuffer.append(genDataType.getName());

-				stringBuffer.append(TEXT_166);

-				stringBuffer.append(_DataFrame);

-				stringBuffer.append(TEXT_167);

-				stringBuffer.append(genDataType.getSafeUncapName());

-				stringBuffer.append(TEXT_168);

-				if (genDataType.getGenPackage().isDataTypeConverters()) {

-					stringBuffer.append(TEXT_169);

-					stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());

-					stringBuffer.append(TEXT_170);

-					stringBuffer.append(genDataType.getName());

-					stringBuffer.append(TEXT_171);

-					stringBuffer.append(genDataType.getGenPackage().getQualifiedFactoryInstanceAccessor());

-					stringBuffer.append(TEXT_172);

-					stringBuffer.append(genDataType.getName());

-					stringBuffer.append(TEXT_173);

-					stringBuffer.append(genDataType.getSafeUncapName());

-					stringBuffer.append(TEXT_174);

-				} else if (genDataType.isPrimitiveType()

-						&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-					stringBuffer.append(TEXT_175);

-					stringBuffer.append(genDataType.getImportedInstanceClassName());

-					stringBuffer.append(TEXT_176);

-					stringBuffer.append(genDataType.getName());

-					stringBuffer.append(TEXT_177);

-					stringBuffer.append(genDataType.getObjectInstanceClassName());

-					stringBuffer.append(TEXT_178);

-					stringBuffer.append(genDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());

-					stringBuffer.append(TEXT_179);

-					stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-					stringBuffer.append(TEXT_180);

-					stringBuffer.append(genDataType.getSafeUncapName());

-					stringBuffer.append(TEXT_181);

-					stringBuffer.append(genDataType.getPrimitiveValueFunction());

-					stringBuffer.append(TEXT_182);

-				} else {

-					stringBuffer.append(TEXT_183);

-					stringBuffer.append(genDataType.getImportedInstanceClassName());

-					stringBuffer.append(TEXT_184);

-					stringBuffer.append(genDataType.getName());

-					stringBuffer.append(TEXT_185);

-					stringBuffer.append(genDataType.getObjectInstanceClassName());

-					stringBuffer.append(TEXT_186);

-					stringBuffer.append(genDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());

-					stringBuffer.append(TEXT_187);

-					stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-					stringBuffer.append(TEXT_188);

-					stringBuffer.append(genDataType.getSafeUncapName());

-					stringBuffer.append(TEXT_189);

-				}

-				stringBuffer.append(TEXT_190);

-				stringBuffer.append(genDataType.getSafeUncapName());

-				stringBuffer.append(TEXT_191);

-				stringBuffer.append(genDataType.getSafeUncapName());

-				stringBuffer.append(TEXT_192);

-				stringBuffer.append(genDataType.getName());

-				stringBuffer.append(TEXT_193);

-			}

-			stringBuffer.append(TEXT_194);

-		}

-		stringBuffer.append(TEXT_195);

-		stringBuffer.append(genPackage.getResourceClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_196);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate && (genPackage.getResource() != GenResourceKind.NONE_LITERAL);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ResourceClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized ResourceClass create(String lineSeparator) {
+		nl = lineSeparator;
+		ResourceClass result = new ResourceClass();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * The <b>Resource </b> associated with the package." + NL + " * <!-- end-user-doc -->" + NL
+			+ " * @see ";
+	protected final String TEXT_5 = NL + " * @generated" + NL + " */" + NL + "public class ";
+	protected final String TEXT_6 = " extends ";
+	protected final String TEXT_7 = NL + "{";
+	protected final String TEXT_8 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_9 = " copyright = ";
+	protected final String TEXT_10 = ";";
+	protected final String TEXT_11 = NL;
+	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * Creates an instance of the resource." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @param uri the URI of the new resource." + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_13 = "(URI uri)" + NL + "\t{" + NL + "\t\tsuper(uri);";
+	protected final String TEXT_14 = NL + "\t}" + NL;
+	protected final String TEXT_15 = NL + "\t/**" + NL
+			+ "\t * A load option that turns of the use of the generate data converters." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static final String OPTION_USE_DATA_CONVERTER = \"USE_DATA_CONVERTER\";" + NL + "" + NL
+			+ "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated"
+			+ NL + "\t */";
+	protected final String TEXT_16 = NL + "\t@Override";
+	protected final String TEXT_17 = NL + "\tpublic void doLoad(InputStream inputStream, ";
+	protected final String TEXT_18 = " options) throws IOException" + NL + "\t{" + NL
+			+ "\t\tif (options != null && Boolean.TRUE.equals(options.get(OPTION_USE_DATA_CONVERTER)))" + NL + "\t\t{"
+			+ NL + "\t\t  getContents().add" + NL + "\t\t\t (load" + NL + "\t\t\t\t (new InputSource(inputStream), "
+			+ NL + "\t\t\t\t  (";
+	protected final String TEXT_19 = ")options.get(XMLResource.OPTION_PARSER_FEATURES), " + NL + "\t\t\t\t  (";
+	protected final String TEXT_20 = ")options.get(XMLResource.OPTION_PARSER_PROPERTIES), " + NL
+			+ "\t\t\t\t  Boolean.TRUE.equals(options.get(XMLResource.OPTION_USE_LEXICAL_HANDLER))).eContainer());" + NL
+			+ "\t\t}" + NL + "\t\telse" + NL + "\t\t{  " + NL + "\t\t\tsuper.doLoad(inputStream, options);" + NL
+			+ "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_21 = NL + "\t@Override";
+	protected final String TEXT_22 = NL + "\tpublic void doLoad(InputSource inputSource, ";
+	protected final String TEXT_23 = " options) throws IOException" + NL + "\t{" + NL
+			+ "\t\tif (options != null && Boolean.TRUE.equals(options.get(OPTION_USE_DATA_CONVERTER)))" + NL + "\t\t{"
+			+ NL + "\t\t  getContents().add" + NL + "\t\t\t (load" + NL + "\t\t\t\t (inputSource," + NL + "\t\t\t\t  (";
+	protected final String TEXT_24 = ")options.get(XMLResource.OPTION_PARSER_FEATURES), " + NL + "\t\t\t\t  (";
+	protected final String TEXT_25 = ")options.get(XMLResource.OPTION_PARSER_PROPERTIES), " + NL
+			+ "\t\t\t\t  Boolean.TRUE.equals(options.get(XMLResource.OPTION_USE_LEXICAL_HANDLER))).eContainer());" + NL
+			+ "\t\t}" + NL + "\t\telse" + NL + "\t\t{  " + NL + "\t\t\tsuper.doLoad(inputSource, options);" + NL
+			+ "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected static final XMLParserPool parserPool = new XMLParserPoolImpl();" + NL + "" + NL + "\t/**"
+			+ NL + "\t * Loads an instance from the input." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @param inputSource the input from which to load." + NL
+			+ "\t * @param features a map of the parser features and their values." + NL
+			+ "\t * @param properties a map of a parser properties and their values." + NL
+			+ "\t * @param useLexicalHandler whether a lexical handler should be used during loading." + NL
+			+ "\t * @return the root object; for the case of a document root, the child of that document root is return."
+			+ NL + "\t * @throws ParserConfigurationException" + NL + "\t * @throws SAXException" + NL
+			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic static EObject load(InputSource inputSource, ";
+	protected final String TEXT_26 = " features, ";
+	protected final String TEXT_27 = " properties, boolean useLexicalHandler) throws IOException" + NL + "\t{" + NL
+			+ "\t\t";
+	protected final String TEXT_28 = " requiredFeatures = new ";
+	protected final String TEXT_29 = "();" + NL
+			+ "\t\trequiredFeatures.put(\"http://xml.org/sax/features/namespaces\", Boolean.TRUE); " + NL
+			+ "\t\tif (features != null)" + NL + "\t\t{" + NL + "\t\t\trequiredFeatures.putAll(features);" + NL
+			+ "\t\t}" + NL + "\t\t" + NL + "\t\tif (properties == null)" + NL + "\t\t{" + NL
+			+ "\t\t\tproperties = Collections.";
+	protected final String TEXT_30 = "emptyMap()";
+	protected final String TEXT_31 = "EMPTY_MAP";
+	protected final String TEXT_32 = ";" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\tSAXParser saxParser = null;" + NL
+			+ "\t\ttry" + NL + "\t\t{" + NL
+			+ "\t\t\tsaxParser = parserPool.get(requiredFeatures, properties, useLexicalHandler);" + NL
+			+ "\t\t\tfinal FrameFactory.DocumentRootStackFrame documentRoot = FrameFactory.INSTANCE.pushDocumentRoot(null, null);"
+			+ NL + "\t\t\tXMLTypeResourceImpl.Handler handler = new XMLTypeResourceImpl.Handler(documentRoot);" + NL
+			+ "\t\t\tsaxParser.parse(inputSource, handler);";
+	protected final String TEXT_33 = NL
+			+ "\t\t\treturn (EObject)((EObject)FrameFactory.INSTANCE.popDocumentRoot(documentRoot)).eContents().get(0);";
+	protected final String TEXT_34 = NL
+			+ "\t\t\treturn FrameFactory.INSTANCE.popDocumentRoot(documentRoot).eContents().get(0);";
+	protected final String TEXT_35 = NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL + "\t\t{" + NL
+			+ "\t\t\tthrow new IOWrappedException(exception);" + NL + "\t\t}" + NL + "\t\tfinally" + NL + "\t\t{" + NL
+			+ "\t\t\tparserPool.release(saxParser, requiredFeatures, properties, useLexicalHandler);" + NL + "\t\t}"
+			+ NL + "\t}" + NL;
+	protected final String TEXT_36 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic final static class FrameFactory" + NL + "\t{" + NL + "\t\t/**" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic static final FrameFactory INSTANCE = new FrameFactory();" + NL + "\t";
+	protected final String TEXT_37 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+	protected final String TEXT_38 = "StackFrame ";
+	protected final String TEXT_39 = ";" + NL;
+	protected final String TEXT_40 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
+	protected final String TEXT_41 = " ";
+	protected final String TEXT_42 = ";" + NL;
+	protected final String TEXT_43 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";
+	protected final String TEXT_44 = "StackFrame push";
+	protected final String TEXT_45 = "(";
+	protected final String TEXT_46 = " previous, Attributes attributes)" + NL + "\t\t{" + NL + "\t\t\t ";
+	protected final String TEXT_47 = "StackFrame result";
+	protected final String TEXT_48 = " = ";
+	protected final String TEXT_49 = " == null ? new ";
+	protected final String TEXT_50 = "StackFrame() : ";
+	protected final String TEXT_51 = ";" + NL + "\t\t\t ";
+	protected final String TEXT_52 = " = null;" + NL + "\t\t\t result";
+	protected final String TEXT_53 = ".pushOnto(previous);" + NL + "\t\t\t result";
+	protected final String TEXT_54 = ".handleAttributes(attributes);" + NL + "\t\t\t return result";
+	protected final String TEXT_55 = ";" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic ";
+	protected final String TEXT_56 = " pop";
+	protected final String TEXT_57 = "(";
+	protected final String TEXT_58 = "StackFrame ";
+	protected final String TEXT_59 = ")" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_60 = " result";
+	protected final String TEXT_61 = "Value = ";
+	protected final String TEXT_62 = ".pop";
+	protected final String TEXT_63 = "();" + NL + "\t\t\tthis.";
+	protected final String TEXT_64 = " = ";
+	protected final String TEXT_65 = ";" + NL + "\t\t\treturn result";
+	protected final String TEXT_66 = "Value;" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic static class ";
+	protected final String TEXT_67 = "StackFrame extends ";
+	protected final String TEXT_68 = NL + "\t\t{" + NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL
+			+ "\t\t\tprotected ";
+	protected final String TEXT_69 = " the";
+	protected final String TEXT_70 = ";" + NL + "\t\t";
+	protected final String TEXT_71 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL
+			+ "\t\t\tprotected ";
+	protected final String TEXT_72 = ".FrameFactory.";
+	protected final String TEXT_73 = "StackFrame ";
+	protected final String TEXT_74 = ";" + NL;
+	protected final String TEXT_75 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */" + NL
+			+ "\t\t\tprotected ";
+	protected final String TEXT_76 = " ";
+	protected final String TEXT_77 = ";" + NL + "\t\t";
+	protected final String TEXT_78 = NL + "\t\t\t/**" + NL + "\t\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated" + NL + "\t\t\t */";
+	protected final String TEXT_79 = NL + "\t\t\t@Override";
+	protected final String TEXT_80 = NL + "\t\t\tpublic void handleAttributes(Attributes attributes)" + NL + "\t\t\t{";
+	protected final String TEXT_81 = NL + "\t\t\t\tString theValue = attributes.getValue(";
+	protected final String TEXT_82 = ", \"";
+	protected final String TEXT_83 = "\");";
+	protected final String TEXT_84 = NL + "\t\t\t\ttheValue = attributes.getValue(";
+	protected final String TEXT_85 = ", \"";
+	protected final String TEXT_86 = "\");";
+	protected final String TEXT_87 = NL + "\t\t\t\tif (theValue != null)" + NL + "\t\t\t\t{";
+	protected final String TEXT_88 = NL + "\t\t\t\t\tthe";
+	protected final String TEXT_89 = ".set";
+	protected final String TEXT_90 = "(";
+	protected final String TEXT_91 = ".create";
+	protected final String TEXT_92 = "(theValue));";
+	protected final String TEXT_93 = NL + "\t\t\t\t\tthe";
+	protected final String TEXT_94 = ".set";
+	protected final String TEXT_95 = "((";
+	protected final String TEXT_96 = ")";
+	protected final String TEXT_97 = ".createFromString(";
+	protected final String TEXT_98 = ", theValue));";
+	protected final String TEXT_99 = NL + "\t\t\t\t}";
+	protected final String TEXT_100 = NL + "\t\t\t\t// There are attributes to handle.";
+	protected final String TEXT_101 = NL + "\t\t\t}" + NL + "\t\t" + NL + "\t\t\t/**" + NL
+			+ "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"
+			+ NL + "\t\t\t */";
+	protected final String TEXT_102 = NL + "\t\t\t@Override";
+	protected final String TEXT_103 = NL + "\t\t\tpublic ";
+	protected final String TEXT_104 = " startElement(String namespace, String localName, String qName, Attributes attributes) throws SAXException"
+			+ NL + "\t\t\t{";
+	protected final String TEXT_105 = NL + "\t\t\t\t";
+	protected final String TEXT_106 = "else ";
+	protected final String TEXT_107 = "if (\"";
+	protected final String TEXT_108 = "\".equals(localName) && ";
+	protected final String TEXT_109 = ".equals(namespace))" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\treturn ";
+	protected final String TEXT_110 = " = ";
+	protected final String TEXT_111 = ".FrameFactory.INSTANCE.push";
+	protected final String TEXT_112 = "(this, attributes);" + NL + "\t\t\t\t}";
+	protected final String TEXT_113 = NL
+			+ "\t\t\t\treturn super.startElement(namespace, localName, qName, attributes);";
+	protected final String TEXT_114 = NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\treturn super.startElement(namespace, localName, qName, attributes);" + NL + "\t\t\t\t}";
+	protected final String TEXT_115 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t/**" + NL
+			+ "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"
+			+ NL + "\t\t\t */";
+	protected final String TEXT_116 = NL + "\t\t\t@Override";
+	protected final String TEXT_117 = NL + "\t\t\tpublic void endElement(";
+	protected final String TEXT_118 = " child) throws SAXException" + NL + "\t\t\t{";
+	protected final String TEXT_119 = NL + "\t\t\t\t";
+	protected final String TEXT_120 = "else ";
+	protected final String TEXT_121 = "if (child == ";
+	protected final String TEXT_122 = ")" + NL + "\t\t\t\t{";
+	protected final String TEXT_123 = NL + "\t\t\t\t\tthe";
+	protected final String TEXT_124 = ".";
+	protected final String TEXT_125 = "().add(";
+	protected final String TEXT_126 = ".FrameFactory.INSTANCE.pop";
+	protected final String TEXT_127 = "(";
+	protected final String TEXT_128 = "));";
+	protected final String TEXT_129 = NL + "\t\t\t\t\tthe";
+	protected final String TEXT_130 = ".set";
+	protected final String TEXT_131 = "(";
+	protected final String TEXT_132 = ".FrameFactory.INSTANCE.pop";
+	protected final String TEXT_133 = "(";
+	protected final String TEXT_134 = "));";
+	protected final String TEXT_135 = NL + "\t\t\t\t\t";
+	protected final String TEXT_136 = " = null;" + NL + "\t\t\t\t}";
+	protected final String TEXT_137 = NL + "\t\t\t\tsuper.endElement(child);";
+	protected final String TEXT_138 = NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tsuper.endElement(child);"
+			+ NL + "\t\t\t\t}";
+	protected final String TEXT_139 = NL + "\t\t\t}" + NL + "" + NL + "\t\t\t/**" + NL
+			+ "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"
+			+ NL + "\t\t\t */";
+	protected final String TEXT_140 = NL + "\t\t\t@Override";
+	protected final String TEXT_141 = NL + "\t\t\tpublic void create()" + NL + "\t\t\t{" + NL + "\t\t\t\tthe";
+	protected final String TEXT_142 = " = ";
+	protected final String TEXT_143 = ".create";
+	protected final String TEXT_144 = "();" + NL + "\t\t\t}" + NL + "\t\t" + NL + "\t\t\t/**" + NL
+			+ "\t\t\t * <!-- begin-user-doc -->" + NL + "\t\t\t * <!-- end-user-doc -->" + NL + "\t\t\t * @generated"
+			+ NL + "\t\t\t */" + NL + "\t\t\tprotected ";
+	protected final String TEXT_145 = " pop";
+	protected final String TEXT_146 = "()" + NL + "\t\t\t{" + NL + "\t\t\t\tpop();" + NL + "\t\t\t\t";
+	protected final String TEXT_147 = " result";
+	protected final String TEXT_148 = "Value = the";
+	protected final String TEXT_149 = ";" + NL + "\t\t\t\tthe";
+	protected final String TEXT_150 = " = null;" + NL + "\t\t\t\treturn result";
+	protected final String TEXT_151 = "Value;" + NL + "\t\t\t}" + NL + "\t\t" + NL + "\t\t}" + NL;
+	protected final String TEXT_152 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
+			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";
+	protected final String TEXT_153 = " push";
+	protected final String TEXT_154 = "(";
+	protected final String TEXT_155 = " previous, Attributes attributes)" + NL + "\t\t{" + NL + "\t\t\t ";
+	protected final String TEXT_156 = " result";
+	protected final String TEXT_157 = " = ";
+	protected final String TEXT_158 = " == null ? new ";
+	protected final String TEXT_159 = "() : ";
+	protected final String TEXT_160 = ";" + NL + "\t\t\t ";
+	protected final String TEXT_161 = " = null;" + NL + "\t\t\t result";
+	protected final String TEXT_162 = ".pushOnto(previous);" + NL + "\t\t\t result";
+	protected final String TEXT_163 = ".handleAttributes(attributes);" + NL + "\t\t\t return result";
+	protected final String TEXT_164 = ";" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
+			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
+			+ "\t\t */" + NL + "\t\tpublic ";
+	protected final String TEXT_165 = " pop";
+	protected final String TEXT_166 = "(";
+	protected final String TEXT_167 = " ";
+	protected final String TEXT_168 = ")" + NL + "\t\t{";
+	protected final String TEXT_169 = NL + "\t\t\t";
+	protected final String TEXT_170 = " result";
+	protected final String TEXT_171 = "Value = ";
+	protected final String TEXT_172 = ".create";
+	protected final String TEXT_173 = "(";
+	protected final String TEXT_174 = ".popValue());";
+	protected final String TEXT_175 = NL + "\t\t\t";
+	protected final String TEXT_176 = " result";
+	protected final String TEXT_177 = "Value = ((";
+	protected final String TEXT_178 = ")";
+	protected final String TEXT_179 = ".createFromString(";
+	protected final String TEXT_180 = ", ";
+	protected final String TEXT_181 = ".popValue())).";
+	protected final String TEXT_182 = "();";
+	protected final String TEXT_183 = NL + "\t\t\t";
+	protected final String TEXT_184 = " result";
+	protected final String TEXT_185 = "Value = (";
+	protected final String TEXT_186 = ")";
+	protected final String TEXT_187 = ".createFromString(";
+	protected final String TEXT_188 = ", ";
+	protected final String TEXT_189 = ".popValue());";
+	protected final String TEXT_190 = NL + "\t\t\tthis.";
+	protected final String TEXT_191 = " = ";
+	protected final String TEXT_192 = ";" + NL + "\t\t\treturn result";
+	protected final String TEXT_193 = "Value;" + NL + "\t\t}" + NL;
+	protected final String TEXT_194 = NL + "\t}" + NL;
+	protected final String TEXT_195 = NL + "} //";
+	protected final String TEXT_196 = NL;
+	protected final String TEXT_197 = NL;
+	protected final String TEXT_198 = NL;
+
+	public ResourceClass() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_197);
+		stringBuffer.append(TEXT_198);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getModelDirectory();
+		packageName = genPackage.getUtilitiesPackageName();
+		className = genPackage.getResourceClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2006 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) argument;
+		GenModel genModel = genPackage.getGenModel();
+		ExtendedMetaData extendedMetaData = genModel.getExtendedMetaData();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getUtilitiesPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.getImportedName("org.eclipse.emf.common.util.URI");
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genPackage.getQualifiedResourceFactoryClassName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genPackage.getResourceClassName());
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(genPackage.getImportedResourceBaseClassName());
+		stringBuffer.append(TEXT_7);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_11);
+		}
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(genPackage.getResourceClassName());
+		stringBuffer.append(TEXT_13);
+		if (genPackage.getResource() == GenResourceKind.XML_LITERAL) { // Do nothing
+		}
+		stringBuffer.append(TEXT_14);
+		if (genPackage.isDataTypeConverters() && (genPackage.hasDocumentRoot()
+				|| org.eclipse.emf.ecore.xml.type.XMLTypePackage.eNS_URI.equals(genPackage.getNSURI()))) {
+			boolean isXMLTypePackage = org.eclipse.emf.ecore.xml.type.XMLTypePackage.eNS_URI
+					.equals(genPackage.getNSURI());
+			final String _Map = genModel.useGenerics() ? "Map<?, ?>" : "Map";
+			final String _MapStringBoolean = genModel.useGenerics() ? "Map<String, Boolean>" : "Map";
+			final String _MapStringWildcard = genModel.useGenerics() ? "Map<String, ?>" : "Map";
+			if (!isXMLTypePackage) {
+				genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource");
+				genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLParserPool");
+				genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl");
+				genModel.getImportedName("java.io.InputStream");
+				genModel.getImportedName("java.io.IOException");
+				genModel.getImportedName("org.eclipse.emf.ecore.EObject");
+				genModel.getImportedName("java.util.Collections");
+				genModel.getImportedName("java.util.HashMap");
+				genModel.getImportedName("java.util.Map");
+				genModel.getImportedName("org.xml.sax.InputSource");
+				genModel.getImportedName("javax.xml.parsers.SAXParser");
+			}
+			genModel.getImportedName("org.xml.sax.Attributes");
+			genModel.getImportedName("org.xml.sax.SAXException");
+			String _StackFrame = genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeResourceImpl")
+					+ ".StackFrame";
+			String _DataFrame = genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeResourceImpl")
+					+ ".DataFrame";
+			if (!isXMLTypePackage) {
+				stringBuffer.append(TEXT_15);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_16);
+				}
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(_Map);
+				stringBuffer.append(TEXT_18);
+				stringBuffer.append(_MapStringBoolean);
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(_MapStringWildcard);
+				stringBuffer.append(TEXT_20);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_21);
+				}
+				stringBuffer.append(TEXT_22);
+				stringBuffer.append(_Map);
+				stringBuffer.append(TEXT_23);
+				stringBuffer.append(_MapStringBoolean);
+				stringBuffer.append(TEXT_24);
+				stringBuffer.append(_MapStringWildcard);
+				stringBuffer.append(TEXT_25);
+				stringBuffer.append(_MapStringBoolean);
+				stringBuffer.append(TEXT_26);
+				stringBuffer.append(_MapStringWildcard);
+				stringBuffer.append(TEXT_27);
+				stringBuffer.append(_MapStringBoolean);
+				stringBuffer.append(TEXT_28);
+				stringBuffer.append(_MapStringBoolean.replaceAll("Map", "HashMap"));
+				stringBuffer.append(TEXT_29);
+				if (genModel.useGenerics()) {
+					stringBuffer.append(TEXT_30);
+				} else {
+					stringBuffer.append(TEXT_31);
+				}
+				stringBuffer.append(TEXT_32);
+				if (genModel.isSuppressEMFTypes()) {
+					stringBuffer.append(TEXT_33);
+				} else {
+					stringBuffer.append(TEXT_34);
+				}
+				stringBuffer.append(TEXT_35);
+			}
+			stringBuffer.append(TEXT_36);
+			for (GenClass genClass : genPackage.getGenClasses()) {
+				stringBuffer.append(TEXT_37);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_39);
+			}
+			for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+				stringBuffer.append(TEXT_40);
+				stringBuffer.append(_DataFrame);
+				stringBuffer.append(TEXT_41);
+				stringBuffer.append(genDataType.getSafeUncapName());
+				stringBuffer.append(TEXT_42);
+			}
+			for (GenClass genClass : genPackage.getGenClasses()) {
+				List<EStructuralFeature> attributes = extendedMetaData.getAllAttributes(genClass.getEcoreClass());
+				List<EStructuralFeature> elements = extendedMetaData.getAllElements(genClass.getEcoreClass());
+				stringBuffer.append(TEXT_43);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_44);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_45);
+				stringBuffer.append(_StackFrame);
+				stringBuffer.append(TEXT_46);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_47);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_48);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_49);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_50);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_51);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_52);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_53);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_54);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_55);
+				stringBuffer.append(genClass.getImportedInterfaceName());
+				stringBuffer.append(TEXT_56);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_57);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_58);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_59);
+				stringBuffer.append(genClass.getImportedInterfaceName());
+				stringBuffer.append(TEXT_60);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_61);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_62);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_63);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_64);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_65);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_66);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_67);
+				stringBuffer.append(_StackFrame);
+				stringBuffer.append(TEXT_68);
+				stringBuffer.append(genClass.getImportedInterfaceName());
+				stringBuffer.append(TEXT_69);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_70);
+				for (GenFeature genFeature : genClass.getAllGenFeatures()) {
+					String name = extendedMetaData.getName(genFeature.getEcoreFeature());
+					if ((elements.contains(genFeature.getEcoreFeature())
+							|| attributes.contains(genFeature.getEcoreFeature())) && name.indexOf(":") == -1) {
+						if (genFeature.isReferenceType()) {
+							stringBuffer.append(TEXT_71);
+							stringBuffer.append(
+									genFeature.getTypeGenClass().getGenPackage().getImportedResourceClassName());
+							stringBuffer.append(TEXT_72);
+							stringBuffer.append(genFeature.getTypeGenClass().getName());
+							stringBuffer.append(TEXT_73);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_74);
+						} else {
+							stringBuffer.append(TEXT_75);
+							stringBuffer.append(_DataFrame);
+							stringBuffer.append(TEXT_76);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_77);
+						}
+					}
+				}
+				stringBuffer.append(TEXT_78);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_79);
+				}
+				stringBuffer.append(TEXT_80);
+				int count = 0;
+				for (GenFeature genFeature : genClass.getAllGenFeatures()) {
+					String name = extendedMetaData.getName(genFeature.getEcoreFeature());
+					if (attributes.contains(genFeature.getEcoreFeature()) && !genFeature.isDerived()
+							&& name.indexOf(":") == -1) {
+						String namespace = Literals
+								.toStringLiteral(extendedMetaData.getNamespace(genFeature.getEcoreFeature()), genModel);
+						if ("null".equals(namespace))
+							namespace = "\"\"";
+						if (!genFeature.isReferenceType()) {
+							GenClassifier genClassifier = genFeature.getTypeGenClassifier();
+							if (count++ == 0) {
+								stringBuffer.append(TEXT_81);
+								stringBuffer.append(namespace);
+								stringBuffer.append(TEXT_82);
+								stringBuffer.append(name);
+								stringBuffer.append(TEXT_83);
+							} else {
+								stringBuffer.append(TEXT_84);
+								stringBuffer.append(namespace);
+								stringBuffer.append(TEXT_85);
+								stringBuffer.append(name);
+								stringBuffer.append(TEXT_86);
+							}
+							stringBuffer.append(TEXT_87);
+							if (genClassifier.getGenPackage().isDataTypeConverters()) {
+								stringBuffer.append(TEXT_88);
+								stringBuffer.append(genClass.getName());
+								stringBuffer.append(TEXT_89);
+								stringBuffer.append(genFeature.getAccessorName());
+								stringBuffer.append(TEXT_90);
+								stringBuffer
+										.append(genClassifier.getGenPackage().getQualifiedFactoryInstanceAccessor());
+								stringBuffer.append(TEXT_91);
+								stringBuffer.append(genClassifier.getName());
+								stringBuffer.append(TEXT_92);
+							} else {
+								stringBuffer.append(TEXT_93);
+								stringBuffer.append(genClass.getName());
+								stringBuffer.append(TEXT_94);
+								stringBuffer.append(genFeature.getAccessorName());
+								stringBuffer.append(TEXT_95);
+								stringBuffer.append(genFeature.getImportedType(null));
+								stringBuffer.append(TEXT_96);
+								stringBuffer
+										.append(genClassifier.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+								stringBuffer.append(TEXT_97);
+								stringBuffer.append(genClassifier.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_98);
+							}
+							stringBuffer.append(TEXT_99);
+						}
+					}
+				}
+				if (count == 0) {
+					stringBuffer.append(TEXT_100);
+				}
+				stringBuffer.append(TEXT_101);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_102);
+				}
+				stringBuffer.append(TEXT_103);
+				stringBuffer.append(_StackFrame);
+				stringBuffer.append(TEXT_104);
+				count = 0;
+				for (GenFeature genFeature : genClass.getAllGenFeatures()) {
+					String name = extendedMetaData.getName(genFeature.getEcoreFeature());
+					if (elements.contains(genFeature.getEcoreFeature()) && name.indexOf(":") == -1) {
+						String namespace = Literals
+								.toStringLiteral(extendedMetaData.getNamespace(genFeature.getEcoreFeature()), genModel);
+						if ("null".equals(namespace))
+							namespace = "\"\"";
+						stringBuffer.append(TEXT_105);
+						if (count++ != 0) {
+							stringBuffer.append(TEXT_106);
+						}
+						stringBuffer.append(TEXT_107);
+						stringBuffer.append(name);
+						stringBuffer.append(TEXT_108);
+						stringBuffer.append(namespace);
+						stringBuffer.append(TEXT_109);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_110);
+						stringBuffer.append(
+								genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName());
+						stringBuffer.append(TEXT_111);
+						stringBuffer.append(genFeature.getTypeGenClassifier().getName());
+						stringBuffer.append(TEXT_112);
+					}
+				}
+				if (count == 0) {
+					stringBuffer.append(TEXT_113);
+				} else {
+					stringBuffer.append(TEXT_114);
+				}
+				stringBuffer.append(TEXT_115);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_116);
+				}
+				stringBuffer.append(TEXT_117);
+				stringBuffer.append(_StackFrame);
+				stringBuffer.append(TEXT_118);
+				count = 0;
+				for (GenFeature genFeature : genClass.getAllGenFeatures()) {
+					String name = extendedMetaData.getName(genFeature.getEcoreFeature());
+					if (elements.contains(genFeature.getEcoreFeature()) && name.indexOf(":") == -1) {
+						stringBuffer.append(TEXT_119);
+						if (count++ != 0) {
+							stringBuffer.append(TEXT_120);
+						}
+						stringBuffer.append(TEXT_121);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_122);
+						if (genFeature.isListType()) {
+							stringBuffer.append(TEXT_123);
+							stringBuffer.append(genClass.getName());
+							stringBuffer.append(TEXT_124);
+							stringBuffer.append(genFeature.getGetAccessor());
+							stringBuffer.append(TEXT_125);
+							stringBuffer.append(
+									genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName());
+							stringBuffer.append(TEXT_126);
+							stringBuffer.append(genFeature.getTypeGenClassifier().getName());
+							stringBuffer.append(TEXT_127);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_128);
+						} else {
+							stringBuffer.append(TEXT_129);
+							stringBuffer.append(genClass.getName());
+							stringBuffer.append(TEXT_130);
+							stringBuffer.append(genFeature.getAccessorName());
+							stringBuffer.append(TEXT_131);
+							stringBuffer.append(
+									genFeature.getTypeGenClassifier().getGenPackage().getImportedResourceClassName());
+							stringBuffer.append(TEXT_132);
+							stringBuffer.append(genFeature.getTypeGenClassifier().getName());
+							stringBuffer.append(TEXT_133);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_134);
+						}
+						stringBuffer.append(TEXT_135);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_136);
+					}
+				}
+				if (count == 0) {
+					stringBuffer.append(TEXT_137);
+				} else {
+					stringBuffer.append(TEXT_138);
+				}
+				stringBuffer.append(TEXT_139);
+				if (genModel.useClassOverrideAnnotation()) {
+					stringBuffer.append(TEXT_140);
+				}
+				stringBuffer.append(TEXT_141);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_142);
+				stringBuffer.append(genPackage.getQualifiedFactoryInstanceAccessor());
+				stringBuffer.append(TEXT_143);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_144);
+				stringBuffer.append(genClass.getImportedInterfaceName());
+				stringBuffer.append(TEXT_145);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_146);
+				stringBuffer.append(genClass.getImportedInterfaceName());
+				stringBuffer.append(TEXT_147);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_148);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_149);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_150);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_151);
+			}
+			for (GenDataType genDataType : genPackage.getAllGenDataTypes()) {
+				stringBuffer.append(TEXT_152);
+				stringBuffer.append(_DataFrame);
+				stringBuffer.append(TEXT_153);
+				stringBuffer.append(genDataType.getName());
+				stringBuffer.append(TEXT_154);
+				stringBuffer.append(_StackFrame);
+				stringBuffer.append(TEXT_155);
+				stringBuffer.append(_DataFrame);
+				stringBuffer.append(TEXT_156);
+				stringBuffer.append(genDataType.getName());
+				stringBuffer.append(TEXT_157);
+				stringBuffer.append(genDataType.getSafeUncapName());
+				stringBuffer.append(TEXT_158);
+				stringBuffer.append(_DataFrame);
+				stringBuffer.append(TEXT_159);
+				stringBuffer.append(genDataType.getSafeUncapName());
+				stringBuffer.append(TEXT_160);
+				stringBuffer.append(genDataType.getSafeUncapName());
+				stringBuffer.append(TEXT_161);
+				stringBuffer.append(genDataType.getName());
+				stringBuffer.append(TEXT_162);
+				stringBuffer.append(genDataType.getName());
+				stringBuffer.append(TEXT_163);
+				stringBuffer.append(genDataType.getName());
+				stringBuffer.append(TEXT_164);
+				stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+				stringBuffer.append(TEXT_165);
+				stringBuffer.append(genDataType.getName());
+				stringBuffer.append(TEXT_166);
+				stringBuffer.append(_DataFrame);
+				stringBuffer.append(TEXT_167);
+				stringBuffer.append(genDataType.getSafeUncapName());
+				stringBuffer.append(TEXT_168);
+				if (genDataType.getGenPackage().isDataTypeConverters()) {
+					stringBuffer.append(TEXT_169);
+					stringBuffer.append(genDataType.getImportedParameterizedInstanceClassName());
+					stringBuffer.append(TEXT_170);
+					stringBuffer.append(genDataType.getName());
+					stringBuffer.append(TEXT_171);
+					stringBuffer.append(genDataType.getGenPackage().getQualifiedFactoryInstanceAccessor());
+					stringBuffer.append(TEXT_172);
+					stringBuffer.append(genDataType.getName());
+					stringBuffer.append(TEXT_173);
+					stringBuffer.append(genDataType.getSafeUncapName());
+					stringBuffer.append(TEXT_174);
+				} else
+					if (genDataType.isPrimitiveType() && genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+					stringBuffer.append(TEXT_175);
+					stringBuffer.append(genDataType.getImportedInstanceClassName());
+					stringBuffer.append(TEXT_176);
+					stringBuffer.append(genDataType.getName());
+					stringBuffer.append(TEXT_177);
+					stringBuffer.append(genDataType.getObjectInstanceClassName());
+					stringBuffer.append(TEXT_178);
+					stringBuffer.append(genDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+					stringBuffer.append(TEXT_179);
+					stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+					stringBuffer.append(TEXT_180);
+					stringBuffer.append(genDataType.getSafeUncapName());
+					stringBuffer.append(TEXT_181);
+					stringBuffer.append(genDataType.getPrimitiveValueFunction());
+					stringBuffer.append(TEXT_182);
+				} else {
+					stringBuffer.append(TEXT_183);
+					stringBuffer.append(genDataType.getImportedInstanceClassName());
+					stringBuffer.append(TEXT_184);
+					stringBuffer.append(genDataType.getName());
+					stringBuffer.append(TEXT_185);
+					stringBuffer.append(genDataType.getObjectInstanceClassName());
+					stringBuffer.append(TEXT_186);
+					stringBuffer.append(genDataType.getGenPackage().getQualifiedEFactoryInstanceAccessor());
+					stringBuffer.append(TEXT_187);
+					stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+					stringBuffer.append(TEXT_188);
+					stringBuffer.append(genDataType.getSafeUncapName());
+					stringBuffer.append(TEXT_189);
+				}
+				stringBuffer.append(TEXT_190);
+				stringBuffer.append(genDataType.getSafeUncapName());
+				stringBuffer.append(TEXT_191);
+				stringBuffer.append(genDataType.getSafeUncapName());
+				stringBuffer.append(TEXT_192);
+				stringBuffer.append(genDataType.getName());
+				stringBuffer.append(TEXT_193);
+			}
+			stringBuffer.append(TEXT_194);
+		}
+		stringBuffer.append(TEXT_195);
+		stringBuffer.append(genPackage.getResourceClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_196);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genPackage.getResource() != GenResourceKind.NONE_LITERAL);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceFactoryClass.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceFactoryClass.java
index 8682809..b31033b 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceFactoryClass.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ResourceFactoryClass.java
@@ -1,296 +1,295 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ResourceFactoryClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized ResourceFactoryClass create(String lineSeparator) {

-		nl = lineSeparator;

-		ResourceFactoryClass result = new ResourceFactoryClass();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * The <b>Resource Factory</b> associated with the package." + NL + " * <!-- end-user-doc -->" + NL

-			+ " * @see ";

-	protected final String TEXT_5 = NL + " * @generated" + NL + " */" + NL + "public class ";

-	protected final String TEXT_6 = " extends ";

-	protected final String TEXT_7 = NL + "{";

-	protected final String TEXT_8 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_9 = " copyright = ";

-	protected final String TEXT_10 = ";";

-	protected final String TEXT_11 = NL;

-	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_13 = " extendedMetaData;" + NL;

-	protected final String TEXT_14 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_15 = " xmlMap = new ";

-	protected final String TEXT_16 = "();" + NL;

-	protected final String TEXT_17 = NL + "\t/**" + NL + "\t * Creates an instance of the resource factory." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_18 = "()" + NL + "\t{" + NL + "\t\tsuper();";

-	protected final String TEXT_19 = NL + "\t\textendedMetaData = new ";

-	protected final String TEXT_20 = "(new ";

-	protected final String TEXT_21 = "(";

-	protected final String TEXT_22 = ".Registry.INSTANCE));" + NL + "\t\textendedMetaData.putPackage(null, ";

-	protected final String TEXT_23 = ".eINSTANCE);";

-	protected final String TEXT_24 = NL + "\t\txmlMap.setNoNamespacePackage(";

-	protected final String TEXT_25 = ".eINSTANCE);";

-	protected final String TEXT_26 = NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Creates an instance of the resource." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_27 = NL + "\t@Override";

-	protected final String TEXT_28 = NL + "\tpublic Resource createResource(URI uri)" + NL + "\t{";

-	protected final String TEXT_29 = NL;

-	protected final String TEXT_30 = NL + "\t}" + NL + "" + NL + "} //";

-	protected final String TEXT_31 = NL;

-	protected final String TEXT_32 = NL;

-	protected final String TEXT_33 = NL;

-

-	public ResourceFactoryClass() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_32);

-		stringBuffer.append(TEXT_33);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getModelDirectory();

-		packageName = genPackage.getUtilitiesPackageName();

-		className = genPackage.getResourceFactoryClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2006 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) argument;

-		GenModel genModel = genPackage.getGenModel();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getUtilitiesPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.getImportedName("org.eclipse.emf.common.util.URI");

-		genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource");

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genPackage.getQualifiedResourceClassName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genPackage.getResourceFactoryClassName());

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(genPackage.getImportedResourceFactoryBaseClassName());

-		stringBuffer.append(TEXT_7);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_11);

-		}

-		if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));

-			stringBuffer.append(TEXT_13);

-		} else if (genPackage.hasXMLMap()) {

-			stringBuffer.append(TEXT_14);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource$XMLMap"));

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.XMLMapImpl"));

-			stringBuffer.append(TEXT_16);

-		}

-		stringBuffer.append(TEXT_17);

-		stringBuffer.append(genPackage.getResourceFactoryClassName());

-		stringBuffer.append(TEXT_18);

-		if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.BasicExtendedMetaData"));

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageRegistryImpl"));

-			stringBuffer.append(TEXT_21);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_22);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_23);

-		} else if (genPackage.hasXMLMap() && !genPackage.hasTargetNamespace()) {

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_25);

-		}

-		stringBuffer.append(TEXT_26);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_27);

-		}

-		stringBuffer.append(TEXT_28);

-		stringBuffer.append(TEXT_29);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass.ResourceFactoryClass.createResource.override" args="genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0uqqgWJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		//ResourceFactoryClass/createResource.override.javajetinc

-		stringBuffer.append(TEXT_30);

-		stringBuffer.append(genPackage.getResourceFactoryClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_31);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate && (genPackage.getResource() != GenResourceKind.NONE_LITERAL);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ResourceFactoryClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized ResourceFactoryClass create(String lineSeparator) {
+		nl = lineSeparator;
+		ResourceFactoryClass result = new ResourceFactoryClass();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * The <b>Resource Factory</b> associated with the package." + NL + " * <!-- end-user-doc -->" + NL
+			+ " * @see ";
+	protected final String TEXT_5 = NL + " * @generated" + NL + " */" + NL + "public class ";
+	protected final String TEXT_6 = " extends ";
+	protected final String TEXT_7 = NL + "{";
+	protected final String TEXT_8 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_9 = " copyright = ";
+	protected final String TEXT_10 = ";";
+	protected final String TEXT_11 = NL;
+	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_13 = " extendedMetaData;" + NL;
+	protected final String TEXT_14 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_15 = " xmlMap = new ";
+	protected final String TEXT_16 = "();" + NL;
+	protected final String TEXT_17 = NL + "\t/**" + NL + "\t * Creates an instance of the resource factory." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic ";
+	protected final String TEXT_18 = "()" + NL + "\t{" + NL + "\t\tsuper();";
+	protected final String TEXT_19 = NL + "\t\textendedMetaData = new ";
+	protected final String TEXT_20 = "(new ";
+	protected final String TEXT_21 = "(";
+	protected final String TEXT_22 = ".Registry.INSTANCE));" + NL + "\t\textendedMetaData.putPackage(null, ";
+	protected final String TEXT_23 = ".eINSTANCE);";
+	protected final String TEXT_24 = NL + "\t\txmlMap.setNoNamespacePackage(";
+	protected final String TEXT_25 = ".eINSTANCE);";
+	protected final String TEXT_26 = NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Creates an instance of the resource." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_27 = NL + "\t@Override";
+	protected final String TEXT_28 = NL + "\tpublic Resource createResource(URI uri)" + NL + "\t{";
+	protected final String TEXT_29 = NL;
+	protected final String TEXT_30 = NL + "\t}" + NL + "" + NL + "} //";
+	protected final String TEXT_31 = NL;
+	protected final String TEXT_32 = NL;
+	protected final String TEXT_33 = NL;
+
+	public ResourceFactoryClass() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_32);
+		stringBuffer.append(TEXT_33);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getModelDirectory();
+		packageName = genPackage.getUtilitiesPackageName();
+		className = genPackage.getResourceFactoryClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2006 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) argument;
+		GenModel genModel = genPackage.getGenModel();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getUtilitiesPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.getImportedName("org.eclipse.emf.common.util.URI");
+		genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource");
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genPackage.getQualifiedResourceClassName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genPackage.getResourceFactoryClassName());
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(genPackage.getImportedResourceFactoryBaseClassName());
+		stringBuffer.append(TEXT_7);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_11);
+		}
+		if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
+			stringBuffer.append(TEXT_13);
+		} else if (genPackage.hasXMLMap()) {
+			stringBuffer.append(TEXT_14);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource$XMLMap"));
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.XMLMapImpl"));
+			stringBuffer.append(TEXT_16);
+		}
+		stringBuffer.append(TEXT_17);
+		stringBuffer.append(genPackage.getResourceFactoryClassName());
+		stringBuffer.append(TEXT_18);
+		if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.BasicExtendedMetaData"));
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageRegistryImpl"));
+			stringBuffer.append(TEXT_21);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_22);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_23);
+		} else if (genPackage.hasXMLMap() && !genPackage.hasTargetNamespace()) {
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_25);
+		}
+		stringBuffer.append(TEXT_26);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_27);
+		}
+		stringBuffer.append(TEXT_28);
+		stringBuffer.append(TEXT_29);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass.ResourceFactoryClass.createResource.override" args="genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0uqqgWJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		//ResourceFactoryClass/createResource.override.javajetinc
+		stringBuffer.append(TEXT_30);
+		stringBuffer.append(genPackage.getResourceFactoryClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_31);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genPackage.getResource() != GenResourceKind.NONE_LITERAL);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/SwitchClass.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/SwitchClass.java
index 875789a..f0eaa0d 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/SwitchClass.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/SwitchClass.java
@@ -1,513 +1,496 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class SwitchClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized SwitchClass create(String lineSeparator) {

-		nl = lineSeparator;

-		SwitchClass result = new SwitchClass();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * The <b>Switch</b> for the model's inheritance hierarchy." + NL

-			+ " * It supports the call {@link #doSwitch(EObject) doSwitch(object)}" + NL

-			+ " * to invoke the <code>caseXXX</code> method for each class of the model," + NL

-			+ " * starting with the actual class of the object" + NL + " * and proceeding up the inheritance hierarchy"

-			+ NL + " * until a non-null result is returned," + NL + " * which is the result of the switch." + NL

-			+ " * <!-- end-user-doc -->" + NL + " * @see ";

-	protected final String TEXT_5 = NL + " * @generated" + NL + " */" + NL + "public class ";

-	protected final String TEXT_6 = " extends Switch";

-	protected final String TEXT_7 = NL + "{";

-	protected final String TEXT_8 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_9 = " copyright = ";

-	protected final String TEXT_10 = ";";

-	protected final String TEXT_11 = NL;

-	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * The cached model package" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected static ";

-	protected final String TEXT_13 = " modelPackage;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Creates an instance of the switch." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_14 = "()" + NL + "\t{" + NL + "\t\tif (modelPackage == null)" + NL + "\t\t{" + NL

-			+ "\t\t\tmodelPackage = ";

-	protected final String TEXT_15 = ".eINSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL;

-	protected final String TEXT_16 = NL + "\t/**" + NL + "\t * Checks whether this is a switch for the given package."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @param ePackage the package in question." + NL

-			+ "\t * @return whether this is a switch for the given package." + NL + "\t * @generated" + NL + "\t */"

-			+ NL + "\t@Override" + NL + "\tprotected boolean isSwitchFor(EPackage ePackage)" + NL + "\t{" + NL

-			+ "\t\treturn ePackage == modelPackage;" + NL + "\t}";

-	protected final String TEXT_17 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the first non-null result returned by a <code>caseXXX</code> call." + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_18 = " doSwitch(EObject theEObject)"

-			+ NL

-			+ "\t{"

-			+ NL

-			+ "\t\treturn doSwitch(theEObject.eClass(), theEObject);"

-			+ NL

-			+ "\t}"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the first non-null result returned by a <code>caseXXX</code> call." + NL

-			+ "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_19 = " doSwitch(EClass theEClass, EObject theEObject)" + NL + "\t{" + NL

-			+ "\t\tif (theEClass.eContainer() == modelPackage)" + NL + "\t\t{" + NL

-			+ "\t\t\treturn doSwitch(theEClass.getClassifierID(), theEObject);" + NL + "\t\t}";

-	protected final String TEXT_20 = NL + "\t\telse" + NL + "\t\t{";

-	protected final String TEXT_21 = NL + "\t\t";

-	protected final String TEXT_22 = "<";

-	protected final String TEXT_23 = ">";

-	protected final String TEXT_24 = " eSuperTypes = theEClass.getESuperTypes();" + NL + "\t\t";

-	protected final String TEXT_25 = "return" + NL + "\t\t";

-	protected final String TEXT_26 = "\teSuperTypes.isEmpty() ?" + NL + "\t\t";

-	protected final String TEXT_27 = "\t\tdefaultCase(theEObject) :" + NL + "\t\t";

-	protected final String TEXT_28 = "\t\tdoSwitch(";

-	protected final String TEXT_29 = "(EClass)";

-	protected final String TEXT_30 = "eSuperTypes.get(0), theEObject);";

-	protected final String TEXT_31 = NL + "\t\t}";

-	protected final String TEXT_32 = NL + "\t}";

-	protected final String TEXT_33 = NL

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return the first non-null result returned by a <code>caseXXX</code> call." + NL

-			+ "\t * @generated" + NL + "\t */";

-	protected final String TEXT_34 = NL + "\t@Override";

-	protected final String TEXT_35 = NL + "\tprotected ";

-	protected final String TEXT_36 = " doSwitch(int classifierID, EObject theEObject)" + NL + "\t{" + NL

-			+ "\t\tswitch (classifierID)" + NL + "\t\t{";

-	protected final String TEXT_37 = NL + "\t\t\tcase ";

-	protected final String TEXT_38 = ".";

-	protected final String TEXT_39 = ":" + NL + "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_40 = "@SuppressWarnings(\"unchecked\") ";

-	protected final String TEXT_41 = " ";

-	protected final String TEXT_42 = " = (";

-	protected final String TEXT_43 = ")theEObject;" + NL + "\t\t\t\t";

-	protected final String TEXT_44 = " ";

-	protected final String TEXT_45 = " = case";

-	protected final String TEXT_46 = "(";

-	protected final String TEXT_47 = ");";

-	protected final String TEXT_48 = NL + "\t\t\t\tif (";

-	protected final String TEXT_49 = " == null) ";

-	protected final String TEXT_50 = " = ";

-	protected final String TEXT_51 = "(";

-	protected final String TEXT_52 = ")";

-	protected final String TEXT_53 = "case";

-	protected final String TEXT_54 = "(";

-	protected final String TEXT_55 = "(";

-	protected final String TEXT_56 = ")";

-	protected final String TEXT_57 = ");";

-	protected final String TEXT_58 = NL + "\t\t\t\tif (";

-	protected final String TEXT_59 = " == null) ";

-	protected final String TEXT_60 = " = defaultCase(theEObject);" + NL + "\t\t\t\treturn ";

-	protected final String TEXT_61 = ";" + NL + "\t\t\t}";

-	protected final String TEXT_62 = NL + "\t\t\tdefault: return defaultCase(theEObject);" + NL + "\t\t}" + NL + "\t}";

-	protected final String TEXT_63 = NL + NL + "\t/**" + NL

-			+ "\t * Returns the result of interpreting the object as an instance of '<em>";

-	protected final String TEXT_64 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * This implementation returns null;" + NL

-			+ "\t * returning a non-null result will terminate the switch." + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @param object the target of the switch." + NL

-			+ "\t * @return the result of interpreting the object as an instance of '<em>";

-	protected final String TEXT_65 = "</em>'." + NL

-			+ "\t * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_66 = " case";

-	protected final String TEXT_67 = "(";

-	protected final String TEXT_68 = " object)" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}";

-	protected final String TEXT_69 = NL + NL + "\t/**" + NL

-			+ "\t * Returns the result of interpreting the object as an instance of '<em>EObject</em>'." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * This implementation returns null;" + NL

-			+ "\t * returning a non-null result will terminate the switch, but this is the last case anyway." + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @param object the target of the switch." + NL

-			+ "\t * @return the result of interpreting the object as an instance of '<em>EObject</em>'." + NL

-			+ "\t * @see #doSwitch(org.eclipse.emf.ecore.EObject)" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_70 = NL + "\t@Override";

-	protected final String TEXT_71 = NL + "\tpublic ";

-	protected final String TEXT_72 = " defaultCase(EObject object)" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}"

-			+ NL + "" + NL + "} //";

-	protected final String TEXT_73 = NL;

-	protected final String TEXT_74 = NL;

-	protected final String TEXT_75 = NL;

-

-	public SwitchClass() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_74);

-		stringBuffer.append(TEXT_75);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getModelDirectory();

-		packageName = genPackage.getUtilitiesPackageName();

-		className = genPackage.getSwitchClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2006 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) argument;

-		GenModel genModel = genPackage.getGenModel();

-		boolean supportsComposition = genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF27_VALUE;

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getUtilitiesPackageName());

-		stringBuffer.append(TEXT_3);

-		if (supportsComposition) {

-			genModel.addImport("org.eclipse.emf.ecore.EObject");

-			genModel.addImport("org.eclipse.emf.ecore.EPackage");

-			genModel.addImport("org.eclipse.emf.ecore.util.Switch");

-		} else {

-			genModel.addImport("org.eclipse.emf.ecore.EClass");

-			genModel.addImport("org.eclipse.emf.ecore.EObject");

-		}

-		if (!genPackage.hasJavaLangConflict()

-				&& !genPackage.getUtilitiesPackageName().equals(genPackage.getInterfacePackageName()))

-			genModel.addImport(genPackage.getInterfacePackageName() + ".*");

-

-		String templateParameterName = null;

-		if (genModel.useGenerics()) {

-			Set<String> usedNames = new HashSet<String>();

-			for (GenEnum genEnum : genPackage.getGenEnums()) {

-				usedNames.add(genEnum.getName());

-			}

-			for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {

-				if (!genClass.isDynamic() && !genClass.isExternalInterface()) {

-					usedNames.add(genClass.getName());

-				}

-				for (GenTypeParameter genTypeParameter : genClass.getGenTypeParameters()) {

-					usedNames.add(genTypeParameter.getName());

-				}

-			}

-			templateParameterName = "T";

-			for (int i = 1; usedNames.contains(templateParameterName); ++i) {

-				templateParameterName = "T" + i;

-			}

-		}

-

-		String templateParameters = genModel.useGenerics() ? "<" + templateParameterName + ">" : "";

-		String returnType = genModel.useGenerics() ? templateParameterName : genModel

-				.getImportedName("java.lang.Object");

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genPackage.getSwitchClassName());

-		stringBuffer.append(templateParameters);

-		if (supportsComposition) {

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(templateParameters);

-		}

-		stringBuffer.append(TEXT_7);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_11);

-		}

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-		stringBuffer.append(TEXT_13);

-		stringBuffer.append(genPackage.getSwitchClassName());

-		stringBuffer.append(TEXT_14);

-		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-		stringBuffer.append(TEXT_15);

-		if (supportsComposition) {

-			stringBuffer.append(TEXT_16);

-		} else {

-			boolean isUnnecessaryElse = genModel.isUnnecessaryElse();

-			String indent = isUnnecessaryElse ? "" : "\t";

-			stringBuffer.append(TEXT_17);

-			stringBuffer.append(returnType);

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(returnType);

-			stringBuffer.append(TEXT_19);

-			if (!isUnnecessaryElse) {

-				stringBuffer.append(TEXT_20);

-			}

-			stringBuffer.append(TEXT_21);

-			stringBuffer.append(indent);

-			stringBuffer.append(genModel.getImportedName("java.util.List"));

-			if (genModel.useGenerics()) {

-				stringBuffer.append(TEXT_22);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));

-				stringBuffer.append(TEXT_23);

-			}

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(indent);

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(indent);

-			stringBuffer.append(TEXT_26);

-			stringBuffer.append(indent);

-			stringBuffer.append(TEXT_27);

-			stringBuffer.append(indent);

-			stringBuffer.append(TEXT_28);

-			if (!genModel.useGenerics()) {

-				stringBuffer.append(TEXT_29);

-			}

-			stringBuffer.append(TEXT_30);

-			if (!isUnnecessaryElse) {

-				stringBuffer.append(TEXT_31);

-			}

-			stringBuffer.append(TEXT_32);

-		}

-		stringBuffer.append(TEXT_33);

-		if (supportsComposition) {

-			stringBuffer.append(TEXT_34);

-		}

-		stringBuffer.append(TEXT_35);

-		stringBuffer.append(returnType);

-		stringBuffer.append(TEXT_36);

-		for (GenClass genClass : genPackage.getGenClasses()) {

-			if (!genClass.isEObject()) {

-				String result = "result".equals(genClass.getSafeUncapName()) ? "theResult" : "result";

-				stringBuffer.append(TEXT_37);

-				stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genPackage.getClassifierID(genClass));

-				stringBuffer.append(TEXT_39);

-				if (genClass.isUncheckedCast() || genClass.isMapEntry()

-						&& genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {

-					stringBuffer.append(TEXT_40);

-				}

-				stringBuffer.append(genClass.getImportedInterfaceName());

-				stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-				stringBuffer.append(TEXT_41);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_42);

-				stringBuffer.append(genClass.getImportedInterfaceName());

-				stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-				stringBuffer.append(TEXT_43);

-				stringBuffer.append(returnType);

-				stringBuffer.append(TEXT_44);

-				stringBuffer.append(result);

-				stringBuffer.append(TEXT_45);

-				stringBuffer.append(genPackage.getClassUniqueName(genClass));

-				stringBuffer.append(TEXT_46);

-				stringBuffer.append(genClass.getSafeUncapName());

-				stringBuffer.append(TEXT_47);

-				for (GenClass baseGenClass : genClass.getSwitchGenClasses()) {

-					stringBuffer.append(TEXT_48);

-					stringBuffer.append(result);

-					stringBuffer.append(TEXT_49);

-					stringBuffer.append(result);

-					stringBuffer.append(TEXT_50);

-					if (genClass.isRawBaseClass(baseGenClass)) {

-						stringBuffer.append(TEXT_51);

-						stringBuffer.append(returnType);

-						stringBuffer.append(TEXT_52);

-					}

-					stringBuffer.append(TEXT_53);

-					stringBuffer.append(genPackage.getClassUniqueName(baseGenClass));

-					stringBuffer.append(TEXT_54);

-					if (genClass.isMapEntry()) {

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(baseGenClass.getImportedInterfaceName());

-						stringBuffer.append(baseGenClass.getInterfaceTypeArguments());

-						stringBuffer.append(TEXT_56);

-					}

-					stringBuffer.append(genClass.getSafeUncapName());

-					stringBuffer.append(TEXT_57);

-				}

-				stringBuffer.append(TEXT_58);

-				stringBuffer.append(result);

-				stringBuffer.append(TEXT_59);

-				stringBuffer.append(result);

-				stringBuffer.append(TEXT_60);

-				stringBuffer.append(result);

-				stringBuffer.append(TEXT_61);

-			}

-		}

-		stringBuffer.append(TEXT_62);

-		for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {

-			stringBuffer.append(TEXT_63);

-			stringBuffer.append(genClass.getFormattedName());

-			stringBuffer.append(TEXT_64);

-			stringBuffer.append(genClass.getFormattedName());

-			stringBuffer.append(TEXT_65);

-			stringBuffer.append(genClass.getTypeParameters());

-			stringBuffer.append(returnType);

-			stringBuffer.append(TEXT_66);

-			stringBuffer.append(genPackage.getClassUniqueName(genClass));

-			stringBuffer.append(TEXT_67);

-			stringBuffer.append(genClass.getImportedInterfaceName());

-			stringBuffer.append(genClass.getInterfaceTypeArguments());

-			stringBuffer.append(TEXT_68);

-		}

-		stringBuffer.append(TEXT_69);

-		if (supportsComposition) {

-			stringBuffer.append(TEXT_70);

-		}

-		stringBuffer.append(TEXT_71);

-		stringBuffer.append(returnType);

-		stringBuffer.append(TEXT_72);

-		stringBuffer.append(genPackage.getSwitchClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_73);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate

-				&& (genPackage.hasClassifiers() && genPackage.isAdapterFactory() && !genPackage.getGenClasses()

-						.isEmpty());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class SwitchClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized SwitchClass create(String lineSeparator) {
+		nl = lineSeparator;
+		SwitchClass result = new SwitchClass();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * The <b>Switch</b> for the model's inheritance hierarchy." + NL
+			+ " * It supports the call {@link #doSwitch(EObject) doSwitch(object)}" + NL
+			+ " * to invoke the <code>caseXXX</code> method for each class of the model," + NL
+			+ " * starting with the actual class of the object" + NL + " * and proceeding up the inheritance hierarchy"
+			+ NL + " * until a non-null result is returned," + NL + " * which is the result of the switch." + NL
+			+ " * <!-- end-user-doc -->" + NL + " * @see ";
+	protected final String TEXT_5 = NL + " * @generated" + NL + " */" + NL + "public class ";
+	protected final String TEXT_6 = " extends Switch";
+	protected final String TEXT_7 = NL + "{";
+	protected final String TEXT_8 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_9 = " copyright = ";
+	protected final String TEXT_10 = ";";
+	protected final String TEXT_11 = NL;
+	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * The cached model package" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected static ";
+	protected final String TEXT_13 = " modelPackage;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Creates an instance of the switch." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_14 = "()" + NL + "\t{" + NL + "\t\tif (modelPackage == null)" + NL + "\t\t{" + NL
+			+ "\t\t\tmodelPackage = ";
+	protected final String TEXT_15 = ".eINSTANCE;" + NL + "\t\t}" + NL + "\t}" + NL;
+	protected final String TEXT_16 = NL + "\t/**" + NL + "\t * Checks whether this is a switch for the given package."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @param ePackage the package in question." + NL
+			+ "\t * @return whether this is a switch for the given package." + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\t@Override" + NL + "\tprotected boolean isSwitchFor(EPackage ePackage)" + NL + "\t{" + NL
+			+ "\t\treturn ePackage == modelPackage;" + NL + "\t}";
+	protected final String TEXT_17 = NL + "\t/**" + NL
+			+ "\t * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the first non-null result returned by a <code>caseXXX</code> call." + NL + "\t * @generated"
+			+ NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_18 = " doSwitch(EObject theEObject)" + NL + "\t{" + NL
+			+ "\t\treturn doSwitch(theEObject.eClass(), theEObject);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the first non-null result returned by a <code>caseXXX</code> call." + NL + "\t * @generated"
+			+ NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_19 = " doSwitch(EClass theEClass, EObject theEObject)" + NL + "\t{" + NL
+			+ "\t\tif (theEClass.eContainer() == modelPackage)" + NL + "\t\t{" + NL
+			+ "\t\t\treturn doSwitch(theEClass.getClassifierID(), theEObject);" + NL + "\t\t}";
+	protected final String TEXT_20 = NL + "\t\telse" + NL + "\t\t{";
+	protected final String TEXT_21 = NL + "\t\t";
+	protected final String TEXT_22 = "<";
+	protected final String TEXT_23 = ">";
+	protected final String TEXT_24 = " eSuperTypes = theEClass.getESuperTypes();" + NL + "\t\t";
+	protected final String TEXT_25 = "return" + NL + "\t\t";
+	protected final String TEXT_26 = "\teSuperTypes.isEmpty() ?" + NL + "\t\t";
+	protected final String TEXT_27 = "\t\tdefaultCase(theEObject) :" + NL + "\t\t";
+	protected final String TEXT_28 = "\t\tdoSwitch(";
+	protected final String TEXT_29 = "(EClass)";
+	protected final String TEXT_30 = "eSuperTypes.get(0), theEObject);";
+	protected final String TEXT_31 = NL + "\t\t}";
+	protected final String TEXT_32 = NL + "\t}";
+	protected final String TEXT_33 = NL + NL + "\t/**" + NL
+			+ "\t * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return the first non-null result returned by a <code>caseXXX</code> call." + NL + "\t * @generated"
+			+ NL + "\t */";
+	protected final String TEXT_34 = NL + "\t@Override";
+	protected final String TEXT_35 = NL + "\tprotected ";
+	protected final String TEXT_36 = " doSwitch(int classifierID, EObject theEObject)" + NL + "\t{" + NL
+			+ "\t\tswitch (classifierID)" + NL + "\t\t{";
+	protected final String TEXT_37 = NL + "\t\t\tcase ";
+	protected final String TEXT_38 = ".";
+	protected final String TEXT_39 = ":" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_40 = "@SuppressWarnings(\"unchecked\") ";
+	protected final String TEXT_41 = " ";
+	protected final String TEXT_42 = " = (";
+	protected final String TEXT_43 = ")theEObject;" + NL + "\t\t\t\t";
+	protected final String TEXT_44 = " ";
+	protected final String TEXT_45 = " = case";
+	protected final String TEXT_46 = "(";
+	protected final String TEXT_47 = ");";
+	protected final String TEXT_48 = NL + "\t\t\t\tif (";
+	protected final String TEXT_49 = " == null) ";
+	protected final String TEXT_50 = " = ";
+	protected final String TEXT_51 = "(";
+	protected final String TEXT_52 = ")";
+	protected final String TEXT_53 = "case";
+	protected final String TEXT_54 = "(";
+	protected final String TEXT_55 = "(";
+	protected final String TEXT_56 = ")";
+	protected final String TEXT_57 = ");";
+	protected final String TEXT_58 = NL + "\t\t\t\tif (";
+	protected final String TEXT_59 = " == null) ";
+	protected final String TEXT_60 = " = defaultCase(theEObject);" + NL + "\t\t\t\treturn ";
+	protected final String TEXT_61 = ";" + NL + "\t\t\t}";
+	protected final String TEXT_62 = NL + "\t\t\tdefault: return defaultCase(theEObject);" + NL + "\t\t}" + NL + "\t}";
+	protected final String TEXT_63 = NL + NL + "\t/**" + NL
+			+ "\t * Returns the result of interpreting the object as an instance of '<em>";
+	protected final String TEXT_64 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * This implementation returns null;" + NL
+			+ "\t * returning a non-null result will terminate the switch." + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @param object the target of the switch." + NL
+			+ "\t * @return the result of interpreting the object as an instance of '<em>";
+	protected final String TEXT_65 = "</em>'." + NL
+			+ "\t * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tpublic ";
+	protected final String TEXT_66 = " case";
+	protected final String TEXT_67 = "(";
+	protected final String TEXT_68 = " object)" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}";
+	protected final String TEXT_69 = NL + NL + "\t/**" + NL
+			+ "\t * Returns the result of interpreting the object as an instance of '<em>EObject</em>'." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * This implementation returns null;" + NL
+			+ "\t * returning a non-null result will terminate the switch, but this is the last case anyway." + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @param object the target of the switch." + NL
+			+ "\t * @return the result of interpreting the object as an instance of '<em>EObject</em>'." + NL
+			+ "\t * @see #doSwitch(org.eclipse.emf.ecore.EObject)" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_70 = NL + "\t@Override";
+	protected final String TEXT_71 = NL + "\tpublic ";
+	protected final String TEXT_72 = " defaultCase(EObject object)" + NL + "\t{" + NL + "\t\treturn null;" + NL + "\t}"
+			+ NL + "" + NL + "} //";
+	protected final String TEXT_73 = NL;
+	protected final String TEXT_74 = NL;
+	protected final String TEXT_75 = NL;
+
+	public SwitchClass() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_74);
+		stringBuffer.append(TEXT_75);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getModelDirectory();
+		packageName = genPackage.getUtilitiesPackageName();
+		className = genPackage.getSwitchClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2006 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) argument;
+		GenModel genModel = genPackage.getGenModel();
+		boolean supportsComposition = genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF27_VALUE;
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getUtilitiesPackageName());
+		stringBuffer.append(TEXT_3);
+		if (supportsComposition) {
+			genModel.addImport("org.eclipse.emf.ecore.EObject");
+			genModel.addImport("org.eclipse.emf.ecore.EPackage");
+			genModel.addImport("org.eclipse.emf.ecore.util.Switch");
+		} else {
+			genModel.addImport("org.eclipse.emf.ecore.EClass");
+			genModel.addImport("org.eclipse.emf.ecore.EObject");
+		}
+		if (!genPackage.hasJavaLangConflict()
+				&& !genPackage.getUtilitiesPackageName().equals(genPackage.getInterfacePackageName()))
+			genModel.addImport(genPackage.getInterfacePackageName() + ".*");
+
+		String templateParameterName = null;
+		if (genModel.useGenerics()) {
+			Set<String> usedNames = new HashSet<String>();
+			for (GenEnum genEnum : genPackage.getGenEnums()) {
+				usedNames.add(genEnum.getName());
+			}
+			for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {
+				if (!genClass.isDynamic() && !genClass.isExternalInterface()) {
+					usedNames.add(genClass.getName());
+				}
+				for (GenTypeParameter genTypeParameter : genClass.getGenTypeParameters()) {
+					usedNames.add(genTypeParameter.getName());
+				}
+			}
+			templateParameterName = "T";
+			for (int i = 1; usedNames.contains(templateParameterName); ++i) {
+				templateParameterName = "T" + i;
+			}
+		}
+
+		String templateParameters = genModel.useGenerics() ? "<" + templateParameterName + ">" : "";
+		String returnType = genModel.useGenerics() ? templateParameterName
+				: genModel.getImportedName("java.lang.Object");
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genPackage.getSwitchClassName());
+		stringBuffer.append(templateParameters);
+		if (supportsComposition) {
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(templateParameters);
+		}
+		stringBuffer.append(TEXT_7);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_11);
+		}
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+		stringBuffer.append(TEXT_13);
+		stringBuffer.append(genPackage.getSwitchClassName());
+		stringBuffer.append(TEXT_14);
+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+		stringBuffer.append(TEXT_15);
+		if (supportsComposition) {
+			stringBuffer.append(TEXT_16);
+		} else {
+			boolean isUnnecessaryElse = genModel.isUnnecessaryElse();
+			String indent = isUnnecessaryElse ? "" : "\t";
+			stringBuffer.append(TEXT_17);
+			stringBuffer.append(returnType);
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(returnType);
+			stringBuffer.append(TEXT_19);
+			if (!isUnnecessaryElse) {
+				stringBuffer.append(TEXT_20);
+			}
+			stringBuffer.append(TEXT_21);
+			stringBuffer.append(indent);
+			stringBuffer.append(genModel.getImportedName("java.util.List"));
+			if (genModel.useGenerics()) {
+				stringBuffer.append(TEXT_22);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
+				stringBuffer.append(TEXT_23);
+			}
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(indent);
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(indent);
+			stringBuffer.append(TEXT_26);
+			stringBuffer.append(indent);
+			stringBuffer.append(TEXT_27);
+			stringBuffer.append(indent);
+			stringBuffer.append(TEXT_28);
+			if (!genModel.useGenerics()) {
+				stringBuffer.append(TEXT_29);
+			}
+			stringBuffer.append(TEXT_30);
+			if (!isUnnecessaryElse) {
+				stringBuffer.append(TEXT_31);
+			}
+			stringBuffer.append(TEXT_32);
+		}
+		stringBuffer.append(TEXT_33);
+		if (supportsComposition) {
+			stringBuffer.append(TEXT_34);
+		}
+		stringBuffer.append(TEXT_35);
+		stringBuffer.append(returnType);
+		stringBuffer.append(TEXT_36);
+		for (GenClass genClass : genPackage.getGenClasses()) {
+			if (!genClass.isEObject()) {
+				String result = "result".equals(genClass.getSafeUncapName()) ? "theResult" : "result";
+				stringBuffer.append(TEXT_37);
+				stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genPackage.getClassifierID(genClass));
+				stringBuffer.append(TEXT_39);
+				if (genClass.isUncheckedCast()
+						|| genClass.isMapEntry() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
+					stringBuffer.append(TEXT_40);
+				}
+				stringBuffer.append(genClass.getImportedInterfaceName());
+				stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+				stringBuffer.append(TEXT_41);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_42);
+				stringBuffer.append(genClass.getImportedInterfaceName());
+				stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+				stringBuffer.append(TEXT_43);
+				stringBuffer.append(returnType);
+				stringBuffer.append(TEXT_44);
+				stringBuffer.append(result);
+				stringBuffer.append(TEXT_45);
+				stringBuffer.append(genPackage.getClassUniqueName(genClass));
+				stringBuffer.append(TEXT_46);
+				stringBuffer.append(genClass.getSafeUncapName());
+				stringBuffer.append(TEXT_47);
+				for (GenClass baseGenClass : genClass.getSwitchGenClasses()) {
+					stringBuffer.append(TEXT_48);
+					stringBuffer.append(result);
+					stringBuffer.append(TEXT_49);
+					stringBuffer.append(result);
+					stringBuffer.append(TEXT_50);
+					if (genClass.isRawBaseClass(baseGenClass)) {
+						stringBuffer.append(TEXT_51);
+						stringBuffer.append(returnType);
+						stringBuffer.append(TEXT_52);
+					}
+					stringBuffer.append(TEXT_53);
+					stringBuffer.append(genPackage.getClassUniqueName(baseGenClass));
+					stringBuffer.append(TEXT_54);
+					if (genClass.isMapEntry()) {
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(baseGenClass.getImportedInterfaceName());
+						stringBuffer.append(baseGenClass.getInterfaceTypeArguments());
+						stringBuffer.append(TEXT_56);
+					}
+					stringBuffer.append(genClass.getSafeUncapName());
+					stringBuffer.append(TEXT_57);
+				}
+				stringBuffer.append(TEXT_58);
+				stringBuffer.append(result);
+				stringBuffer.append(TEXT_59);
+				stringBuffer.append(result);
+				stringBuffer.append(TEXT_60);
+				stringBuffer.append(result);
+				stringBuffer.append(TEXT_61);
+			}
+		}
+		stringBuffer.append(TEXT_62);
+		for (GenClass genClass : genPackage.getAllSwitchGenClasses()) {
+			stringBuffer.append(TEXT_63);
+			stringBuffer.append(genClass.getFormattedName());
+			stringBuffer.append(TEXT_64);
+			stringBuffer.append(genClass.getFormattedName());
+			stringBuffer.append(TEXT_65);
+			stringBuffer.append(genClass.getTypeParameters());
+			stringBuffer.append(returnType);
+			stringBuffer.append(TEXT_66);
+			stringBuffer.append(genPackage.getClassUniqueName(genClass));
+			stringBuffer.append(TEXT_67);
+			stringBuffer.append(genClass.getImportedInterfaceName());
+			stringBuffer.append(genClass.getInterfaceTypeArguments());
+			stringBuffer.append(TEXT_68);
+		}
+		stringBuffer.append(TEXT_69);
+		if (supportsComposition) {
+			stringBuffer.append(TEXT_70);
+		}
+		stringBuffer.append(TEXT_71);
+		stringBuffer.append(returnType);
+		stringBuffer.append(TEXT_72);
+		stringBuffer.append(genPackage.getSwitchClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_73);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.isAdapterFactory()
+				&& !genPackage.getGenClasses().isEmpty());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ValidatorClass.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ValidatorClass.java
index 8619a6c..dfeeea7 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ValidatorClass.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/ValidatorClass.java
@@ -1,2287 +1,2275 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ValidatorClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized ValidatorClass create(String lineSeparator) {

-		nl = lineSeparator;

-		ValidatorClass result = new ValidatorClass();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * The <b>Validator</b> for the model." + NL + " * <!-- end-user-doc -->" + NL + " * @see ";

-	protected final String TEXT_5 = NL + " * @generated" + NL + " */" + NL + "public class ";

-	protected final String TEXT_6 = " extends ";

-	protected final String TEXT_7 = NL + "{";

-	protected final String TEXT_8 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_9 = " copyright = ";

-	protected final String TEXT_10 = ";";

-	protected final String TEXT_11 = NL;

-	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * The cached model package" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_13 = " INSTANCE = new ";

-	protected final String TEXT_14 = "();"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @see org.eclipse.emf.common.util.Diagnostic#getSource()" + NL

-			+ "\t * @see org.eclipse.emf.common.util.Diagnostic#getCode()" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static final String DIAGNOSTIC_SOURCE = \"";

-	protected final String TEXT_15 = "\";";

-	protected final String TEXT_16 = NL;

-	protected final String TEXT_17 = NL + "\t/**" + NL

-			+ "\t * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint '";

-	protected final String TEXT_18 = "' of '";

-	protected final String TEXT_19 = "'." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final int ";

-	protected final String TEXT_20 = " = ";

-	protected final String TEXT_21 = ";" + NL;

-	protected final String TEXT_22 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * A constant with a fixed name that can be used as the base value for additional hand written constants."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprivate static final int GENERATED_DIAGNOSTIC_CODE_COUNT = ";

-	protected final String TEXT_23 = ";"

-			+ NL

-			+ ""

-			+ NL

-			+ "\t/**"

-			+ NL

-			+ "\t * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;"

-			+ NL;

-	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * The cached base package validator." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tprotected ";

-	protected final String TEXT_25 = " ";

-	protected final String TEXT_26 = "Validator;" + NL;

-	protected final String TEXT_27 = NL + "\t/**" + NL

-			+ "\t * Delegates evaluation of the given invariant expression against the object in the given context."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static boolean validate(";

-	protected final String TEXT_28 = " eClass, ";

-	protected final String TEXT_29 = " eObject, DiagnosticChain diagnostics, ";

-	protected final String TEXT_30 = " context, ";

-	protected final String TEXT_31 = " validationDelegate, ";

-	protected final String TEXT_32 = " invariant, ";

-	protected final String TEXT_33 = " expression, int severity, ";

-	protected final String TEXT_34 = " source, int code)" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_35 = ".validate(eClass, eObject, diagnostics, context, validationDelegate, invariant, expression, severity, source, code);"

-			+ NL + "\t}" + NL;

-	protected final String TEXT_36 = NL + "\t/**" + NL + "\t * Creates an instance of the switch." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_37 = "()" + NL + "\t{" + NL + "\t\tsuper();";

-	protected final String TEXT_38 = NL + "\t\t";

-	protected final String TEXT_39 = "Validator = ";

-	protected final String TEXT_40 = ".INSTANCE;";

-	protected final String TEXT_41 = NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Returns the package of this validator switch." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_42 = NL + "\t@Override";

-	protected final String TEXT_43 = NL + "\tprotected EPackage getEPackage()" + NL + "\t{" + NL + "\t  return ";

-	protected final String TEXT_44 = ".eINSTANCE;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * Calls <code>validateXXX</code> for the corresponding classifier of the model." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_45 = NL + "\t@Override";

-	protected final String TEXT_46 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_47 = NL

-			+ "\tprotected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, ";

-	protected final String TEXT_48 = " context)" + NL + "\t{" + NL + "\t\tswitch (classifierID)" + NL + "\t\t{";

-	protected final String TEXT_49 = NL + "\t\t\tcase ";

-	protected final String TEXT_50 = ".";

-	protected final String TEXT_51 = ":";

-	protected final String TEXT_52 = NL + "\t\t\t\treturn validate";

-	protected final String TEXT_53 = "(((";

-	protected final String TEXT_54 = ")value).";

-	protected final String TEXT_55 = "(), diagnostics, context);";

-	protected final String TEXT_56 = NL + "\t\t\t\treturn validate";

-	protected final String TEXT_57 = "((";

-	protected final String TEXT_58 = ")value, diagnostics, context);";

-	protected final String TEXT_59 = NL + "\t\t\t\treturn validate";

-	protected final String TEXT_60 = "(value, diagnostics, context);";

-	protected final String TEXT_61 = NL + "\t\t\t\treturn validate";

-	protected final String TEXT_62 = "((";

-	protected final String TEXT_63 = ")value, diagnostics, context);";

-	protected final String TEXT_64 = NL + "\t\t\t\treturn validate";

-	protected final String TEXT_65 = "((";

-	protected final String TEXT_66 = ")value, diagnostics, context);";

-	protected final String TEXT_67 = NL + "\t\t\tdefault:" + NL + "\t\t\t\treturn true;" + NL + "\t\t}" + NL + "\t}"

-			+ NL;

-	protected final String TEXT_68 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic boolean validate";

-	protected final String TEXT_69 = "(";

-	protected final String TEXT_70 = " ";

-	protected final String TEXT_71 = ", DiagnosticChain ";

-	protected final String TEXT_72 = ", ";

-	protected final String TEXT_73 = " ";

-	protected final String TEXT_74 = ")" + NL + "\t{";

-	protected final String TEXT_75 = NL + "\t\treturn true;";

-	protected final String TEXT_76 = NL + "\t\treturn validate_EveryDefaultConstraint(";

-	protected final String TEXT_77 = "(";

-	protected final String TEXT_78 = ")";

-	protected final String TEXT_79 = ", ";

-	protected final String TEXT_80 = ", ";

-	protected final String TEXT_81 = ");";

-	protected final String TEXT_82 = NL + "\t\tif (!validate_NoCircularContainment(";

-	protected final String TEXT_83 = "(";

-	protected final String TEXT_84 = ")";

-	protected final String TEXT_85 = ", ";

-	protected final String TEXT_86 = ", ";

-	protected final String TEXT_87 = ")) return false;";

-	protected final String TEXT_88 = NL + "\t\tboolean ";

-	protected final String TEXT_89 = " = ";

-	protected final String TEXT_90 = "validate";

-	protected final String TEXT_91 = "_";

-	protected final String TEXT_92 = "(";

-	protected final String TEXT_93 = ", ";

-	protected final String TEXT_94 = ", ";

-	protected final String TEXT_95 = ");";

-	protected final String TEXT_96 = NL + "\t\tif (";

-	protected final String TEXT_97 = " || ";

-	protected final String TEXT_98 = " != null) ";

-	protected final String TEXT_99 = " &= ";

-	protected final String TEXT_100 = "validate";

-	protected final String TEXT_101 = "_";

-	protected final String TEXT_102 = "(";

-	protected final String TEXT_103 = ", ";

-	protected final String TEXT_104 = ", ";

-	protected final String TEXT_105 = ");";

-	protected final String TEXT_106 = NL + "\t\treturn ";

-	protected final String TEXT_107 = ";";

-	protected final String TEXT_108 = NL + "\t}" + NL;

-	protected final String TEXT_109 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";

-	protected final String TEXT_110 = "_";

-	protected final String TEXT_111 = NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_112 = " ";

-	protected final String TEXT_113 = "__VALUE = ";

-	protected final String TEXT_114 = ";" + NL;

-	protected final String TEXT_115 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";

-	protected final String TEXT_116 = "_";

-	protected final String TEXT_117 = NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_118 = " ";

-	protected final String TEXT_119 = "__VALUE = ";

-	protected final String TEXT_120 = ";" + NL;

-	protected final String TEXT_121 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";

-	protected final String TEXT_122 = "_";

-	protected final String TEXT_123 = NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_124 = " ";

-	protected final String TEXT_125 = "__UPPER_BOUND = ";

-	protected final String TEXT_126 = ";" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";

-	protected final String TEXT_127 = "_";

-	protected final String TEXT_128 = NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_129 = " ";

-	protected final String TEXT_130 = "__LOWER_BOUND = ";

-	protected final String TEXT_131 = ";" + NL;

-	protected final String TEXT_132 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";

-	protected final String TEXT_133 = "_";

-	protected final String TEXT_134 = NL + "\t */" + NL + "\tpublic static final  PatternMatcher [][] ";

-	protected final String TEXT_135 = "__VALUES =" + NL + "\t\tnew PatternMatcher [][]" + NL + "\t\t{";

-	protected final String TEXT_136 = NL + "\t\t\tnew PatternMatcher []" + NL + "\t\t\t{";

-	protected final String TEXT_137 = NL + "\t\t\t\t";

-	protected final String TEXT_138 = ".createPatternMatcher(";

-	protected final String TEXT_139 = ")";

-	protected final String TEXT_140 = NL + "\t\t\t}";

-	protected final String TEXT_141 = NL + "\t\t};" + NL;

-	protected final String TEXT_142 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";

-	protected final String TEXT_143 = "_";

-	protected final String TEXT_144 = NL + "\t */";

-	protected final String TEXT_145 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_146 = NL + "\tpublic static final ";

-	protected final String TEXT_147 = " ";

-	protected final String TEXT_148 = "__VALUES =" + NL + "\t\twrapEnumerationValues" + NL + "\t\t\t(new Object[]" + NL

-			+ "\t\t\t {";

-	protected final String TEXT_149 = NL + "\t\t\t\t ";

-	protected final String TEXT_150 = "new ";

-	protected final String TEXT_151 = "(";

-	protected final String TEXT_152 = ")";

-	protected final String TEXT_153 = NL + "\t\t\t });" + NL;

-	protected final String TEXT_154 = NL + "\t/**" + NL + "\t * The cached validation expression for the ";

-	protected final String TEXT_155 = " constraint of '<em>";

-	protected final String TEXT_156 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected static final ";

-	protected final String TEXT_157 = " ";

-	protected final String TEXT_158 = "__";

-	protected final String TEXT_159 = "__EEXPRESSION = \"";

-	protected final String TEXT_160 = "\";";

-	protected final String TEXT_161 = NL;

-	protected final String TEXT_162 = NL + "\t/**" + NL + "\t * Validates the ";

-	protected final String TEXT_163 = " constraint of '<em>";

-	protected final String TEXT_164 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic boolean validate";

-	protected final String TEXT_165 = "_";

-	protected final String TEXT_166 = "(";

-	protected final String TEXT_167 = " ";

-	protected final String TEXT_168 = ", DiagnosticChain ";

-	protected final String TEXT_169 = ", ";

-	protected final String TEXT_170 = " ";

-	protected final String TEXT_171 = ")" + NL + "\t{";

-	protected final String TEXT_172 = NL + "\t\tboolean ";

-	protected final String TEXT_173 = " = true;" + NL + "\t\tfor (";

-	protected final String TEXT_174 = " i = ";

-	protected final String TEXT_175 = ".iterator(); i.hasNext() && (result || diagnostics != null); )" + NL + "\t\t{"

-			+ NL + "\t\t\tObject item = i.next();";

-	protected final String TEXT_176 = NL + "\t\t\tif (";

-	protected final String TEXT_177 = ".isInstance(item))" + NL + "\t\t\t{" + NL + "\t\t\t\tresult &= ";

-	protected final String TEXT_178 = "validate";

-	protected final String TEXT_179 = "(";

-	protected final String TEXT_180 = "(";

-	protected final String TEXT_181 = "(";

-	protected final String TEXT_182 = ")";

-	protected final String TEXT_183 = ").";

-	protected final String TEXT_184 = "()";

-	protected final String TEXT_185 = ", ";

-	protected final String TEXT_186 = ", ";

-	protected final String TEXT_187 = ");" + NL + "\t\t\t}" + NL + "\t\t\telse";

-	protected final String TEXT_188 = NL + "\t\t\tif (!";

-	protected final String TEXT_189 = ".isInstance(item))";

-	protected final String TEXT_190 = NL + "\t\t\t{" + NL + "\t\t\t\tresult = false;" + NL

-			+ "\t\t\t\treportDataValueTypeViolation(";

-	protected final String TEXT_191 = ", item, ";

-	protected final String TEXT_192 = ", ";

-	protected final String TEXT_193 = ");" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn result;";

-	protected final String TEXT_194 = NL + "\t\tif (diagnostics != null)" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_195 = " tempDiagnostics = new BasicDiagnostic();";

-	protected final String TEXT_196 = NL + "\t\t\tif (";

-	protected final String TEXT_197 = "validate";

-	protected final String TEXT_198 = "(";

-	protected final String TEXT_199 = ", tempDiagnostics, ";

-	protected final String TEXT_200 = ")) return true;";

-	protected final String TEXT_201 = NL + "\t\t\tif (";

-	protected final String TEXT_202 = ".isInstance(";

-	protected final String TEXT_203 = "))" + NL + "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_204 = "if (";

-	protected final String TEXT_205 = "validate";

-	protected final String TEXT_206 = "(";

-	protected final String TEXT_207 = "(";

-	protected final String TEXT_208 = "(";

-	protected final String TEXT_209 = ")";

-	protected final String TEXT_210 = ").";

-	protected final String TEXT_211 = "()";

-	protected final String TEXT_212 = ", tempDiagnostics, ";

-	protected final String TEXT_213 = ")) ";

-	protected final String TEXT_214 = "return true;" + NL + "\t\t\t}";

-	protected final String TEXT_215 = NL + "\t\t\tfor (";

-	protected final String TEXT_216 = " diagnostic : tempDiagnostics.getChildren())" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\tdiagnostics.add(diagnostic);" + NL + "\t\t\t}";

-	protected final String TEXT_217 = NL + "\t\t\t";

-	protected final String TEXT_218 = " children = tempDiagnostics.getChildren();" + NL

-			+ "\t\t\tfor (int i = 0; i < children.size(); i++)" + NL + "\t\t\t{" + NL + "\t\t\t\tdiagnostics.add((";

-	protected final String TEXT_219 = ")children.get(i));" + NL + "\t\t\t}";

-	protected final String TEXT_220 = NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{";

-	protected final String TEXT_221 = NL + "\t\t\tif (";

-	protected final String TEXT_222 = "validate";

-	protected final String TEXT_223 = "(";

-	protected final String TEXT_224 = ", null, ";

-	protected final String TEXT_225 = ")) return true;";

-	protected final String TEXT_226 = NL + "\t\t\tif (";

-	protected final String TEXT_227 = ".isInstance(";

-	protected final String TEXT_228 = "))" + NL + "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_229 = "if (";

-	protected final String TEXT_230 = "validate";

-	protected final String TEXT_231 = "(";

-	protected final String TEXT_232 = "(";

-	protected final String TEXT_233 = "(";

-	protected final String TEXT_234 = ")";

-	protected final String TEXT_235 = ").";

-	protected final String TEXT_236 = "()";

-	protected final String TEXT_237 = ", null, ";

-	protected final String TEXT_238 = ")) ";

-	protected final String TEXT_239 = "return true;" + NL + "\t\t\t}";

-	protected final String TEXT_240 = NL + "\t\t}" + NL + "\t\treturn false;";

-	protected final String TEXT_241 = NL + "\t\treturn validatePattern(";

-	protected final String TEXT_242 = ", ";

-	protected final String TEXT_243 = "new ";

-	protected final String TEXT_244 = "(";

-	protected final String TEXT_245 = ")";

-	protected final String TEXT_246 = ", ";

-	protected final String TEXT_247 = "__VALUES, ";

-	protected final String TEXT_248 = ", ";

-	protected final String TEXT_249 = ");";

-	protected final String TEXT_250 = NL + "\t\t";

-	protected final String TEXT_251 = " ";

-	protected final String TEXT_252 = " = new ";

-	protected final String TEXT_253 = "(";

-	protected final String TEXT_254 = ");";

-	protected final String TEXT_255 = NL + "\t\tboolean ";

-	protected final String TEXT_256 = " = ";

-	protected final String TEXT_257 = "__VALUES.contains(";

-	protected final String TEXT_258 = ");" + NL + "\t\tif (!";

-	protected final String TEXT_259 = " && ";

-	protected final String TEXT_260 = " != null)" + NL + "\t\t\treportEnumerationViolation(";

-	protected final String TEXT_261 = ", ";

-	protected final String TEXT_262 = ", ";

-	protected final String TEXT_263 = "__VALUES, ";

-	protected final String TEXT_264 = ", ";

-	protected final String TEXT_265 = ");" + NL + "\t\treturn ";

-	protected final String TEXT_266 = ";";

-	protected final String TEXT_267 = NL + "\t\tboolean ";

-	protected final String TEXT_268 = " = ";

-	protected final String TEXT_269 = " ";

-	protected final String TEXT_270 = " ";

-	protected final String TEXT_271 = "__VALUE;" + NL + "\t\tif (!";

-	protected final String TEXT_272 = " && ";

-	protected final String TEXT_273 = " != null)";

-	protected final String TEXT_274 = NL + "\t\t\treportMinViolation(";

-	protected final String TEXT_275 = ", new ";

-	protected final String TEXT_276 = "(";

-	protected final String TEXT_277 = "), new ";

-	protected final String TEXT_278 = "(";

-	protected final String TEXT_279 = "__VALUE), ";

-	protected final String TEXT_280 = ", ";

-	protected final String TEXT_281 = ", ";

-	protected final String TEXT_282 = ");";

-	protected final String TEXT_283 = NL + "\t\t\treportMinViolation(";

-	protected final String TEXT_284 = ", ";

-	protected final String TEXT_285 = ", ";

-	protected final String TEXT_286 = "__VALUE, ";

-	protected final String TEXT_287 = ", ";

-	protected final String TEXT_288 = ", ";

-	protected final String TEXT_289 = ");";

-	protected final String TEXT_290 = NL + "\t\treturn ";

-	protected final String TEXT_291 = ";";

-	protected final String TEXT_292 = NL + "\t\tint ";

-	protected final String TEXT_293 = " = ";

-	protected final String TEXT_294 = ".compareCalendar(";

-	protected final String TEXT_295 = ", ";

-	protected final String TEXT_296 = "__VALUE);" + NL + "\t\tboolean ";

-	protected final String TEXT_297 = " = ";

-	protected final String TEXT_298 = " == 0 || ";

-	protected final String TEXT_299 = " == 1;";

-	protected final String TEXT_300 = NL + "\t\tint ";

-	protected final String TEXT_301 = " = ";

-	protected final String TEXT_302 = ".compareDuration(";

-	protected final String TEXT_303 = ", ";

-	protected final String TEXT_304 = "__VALUE);" + NL + "\t\tboolean ";

-	protected final String TEXT_305 = " = ";

-	protected final String TEXT_306 = " == 0 || ";

-	protected final String TEXT_307 = " == 1;";

-	protected final String TEXT_308 = NL + "\t\tboolean ";

-	protected final String TEXT_309 = " = ";

-	protected final String TEXT_310 = ".compareTo(";

-	protected final String TEXT_311 = "__VALUE) ";

-	protected final String TEXT_312 = " 0;";

-	protected final String TEXT_313 = NL + "\t\tif (!";

-	protected final String TEXT_314 = " && ";

-	protected final String TEXT_315 = " != null)" + NL + "\t\t\treportMinViolation(";

-	protected final String TEXT_316 = ", ";

-	protected final String TEXT_317 = ", ";

-	protected final String TEXT_318 = "__VALUE, ";

-	protected final String TEXT_319 = ", ";

-	protected final String TEXT_320 = ", ";

-	protected final String TEXT_321 = ");" + NL + "\t\treturn ";

-	protected final String TEXT_322 = ";";

-	protected final String TEXT_323 = NL + "\t\tboolean ";

-	protected final String TEXT_324 = " = ";

-	protected final String TEXT_325 = " ";

-	protected final String TEXT_326 = " ";

-	protected final String TEXT_327 = "__VALUE;" + NL + "\t\tif (!";

-	protected final String TEXT_328 = " && ";

-	protected final String TEXT_329 = " != null)";

-	protected final String TEXT_330 = NL + "\t\t\treportMaxViolation(";

-	protected final String TEXT_331 = ", new ";

-	protected final String TEXT_332 = "(";

-	protected final String TEXT_333 = "), new ";

-	protected final String TEXT_334 = "(";

-	protected final String TEXT_335 = "__VALUE), ";

-	protected final String TEXT_336 = ", ";

-	protected final String TEXT_337 = ", ";

-	protected final String TEXT_338 = ");";

-	protected final String TEXT_339 = NL + "\t\t\treportMaxViolation(";

-	protected final String TEXT_340 = ", ";

-	protected final String TEXT_341 = ", ";

-	protected final String TEXT_342 = "__VALUE, ";

-	protected final String TEXT_343 = ", ";

-	protected final String TEXT_344 = ", ";

-	protected final String TEXT_345 = ");";

-	protected final String TEXT_346 = NL + "\t\treturn ";

-	protected final String TEXT_347 = ";";

-	protected final String TEXT_348 = NL + "\t\tint ";

-	protected final String TEXT_349 = " = ";

-	protected final String TEXT_350 = ".compareCalendar(";

-	protected final String TEXT_351 = ", ";

-	protected final String TEXT_352 = "__VALUE);" + NL + "\t\tboolean ";

-	protected final String TEXT_353 = " = ";

-	protected final String TEXT_354 = " == 0 || ";

-	protected final String TEXT_355 = " == -1;";

-	protected final String TEXT_356 = NL + "\t\tint ";

-	protected final String TEXT_357 = " = ";

-	protected final String TEXT_358 = ".compareDuration(";

-	protected final String TEXT_359 = ", ";

-	protected final String TEXT_360 = "__VALUE);" + NL + "\t\tboolean ";

-	protected final String TEXT_361 = " = ";

-	protected final String TEXT_362 = " == 0 || ";

-	protected final String TEXT_363 = " == -1;";

-	protected final String TEXT_364 = NL + "\t\tboolean ";

-	protected final String TEXT_365 = " = ";

-	protected final String TEXT_366 = ".compareTo(";

-	protected final String TEXT_367 = "__VALUE) ";

-	protected final String TEXT_368 = " 0;";

-	protected final String TEXT_369 = NL + "\t\tif (!";

-	protected final String TEXT_370 = " && ";

-	protected final String TEXT_371 = " != null)" + NL + "\t\t\treportMaxViolation(";

-	protected final String TEXT_372 = ", ";

-	protected final String TEXT_373 = ", ";

-	protected final String TEXT_374 = "__VALUE, ";

-	protected final String TEXT_375 = ", ";

-	protected final String TEXT_376 = ", ";

-	protected final String TEXT_377 = ");" + NL + "\t\treturn ";

-	protected final String TEXT_378 = ";";

-	protected final String TEXT_379 = NL + "\t\tint length = ";

-	protected final String TEXT_380 = ".";

-	protected final String TEXT_381 = ";" + NL + "\t\tboolean ";

-	protected final String TEXT_382 = " = length >= ";

-	protected final String TEXT_383 = ";" + NL + "\t\tif (!";

-	protected final String TEXT_384 = " && ";

-	protected final String TEXT_385 = " != null)" + NL + "\t\t\treportMinLengthViolation(";

-	protected final String TEXT_386 = ", ";

-	protected final String TEXT_387 = ", length, ";

-	protected final String TEXT_388 = ", ";

-	protected final String TEXT_389 = ", ";

-	protected final String TEXT_390 = ");" + NL + "\t\treturn ";

-	protected final String TEXT_391 = ";";

-	protected final String TEXT_392 = NL + "\t\tint length = ";

-	protected final String TEXT_393 = ".";

-	protected final String TEXT_394 = ";" + NL + "\t\tboolean ";

-	protected final String TEXT_395 = " = length <= ";

-	protected final String TEXT_396 = ";" + NL + "\t\tif (!";

-	protected final String TEXT_397 = " && ";

-	protected final String TEXT_398 = " != null)" + NL + "\t\t\treportMaxLengthViolation(";

-	protected final String TEXT_399 = ", ";

-	protected final String TEXT_400 = ", length, ";

-	protected final String TEXT_401 = ", ";

-	protected final String TEXT_402 = ", ";

-	protected final String TEXT_403 = ");" + NL + "\t\treturn ";

-	protected final String TEXT_404 = ";";

-	protected final String TEXT_405 = NL + "\t\tboolean ";

-	protected final String TEXT_406 = " = ";

-	protected final String TEXT_407 = " > ";

-	protected final String TEXT_408 = "__LOWER_BOUND && ";

-	protected final String TEXT_409 = " < ";

-	protected final String TEXT_410 = "__UPPER_BOUND;" + NL + "\t\tif (!";

-	protected final String TEXT_411 = " && ";

-	protected final String TEXT_412 = " != null)";

-	protected final String TEXT_413 = NL + "\t\t\treportTotalDigitsViolation(";

-	protected final String TEXT_414 = ", new ";

-	protected final String TEXT_415 = "(";

-	protected final String TEXT_416 = "), ";

-	protected final String TEXT_417 = ", ";

-	protected final String TEXT_418 = ", ";

-	protected final String TEXT_419 = ");";

-	protected final String TEXT_420 = NL + "\t\t\treportTotalDigitsViolation(";

-	protected final String TEXT_421 = ", ";

-	protected final String TEXT_422 = ", ";

-	protected final String TEXT_423 = ", ";

-	protected final String TEXT_424 = ", ";

-	protected final String TEXT_425 = ");";

-	protected final String TEXT_426 = NL + "\t\tboolean ";

-	protected final String TEXT_427 = " = ";

-	protected final String TEXT_428 = ".unscaledValue().abs().toString().length() <= ";

-	protected final String TEXT_429 = ";" + NL + "\t\tif (!";

-	protected final String TEXT_430 = " && ";

-	protected final String TEXT_431 = " != null)" + NL + "\t\t\treportTotalDigitsViolation(";

-	protected final String TEXT_432 = ", ";

-	protected final String TEXT_433 = ", ";

-	protected final String TEXT_434 = ", ";

-	protected final String TEXT_435 = ", ";

-	protected final String TEXT_436 = ");";

-	protected final String TEXT_437 = NL + "\t\tboolean ";

-	protected final String TEXT_438 = " = ";

-	protected final String TEXT_439 = ".compareTo(";

-	protected final String TEXT_440 = "__LOWER_BOUND) > 0 && ";

-	protected final String TEXT_441 = ".compareTo(";

-	protected final String TEXT_442 = "__UPPER_BOUND) < 0;" + NL + "\t\tif (!";

-	protected final String TEXT_443 = " && ";

-	protected final String TEXT_444 = " != null)" + NL + "\t\t\treportTotalDigitsViolation(";

-	protected final String TEXT_445 = ", ";

-	protected final String TEXT_446 = ", ";

-	protected final String TEXT_447 = ", ";

-	protected final String TEXT_448 = ", ";

-	protected final String TEXT_449 = ");";

-	protected final String TEXT_450 = NL + "\t\treturn ";

-	protected final String TEXT_451 = ";";

-	protected final String TEXT_452 = NL + "\t\tboolean ";

-	protected final String TEXT_453 = " = ";

-	protected final String TEXT_454 = ".scale() <= ";

-	protected final String TEXT_455 = ";" + NL + "\t\tif (!";

-	protected final String TEXT_456 = " && ";

-	protected final String TEXT_457 = " != null)" + NL + "\t\t\treportFractionDigitsViolation(";

-	protected final String TEXT_458 = ", ";

-	protected final String TEXT_459 = ", ";

-	protected final String TEXT_460 = ", ";

-	protected final String TEXT_461 = ", ";

-	protected final String TEXT_462 = ");" + NL + "\t\treturn ";

-	protected final String TEXT_463 = ";";

-	protected final String TEXT_464 = NL + "\t\t// TODO override the constraint, if desired" + NL

-			+ "\t\t// -> uncomment the scaffolding" + NL

-			+ "\t\t// -> specify the condition that violates the constraint" + NL

-			+ "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL

-			+ "\t\t{" + NL + "\t\t\tif (";

-	protected final String TEXT_465 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_466 = ".add";

-	protected final String TEXT_467 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_468 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL

-			+ "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\",";

-	protected final String TEXT_469 = NL + "\t\t\t\t\t\t new Object[] { \"";

-	protected final String TEXT_470 = "\", getValueLabel(";

-	protected final String TEXT_471 = ", ";

-	protected final String TEXT_472 = ", ";

-	protected final String TEXT_473 = ") },";

-	protected final String TEXT_474 = NL + "\t\t\t\t\t\t new Object[] { ";

-	protected final String TEXT_475 = " }," + NL + "\t\t\t\t\t\t context));";

-	protected final String TEXT_476 = NL + "\t\t\t\t\t(new ";

-	protected final String TEXT_477 = NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_478 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL

-			+ "\t\t\t\t\t\t ";

-	protected final String TEXT_479 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \"";

-	protected final String TEXT_480 = "\", getValueLabel(";

-	protected final String TEXT_481 = ", ";

-	protected final String TEXT_482 = ", ";

-	protected final String TEXT_483 = ") }),";

-	protected final String TEXT_484 = NL + "\t\t\t\t\t\t new Object[] { ";

-	protected final String TEXT_485 = " }));";

-	protected final String TEXT_486 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn ";

-	protected final String TEXT_487 = "validate";

-	protected final String TEXT_488 = "_";

-	protected final String TEXT_489 = "(";

-	protected final String TEXT_490 = ", ";

-	protected final String TEXT_491 = ", ";

-	protected final String TEXT_492 = ");";

-	protected final String TEXT_493 = NL + "\t\treturn" + NL + "\t\t\tvalidate" + NL + "\t\t\t\t(";

-	protected final String TEXT_494 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_495 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_496 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_497 = "," + NL + "\t\t\t\t \"";

-	protected final String TEXT_498 = "\",";

-	protected final String TEXT_499 = NL + "\t\t\t\t \"";

-	protected final String TEXT_500 = "\",";

-	protected final String TEXT_501 = NL + "\t\t\t\t ";

-	protected final String TEXT_502 = "__";

-	protected final String TEXT_503 = "__EEXPRESSION," + NL + "\t\t\t\t ";

-	protected final String TEXT_504 = ".ERROR," + NL + "\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t 0);";

-	protected final String TEXT_505 = NL + "\t\t// TODO implement the constraint" + NL

-			+ "\t\t// -> specify the condition that violates the constraint" + NL

-			+ "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL

-			+ "\t\t{" + NL + "\t\t\tif (";

-	protected final String TEXT_506 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_507 = ".add";

-	protected final String TEXT_508 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_509 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL

-			+ "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\",";

-	protected final String TEXT_510 = NL + "\t\t\t\t\t\t new Object[] { \"";

-	protected final String TEXT_511 = "\", getValueLabel(";

-	protected final String TEXT_512 = ", ";

-	protected final String TEXT_513 = ", ";

-	protected final String TEXT_514 = ") },";

-	protected final String TEXT_515 = NL + "\t\t\t\t\t\t new Object[] { ";

-	protected final String TEXT_516 = " }," + NL + "\t\t\t\t\t\t context));";

-	protected final String TEXT_517 = NL + "\t\t\t\t\t(new ";

-	protected final String TEXT_518 = NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_519 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL

-			+ "\t\t\t\t\t\t ";

-	protected final String TEXT_520 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \"";

-	protected final String TEXT_521 = "\", getValueLabel(";

-	protected final String TEXT_522 = ", ";

-	protected final String TEXT_523 = ", ";

-	protected final String TEXT_524 = ") }),";

-	protected final String TEXT_525 = NL + "\t\t\t\t\t\t new Object[] { ";

-	protected final String TEXT_526 = " }));";

-	protected final String TEXT_527 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL

-			+ "\t\treturn true;";

-	protected final String TEXT_528 = NL + "\t\treturn ";

-	protected final String TEXT_529 = ".";

-	protected final String TEXT_530 = "(";

-	protected final String TEXT_531 = ", ";

-	protected final String TEXT_532 = ");";

-	protected final String TEXT_533 = NL + "\t\t// TODO override the constraint, if desired" + NL

-			+ "\t\t// -> uncomment the scaffolding" + NL

-			+ "\t\t// -> specify the condition that violates the constraint" + NL

-			+ "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL

-			+ "\t\t{" + NL + "\t\t\tif (";

-	protected final String TEXT_534 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_535 = ".add";

-	protected final String TEXT_536 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_537 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL

-			+ "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\",";

-	protected final String TEXT_538 = NL + "\t\t\t\t\t\t new Object[] { \"";

-	protected final String TEXT_539 = "\", getObjectLabel(";

-	protected final String TEXT_540 = ", ";

-	protected final String TEXT_541 = ") },";

-	protected final String TEXT_542 = NL + "\t\t\t\t\t\t new Object[] { ";

-	protected final String TEXT_543 = " }," + NL + "\t\t\t\t\t\t context));";

-	protected final String TEXT_544 = NL + "\t\t\t\t\t(new ";

-	protected final String TEXT_545 = NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_546 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL

-			+ "\t\t\t\t\t\t ";

-	protected final String TEXT_547 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \"";

-	protected final String TEXT_548 = "\", getObjectLabel(";

-	protected final String TEXT_549 = ", ";

-	protected final String TEXT_550 = ") }),";

-	protected final String TEXT_551 = NL + "\t\t\t\t\t\t new Object[] { ";

-	protected final String TEXT_552 = " }));";

-	protected final String TEXT_553 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn ";

-	protected final String TEXT_554 = "validate";

-	protected final String TEXT_555 = "_";

-	protected final String TEXT_556 = "(";

-	protected final String TEXT_557 = ", ";

-	protected final String TEXT_558 = ", ";

-	protected final String TEXT_559 = ");";

-	protected final String TEXT_560 = NL + "\t\treturn" + NL + "\t\t\tvalidate" + NL + "\t\t\t\t(";

-	protected final String TEXT_561 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_562 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_563 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_564 = "," + NL + "\t\t\t\t \"";

-	protected final String TEXT_565 = "\",";

-	protected final String TEXT_566 = NL + "\t\t\t\t \"";

-	protected final String TEXT_567 = "\",";

-	protected final String TEXT_568 = NL + "\t\t\t\t ";

-	protected final String TEXT_569 = "__";

-	protected final String TEXT_570 = "__EEXPRESSION," + NL + "\t\t\t\t ";

-	protected final String TEXT_571 = ".ERROR," + NL + "\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t 0);";

-	protected final String TEXT_572 = NL + "\t\t// TODO implement the constraint" + NL

-			+ "\t\t// -> specify the condition that violates the constraint" + NL

-			+ "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL

-			+ "\t\t{" + NL + "\t\t\tif (";

-	protected final String TEXT_573 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_574 = ".add";

-	protected final String TEXT_575 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_576 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL

-			+ "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\",";

-	protected final String TEXT_577 = NL + "\t\t\t\t\t\t new Object[] { \"";

-	protected final String TEXT_578 = "\", getObjectLabel(";

-	protected final String TEXT_579 = ", ";

-	protected final String TEXT_580 = ") },";

-	protected final String TEXT_581 = NL + "\t\t\t\t\t\t new Object[] { ";

-	protected final String TEXT_582 = " }," + NL + "\t\t\t\t\t\t context));";

-	protected final String TEXT_583 = NL + "\t\t\t\t\t(new ";

-	protected final String TEXT_584 = NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_585 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL

-			+ "\t\t\t\t\t\t ";

-	protected final String TEXT_586 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \"";

-	protected final String TEXT_587 = "\", getObjectLabel(";

-	protected final String TEXT_588 = ", ";

-	protected final String TEXT_589 = ") }),";

-	protected final String TEXT_590 = NL + "\t\t\t\t\t\t new Object[] { ";

-	protected final String TEXT_591 = " }));";

-	protected final String TEXT_592 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL

-			+ "\t\treturn true;";

-	protected final String TEXT_593 = NL + "\t}" + NL;

-	protected final String TEXT_594 = NL + "\t/**" + NL

-			+ "\t * Returns the resource locator that will be used to fetch messages for this validator's diagnostics."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */";

-	protected final String TEXT_595 = NL + "\t@Override";

-	protected final String TEXT_596 = NL + "\tpublic ";

-	protected final String TEXT_597 = " getResourceLocator()" + NL + "\t{";

-	protected final String TEXT_598 = NL + "\t\treturn ";

-	protected final String TEXT_599 = ".INSTANCE;";

-	protected final String TEXT_600 = NL + "\t\t// TODO" + NL

-			+ "\t\t// Specialize this to return a resource locator for messages specific to this validator." + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\treturn super.getResourceLocator();";

-	protected final String TEXT_601 = NL + "\t}" + NL;

-	protected final String TEXT_602 = NL;

-	protected final String TEXT_603 = NL + "} //";

-	protected final String TEXT_604 = NL;

-	protected final String TEXT_605 = NL;

-	protected final String TEXT_606 = NL;

-

-	public ValidatorClass() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_605);

-		stringBuffer.append(TEXT_606);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getModelDirectory();

-		packageName = genPackage.getUtilitiesPackageName();

-		className = genPackage.getValidatorClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2002-2013 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) argument;

-		GenModel genModel = genPackage.getGenModel();

-		final String singleWildcard = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50 ? "<?>" : "";

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getUtilitiesPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.addImport("java.util.Map");

-		final String _Map = genModel.useGenerics() ? "Map<" + genModel.getImportedName("java.lang.Object") + ", "

-				+ genModel.getImportedName("java.lang.Object") + ">" : "Map";

-		final String objectArgument = genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.Object") + ">"

-				: "";

-		genModel.addImport("org.eclipse.emf.common.util.DiagnosticChain");

-		genModel.addImport("org.eclipse.emf.ecore.EPackage");

-		if (!genPackage.hasJavaLangConflict()

-				&& !genPackage.getUtilitiesPackageName().equals(genPackage.getInterfacePackageName()))

-			genModel.addImport(genPackage.getInterfacePackageName() + ".*");

-		genModel.markImportLocation(stringBuffer);

-		genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.Descriptor");

-		genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.Registry");

-		genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider");

-		genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.PatternMatcher");

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genPackage.getValidatorClassName());

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));

-		stringBuffer.append(TEXT_7);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_11);

-		}

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(genPackage.getValidatorClassName());

-		stringBuffer.append(TEXT_13);

-		stringBuffer.append(genPackage.getValidatorClassName());

-		stringBuffer.append(TEXT_14);

-		stringBuffer.append(genPackage.getInterfacePackageName());

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_16);

-		int count = 0;

-		for (GenClass genClass : genPackage.getGenClasses()) {

-			for (GenOperation genOperation : genClass.getInvariantOperations()) {

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(genOperation.getFormattedName());

-				stringBuffer.append(TEXT_18);

-				stringBuffer.append(genClass.getFormattedName());

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(genClass.getOperationID(genOperation));

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(++count);

-				stringBuffer.append(TEXT_21);

-			}

-		}

-		stringBuffer.append(TEXT_22);

-		stringBuffer.append(count);

-		stringBuffer.append(TEXT_23);

-		for (GenPackage baseGenPackage : genPackage.getAllValidatorBaseGenPackages()) {

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(baseGenPackage.getImportedValidatorClassName());

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genPackage.getValidatorPackageUniqueSafeName(baseGenPackage));

-			stringBuffer.append(TEXT_26);

-		}

-		if (genPackage.hasInvariantExpressions()) {

-			stringBuffer.append(TEXT_27);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

-			stringBuffer.append(TEXT_29);

-			stringBuffer.append(_Map);

-			stringBuffer.append(TEXT_30);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_31);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

-			stringBuffer.append(TEXT_32);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_33);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_34);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));

-			stringBuffer.append(TEXT_35);

-		}

-		stringBuffer.append(TEXT_36);

-		stringBuffer.append(genPackage.getValidatorClassName());

-		stringBuffer.append(TEXT_37);

-		for (GenPackage baseGenPackage : genPackage.getAllValidatorBaseGenPackages()) {

-			stringBuffer.append(TEXT_38);

-			stringBuffer.append(genPackage.getValidatorPackageUniqueSafeName(baseGenPackage));

-			stringBuffer.append(TEXT_39);

-			stringBuffer.append(baseGenPackage.getImportedValidatorClassName());

-			stringBuffer.append(TEXT_40);

-		}

-		stringBuffer.append(TEXT_41);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_42);

-		}

-		stringBuffer.append(TEXT_43);

-		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-		stringBuffer.append(TEXT_44);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_45);

-		}

-		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-			if (genClassifier.isUncheckedCast()) {

-				stringBuffer.append(TEXT_46);

-				break;

-			}

-		}

-		stringBuffer.append(TEXT_47);

-		stringBuffer.append(_Map);

-		stringBuffer.append(TEXT_48);

-		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-			stringBuffer.append(TEXT_49);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_50);

-			stringBuffer.append(genPackage.getClassifierID(genClassifier));

-			stringBuffer.append(TEXT_51);

-			if (genClassifier instanceof GenDataType) {

-				GenDataType genDataType = (GenDataType) genClassifier;

-				if (genDataType.isPrimitiveType()) {

-					if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-						stringBuffer.append(TEXT_52);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_53);

-						stringBuffer.append(genDataType.getObjectInstanceClassName());

-						stringBuffer.append(TEXT_54);

-						stringBuffer.append(genDataType.getPrimitiveValueFunction());

-						stringBuffer.append(TEXT_55);

-					} else {

-						stringBuffer.append(TEXT_56);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_57);

-						stringBuffer.append(genDataType.getObjectInstanceClassName());

-						stringBuffer.append(TEXT_58);

-					}

-				} else if (genDataType.isObjectType()) {

-					stringBuffer.append(TEXT_59);

-					stringBuffer.append(genDataType.getName());

-					stringBuffer.append(TEXT_60);

-				} else {

-					stringBuffer.append(TEXT_61);

-					stringBuffer.append(genDataType.getName());

-					stringBuffer.append(TEXT_62);

-					stringBuffer.append(genDataType.getObjectType().getImportedWildcardInstanceClassName());

-					stringBuffer.append(TEXT_63);

-				}

-			} else {

-				GenClass genClass = (GenClass) genClassifier;

-				stringBuffer.append(TEXT_64);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_65);

-				stringBuffer.append(genClass.getImportedWildcardInstanceClassName());

-				stringBuffer.append(TEXT_66);

-			}

-		}

-		stringBuffer.append(TEXT_67);

-		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {

-			String result = "result".equals(genClassifier.getSafeUncapName()) ? "theResult" : "result";

-			String diagnostics = "diagnostics".equals(genClassifier.getSafeUncapName()) ? "theDiagnostics"

-					: "diagnostics";

-			String item = "item".equals(genClassifier.getSafeUncapName()) ? "theItem" : "item";

-			String context = "context".equals(genClassifier.getSafeUncapName()) ? "theContext" : "context";

-			stringBuffer.append(TEXT_68);

-			stringBuffer.append(genClassifier.getName());

-			stringBuffer.append(TEXT_69);

-			stringBuffer.append(genClassifier.getImportedWildcardInstanceClassName());

-			stringBuffer.append(TEXT_70);

-			stringBuffer.append(genClassifier.getSafeUncapName());

-			stringBuffer.append(TEXT_71);

-			stringBuffer.append(diagnostics);

-			stringBuffer.append(TEXT_72);

-			stringBuffer.append(_Map);

-			stringBuffer.append(TEXT_73);

-			stringBuffer.append(context);

-			stringBuffer.append(TEXT_74);

-			if (genClassifier.getAllGenConstraints().isEmpty()) {

-				stringBuffer.append(TEXT_75);

-			} else if (genClassifier.hasOnlyDefaultConstraints()) {

-				stringBuffer.append(TEXT_76);

-				if (!((GenClass) genClassifier).isEObjectExtension()) {

-					stringBuffer.append(TEXT_77);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

-					stringBuffer.append(TEXT_78);

-				}

-				stringBuffer.append(genClassifier.getSafeUncapName());

-				stringBuffer.append(TEXT_79);

-				stringBuffer.append(diagnostics);

-				stringBuffer.append(TEXT_80);

-				stringBuffer.append(context);

-				stringBuffer.append(TEXT_81);

-			} else {

-				boolean first = true;

-				for (String constraint : genClassifier.getAllGenConstraints()) {

-					GenClassifier constraintImplementor = genClassifier.getConstraintImplementor(constraint);

-					String delegate = constraintImplementor == null

-							|| constraintImplementor.getGenPackage() == genPackage ? "" : genPackage

-							.getValidatorPackageUniqueSafeName(constraintImplementor.getGenPackage()) + "Validator.";

-					String cast = constraintImplementor == null && genClassifier instanceof GenClass

-							&& !((GenClass) genClassifier).isEObjectExtension() ? "("

-							+ genModel.getImportedName("org.eclipse.emf.ecore.EObject") + ")" : "";

-					String accessor = constraintImplementor != null && genClassifier instanceof GenDataType

-							&& !((GenDataType) genClassifier).isPrimitiveType()

-							&& ((GenDataType) constraintImplementor).isPrimitiveType()

-							&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50 ? "."

-							+ ((GenDataType) constraintImplementor).getPrimitiveValueFunction() + "()" : "";

-					if ("NoCircularContainment".equals(constraint)) {

-						stringBuffer.append(TEXT_82);

-						if (!((GenClass) genClassifier).isEObjectExtension()) {

-							stringBuffer.append(TEXT_83);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));

-							stringBuffer.append(TEXT_84);

-						}

-						stringBuffer.append(genClassifier.getSafeUncapName());

-						stringBuffer.append(TEXT_85);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_86);

-						stringBuffer.append(context);

-						stringBuffer.append(TEXT_87);

-					} else if (first) {

-						first = false;

-						stringBuffer.append(TEXT_88);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_89);

-						stringBuffer.append(delegate);

-						stringBuffer.append(TEXT_90);

-						stringBuffer.append(constraintImplementor == null ? "" : constraintImplementor.getName());

-						stringBuffer.append(TEXT_91);

-						stringBuffer.append(constraint);

-						stringBuffer.append(TEXT_92);

-						stringBuffer.append(cast);

-						stringBuffer.append(genClassifier.getSafeUncapName());

-						stringBuffer.append(accessor);

-						stringBuffer.append(TEXT_93);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_94);

-						stringBuffer.append(context);

-						stringBuffer.append(TEXT_95);

-					} else {

-						stringBuffer.append(TEXT_96);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_97);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_98);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_99);

-						stringBuffer.append(delegate);

-						stringBuffer.append(TEXT_100);

-						stringBuffer.append(constraintImplementor == null ? "" : constraintImplementor.getName());

-						stringBuffer.append(TEXT_101);

-						stringBuffer.append(constraint);

-						stringBuffer.append(TEXT_102);

-						stringBuffer.append(cast);

-						stringBuffer.append(genClassifier.getSafeUncapName());

-						stringBuffer.append(accessor);

-						stringBuffer.append(TEXT_103);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_104);

-						stringBuffer.append(context);

-						stringBuffer.append(TEXT_105);

-					}

-				}

-				stringBuffer.append(TEXT_106);

-				stringBuffer.append(result);

-				stringBuffer.append(TEXT_107);

-			}

-			stringBuffer.append(TEXT_108);

-			for (String constraint : genClassifier.getGenConstraints()) {

-				GenClassifier constraintDelegate = genClassifier.getConstraintDelegate(constraint);

-				String constant = genClassifier.getClassifierID()

-						+ "__"

-						+ CodeGenUtil.format(constraint, '_', null, false, false).toUpperCase(

-								genClassifier.getGenModel().getLocale());

-				String delegate = constraintDelegate == null || constraintDelegate.getGenPackage() == genPackage ? ""

-						: genPackage.getValidatorPackageUniqueSafeName(constraintDelegate.getGenPackage())

-								+ "Validator.";

-				String cast = constraintDelegate == null && genClassifier instanceof GenClass

-						&& !((GenClass) genClassifier).isEObjectExtension() ? "("

-						+ genModel.getImportedName("org.eclipse.emf.ecore.EObject") + ")" : "";

-				String accessor = constraintDelegate != null && genClassifier instanceof GenDataType

-						&& !((GenDataType) genClassifier).isPrimitiveType()

-						&& ((GenDataType) constraintDelegate).isPrimitiveType()

-						&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50 ? "."

-						+ ((GenDataType) constraintDelegate).getPrimitiveValueFunction() + "()" : "";

-				if (genClassifier instanceof GenDataType) {

-					GenDataType genDataType = (GenDataType) genClassifier;

-					if (constraint.equals("Min") && genDataType.getMinLiteral() != null) {

-						stringBuffer.append(TEXT_109);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_110);

-						stringBuffer.append(constraint);

-						stringBuffer.append(TEXT_111);

-						stringBuffer.append(genDataType.getImportedInstanceClassName());

-						stringBuffer.append(TEXT_112);

-						stringBuffer.append(constant);

-						stringBuffer.append(TEXT_113);

-						stringBuffer.append(genDataType.getStaticValue(genDataType.getMinLiteral()));

-						stringBuffer.append(TEXT_114);

-					} else if (constraint.equals("Max") && genDataType.getMaxLiteral() != null) {

-						stringBuffer.append(TEXT_115);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_116);

-						stringBuffer.append(constraint);

-						stringBuffer.append(TEXT_117);

-						stringBuffer.append(genDataType.getImportedInstanceClassName());

-						stringBuffer.append(TEXT_118);

-						stringBuffer.append(constant);

-						stringBuffer.append(TEXT_119);

-						stringBuffer.append(genDataType.getStaticValue(genDataType.getMaxLiteral()));

-						stringBuffer.append(TEXT_120);

-					} else if (constraint.equals("TotalDigits") && genDataType.getTotalDigits() != -1

-							&& !"java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {

-						String value = "1";

-						for (int digitCount = genDataType.getTotalDigits(); digitCount > 0; --digitCount)

-							value += "0";

-						stringBuffer.append(TEXT_121);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_122);

-						stringBuffer.append(constraint);

-						stringBuffer.append(TEXT_123);

-						stringBuffer.append(genDataType.getImportedInstanceClassName());

-						stringBuffer.append(TEXT_124);

-						stringBuffer.append(constant);

-						stringBuffer.append(TEXT_125);

-						stringBuffer.append(genDataType.getStaticValue(value));

-						stringBuffer.append(TEXT_126);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_127);

-						stringBuffer.append(constraint);

-						stringBuffer.append(TEXT_128);

-						stringBuffer.append(genDataType.getImportedInstanceClassName());

-						stringBuffer.append(TEXT_129);

-						stringBuffer.append(constant);

-						stringBuffer.append(TEXT_130);

-						stringBuffer.append(genDataType.getStaticValue("-" + value));

-						stringBuffer.append(TEXT_131);

-					} else if (constraint.equals("Pattern") && !genDataType.getPatterns().isEmpty()) {

-						stringBuffer.append(TEXT_132);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_133);

-						stringBuffer.append(constraint);

-						stringBuffer.append(TEXT_134);

-						stringBuffer.append(constant);

-						stringBuffer.append(TEXT_135);

-						for (Iterator<List<String>> k = genDataType.getPatterns().iterator(); k.hasNext();) {

-							List<String> patternList = k.next();

-							stringBuffer.append(TEXT_136);

-							for (Iterator<String> p = patternList.iterator(); p.hasNext();) {

-								String pattern = p.next();

-								stringBuffer.append(TEXT_137);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));

-								stringBuffer.append(TEXT_138);

-								stringBuffer.append(pattern);

-								stringBuffer.append(TEXT_139);

-								stringBuffer.append(p.hasNext() ? "," : "");

-							}

-							stringBuffer.append(TEXT_140);

-							stringBuffer.append(k.hasNext() ? "," : "");

-						}

-						stringBuffer.append(TEXT_141);

-					} else if (constraint.equals("Enumeration") && !genDataType.getEnumerationLiterals().isEmpty()) {

-						stringBuffer.append(TEXT_142);

-						stringBuffer.append(genDataType.getName());

-						stringBuffer.append(TEXT_143);

-						stringBuffer.append(constraint);

-						stringBuffer.append(TEXT_144);

-						if (genDataType.isUncheckedCast()) {

-							stringBuffer.append(TEXT_145);

-						}

-						stringBuffer.append(TEXT_146);

-						stringBuffer.append(genModel.getImportedName("java.util.Collection"));

-						stringBuffer.append(objectArgument);

-						stringBuffer.append(TEXT_147);

-						stringBuffer.append(constant);

-						stringBuffer.append(TEXT_148);

-						for (Iterator<String> k = genDataType.getEnumerationLiterals().iterator(); k.hasNext();) {

-							String literal = k.next();

-							stringBuffer.append(TEXT_149);

-							if (genDataType.isPrimitiveType()

-									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_150);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_151);

-							}

-							stringBuffer.append(genDataType.getStaticValue(literal, false));

-							if (genDataType.isPrimitiveType()

-									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_152);

-							}

-							stringBuffer.append(k.hasNext() ? "," : "");

-						}

-						stringBuffer.append(TEXT_153);

-					}

-				}

-				if (genClassifier.hasConstraintExpression(constraint)) {

-					stringBuffer.append(TEXT_154);

-					stringBuffer.append(constraint);

-					stringBuffer.append(TEXT_155);

-					stringBuffer.append(genClassifier.getFormattedName());

-					stringBuffer.append(TEXT_156);

-					stringBuffer.append(genModel.getImportedName("java.lang.String"));

-					stringBuffer.append(TEXT_157);

-					stringBuffer.append(genClassifier.getClassifierID());

-					stringBuffer.append(TEXT_158);

-					stringBuffer.append(CodeGenUtil.upperName(constraint));

-					stringBuffer.append(TEXT_159);

-					stringBuffer.append(genClassifier.getConstraintExpression(constraint, "\t\t"));

-					stringBuffer.append(TEXT_160);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(TEXT_161);

-				}

-				stringBuffer.append(TEXT_162);

-				stringBuffer.append(constraint);

-				stringBuffer.append(TEXT_163);

-				stringBuffer.append(genClassifier.getFormattedName());

-				stringBuffer.append(TEXT_164);

-				stringBuffer.append(genClassifier.getName());

-				stringBuffer.append(TEXT_165);

-				stringBuffer.append(constraint);

-				stringBuffer.append(TEXT_166);

-				stringBuffer.append(genClassifier.getImportedWildcardInstanceClassName());

-				stringBuffer.append(TEXT_167);

-				stringBuffer.append(genClassifier.getSafeUncapName());

-				stringBuffer.append(TEXT_168);

-				stringBuffer.append(diagnostics);

-				stringBuffer.append(TEXT_169);

-				stringBuffer.append(_Map);

-				stringBuffer.append(TEXT_170);

-				stringBuffer.append(context);

-				stringBuffer.append(TEXT_171);

-				if (genClassifier instanceof GenDataType) {

-					GenDataType genDataType = (GenDataType) genClassifier;

-					if (constraint.equals("ItemType") && genDataType.getItemType() != null) {

-						GenDataType itemType = genDataType.getItemType();

-						String itemDelegate = itemType.getGenPackage() == genPackage ? "" : genPackage

-								.getValidatorPackageUniqueSafeName(itemType.getGenPackage()) + "Validator.";

-						stringBuffer.append(TEXT_172);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_173);

-						stringBuffer.append(genModel.getImportedName("java.util.Iterator"));

-						stringBuffer.append(singleWildcard);

-						stringBuffer.append(TEXT_174);

-						stringBuffer.append(genClassifier.getSafeUncapName());

-						stringBuffer.append(TEXT_175);

-						if (itemType.getGenPackage().hasConstraints()) {

-							stringBuffer.append(TEXT_176);

-							stringBuffer.append(itemType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_177);

-							stringBuffer.append(itemDelegate);

-							stringBuffer.append(TEXT_178);

-							stringBuffer.append(itemType.getName());

-							stringBuffer.append(TEXT_179);

-							if (itemType.isPrimitiveType()

-									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_180);

-							}

-							if (!itemType.isObjectType()) {

-								stringBuffer.append(TEXT_181);

-								stringBuffer.append(itemType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_182);

-							}

-							stringBuffer.append(item);

-							if (itemType.isPrimitiveType()

-									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_183);

-								stringBuffer.append(itemType.getPrimitiveValueFunction());

-								stringBuffer.append(TEXT_184);

-							}

-							stringBuffer.append(TEXT_185);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_186);

-							stringBuffer.append(context);

-							stringBuffer.append(TEXT_187);

-						} else {

-							stringBuffer.append(TEXT_188);

-							stringBuffer.append(itemType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_189);

-						}

-						stringBuffer.append(TEXT_190);

-						stringBuffer.append(itemType.getQualifiedClassifierAccessor());

-						stringBuffer.append(TEXT_191);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_192);

-						stringBuffer.append(context);

-						stringBuffer.append(TEXT_193);

-					} else if (constraint.equals("MemberTypes") && !genDataType.getMemberTypes().isEmpty()) {

-						stringBuffer.append(TEXT_194);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

-						stringBuffer.append(TEXT_195);

-						for (ListIterator<GenDataType> k = genDataType.getMemberTypes().listIterator(); k.hasNext();) {

-							GenDataType memberType = k.next();

-							String memberDelegate = memberType.getGenPackage() == genPackage ? "" : genPackage

-									.getValidatorPackageUniqueSafeName(memberType.getGenPackage()) + "Validator.";

-							if (genDataType.isPrimitiveType()) {

-								stringBuffer.append(TEXT_196);

-								stringBuffer.append(memberDelegate);

-								stringBuffer.append(TEXT_197);

-								stringBuffer.append(memberType.getName());

-								stringBuffer.append(TEXT_198);

-								stringBuffer.append(genClassifier.getSafeUncapName());

-								stringBuffer.append(TEXT_199);

-								stringBuffer.append(context);

-								stringBuffer.append(TEXT_200);

-							} else {

-								stringBuffer.append(TEXT_201);

-								stringBuffer.append(memberType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_202);

-								stringBuffer.append(genClassifier.getSafeUncapName());

-								stringBuffer.append(TEXT_203);

-								if (memberType.getGenPackage().hasConstraints()) {

-									stringBuffer.append(TEXT_204);

-									stringBuffer.append(memberDelegate);

-									stringBuffer.append(TEXT_205);

-									stringBuffer.append(memberType.getName());

-									stringBuffer.append(TEXT_206);

-									if (memberType.isPrimitiveType()

-											&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-										stringBuffer.append(TEXT_207);

-									}

-									if (!memberType.isObjectType()

-											&& !memberType.getQualifiedInstanceClassName().equals(

-													genDataType.getQualifiedInstanceClassName())) {

-										stringBuffer.append(TEXT_208);

-										stringBuffer.append(memberType.getImportedWildcardObjectInstanceClassName());

-										stringBuffer.append(TEXT_209);

-									}

-									stringBuffer.append(genClassifier.getSafeUncapName());

-									if (memberType.isPrimitiveType()

-											&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-										stringBuffer.append(TEXT_210);

-										stringBuffer.append(memberType.getPrimitiveValueFunction());

-										stringBuffer.append(TEXT_211);

-									}

-									stringBuffer.append(TEXT_212);

-									stringBuffer.append(context);

-									stringBuffer.append(TEXT_213);

-								}

-								stringBuffer.append(TEXT_214);

-							}

-						}

-						if (genModel.useGenerics()) {

-							stringBuffer.append(TEXT_215);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-							stringBuffer.append(TEXT_216);

-						} else {

-							stringBuffer.append(TEXT_217);

-							stringBuffer.append(genModel.getImportedName("java.util.List"));

-							stringBuffer.append(TEXT_218);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-							stringBuffer.append(TEXT_219);

-						}

-						stringBuffer.append(TEXT_220);

-						for (ListIterator<GenDataType> k = genDataType.getMemberTypes().listIterator(); k.hasNext();) {

-							GenDataType memberType = k.next();

-							String memberDelegate = memberType.getGenPackage() == genPackage ? "" : genPackage

-									.getValidatorPackageUniqueSafeName(memberType.getGenPackage()) + "Validator.";

-							if (genDataType.isPrimitiveType()) {

-								stringBuffer.append(TEXT_221);

-								stringBuffer.append(memberDelegate);

-								stringBuffer.append(TEXT_222);

-								stringBuffer.append(memberType.getName());

-								stringBuffer.append(TEXT_223);

-								stringBuffer.append(genClassifier.getSafeUncapName());

-								stringBuffer.append(TEXT_224);

-								stringBuffer.append(context);

-								stringBuffer.append(TEXT_225);

-							} else {

-								stringBuffer.append(TEXT_226);

-								stringBuffer.append(memberType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_227);

-								stringBuffer.append(genClassifier.getSafeUncapName());

-								stringBuffer.append(TEXT_228);

-								if (memberType.getGenPackage().hasConstraints()) {

-									stringBuffer.append(TEXT_229);

-									stringBuffer.append(memberDelegate);

-									stringBuffer.append(TEXT_230);

-									stringBuffer.append(memberType.getName());

-									stringBuffer.append(TEXT_231);

-									if (memberType.isPrimitiveType()

-											&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-										stringBuffer.append(TEXT_232);

-									}

-									if (!memberType.isObjectType()

-											&& !memberType.getQualifiedInstanceClassName().equals(

-													genDataType.getQualifiedInstanceClassName())) {

-										stringBuffer.append(TEXT_233);

-										stringBuffer.append(memberType.getImportedWildcardObjectInstanceClassName());

-										stringBuffer.append(TEXT_234);

-									}

-									stringBuffer.append(genClassifier.getSafeUncapName());

-									if (memberType.isPrimitiveType()

-											&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-										stringBuffer.append(TEXT_235);

-										stringBuffer.append(memberType.getPrimitiveValueFunction());

-										stringBuffer.append(TEXT_236);

-									}

-									stringBuffer.append(TEXT_237);

-									stringBuffer.append(context);

-									stringBuffer.append(TEXT_238);

-								}

-								stringBuffer.append(TEXT_239);

-							}

-						}

-						stringBuffer.append(TEXT_240);

-					} else if (constraint.equals("Pattern") && !genDataType.getPatterns().isEmpty()) {

-						stringBuffer.append(TEXT_241);

-						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-						stringBuffer.append(TEXT_242);

-						if (genDataType.isPrimitiveType()

-								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-							stringBuffer.append(TEXT_243);

-							stringBuffer.append(genDataType.getObjectInstanceClassName());

-							stringBuffer.append(TEXT_244);

-						}

-						stringBuffer.append(genDataType.getSafeUncapName());

-						if (genDataType.isPrimitiveType()

-								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-							stringBuffer.append(TEXT_245);

-						}

-						stringBuffer.append(TEXT_246);

-						stringBuffer.append(constant);

-						stringBuffer.append(TEXT_247);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_248);

-						stringBuffer.append(context);

-						stringBuffer.append(TEXT_249);

-					} else if (constraint.equals("Enumeration") && !genDataType.getEnumerationLiterals().isEmpty()) {

-						String variable = genDataType.getSafeUncapName();

-						if (genDataType.isPrimitiveType()

-								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-							variable = variable + "Object";

-							stringBuffer.append(TEXT_250);

-							stringBuffer.append(genDataType.getObjectInstanceClassName());

-							stringBuffer.append(TEXT_251);

-							stringBuffer.append(variable);

-							stringBuffer.append(TEXT_252);

-							stringBuffer.append(genDataType.getObjectInstanceClassName());

-							stringBuffer.append(TEXT_253);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_254);

-						}

-						stringBuffer.append(TEXT_255);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_256);

-						stringBuffer.append(constant);

-						stringBuffer.append(TEXT_257);

-						stringBuffer.append(variable);

-						stringBuffer.append(TEXT_258);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_259);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_260);

-						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-						stringBuffer.append(TEXT_261);

-						stringBuffer.append(variable);

-						stringBuffer.append(TEXT_262);

-						stringBuffer.append(constant);

-						stringBuffer.append(TEXT_263);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_264);

-						stringBuffer.append(context);

-						stringBuffer.append(TEXT_265);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_266);

-					} else if (constraint.equals("Min") && genDataType.getMinLiteral() != null) {

-						if (genDataType.isPrimitiveType()) {

-							stringBuffer.append(TEXT_267);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_268);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_269);

-							stringBuffer.append(genDataType.isMinInclusive() ? ">=" : ">");

-							stringBuffer.append(TEXT_270);

-							stringBuffer.append(constant);

-							stringBuffer.append(TEXT_271);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_272);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_273);

-							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_274);

-								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_275);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_276);

-								stringBuffer.append(genDataType.getSafeUncapName());

-								stringBuffer.append(TEXT_277);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_278);

-								stringBuffer.append(constant);

-								stringBuffer.append(TEXT_279);

-								stringBuffer.append(genDataType.isMinInclusive() ? "true" : "false");

-								stringBuffer.append(TEXT_280);

-								stringBuffer.append(diagnostics);

-								stringBuffer.append(TEXT_281);

-								stringBuffer.append(context);

-								stringBuffer.append(TEXT_282);

-							} else {

-								stringBuffer.append(TEXT_283);

-								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_284);

-								stringBuffer.append(genDataType.getSafeUncapName());

-								stringBuffer.append(TEXT_285);

-								stringBuffer.append(constant);

-								stringBuffer.append(TEXT_286);

-								stringBuffer.append(genDataType.isMinInclusive() ? "true" : "false");

-								stringBuffer.append(TEXT_287);

-								stringBuffer.append(diagnostics);

-								stringBuffer.append(TEXT_288);

-								stringBuffer.append(context);

-								stringBuffer.append(TEXT_289);

-							}

-							stringBuffer.append(TEXT_290);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_291);

-						} else {

-							String comparison = "comparison".equals(genClassifier.getSafeUncapName()) ? "theComparison"

-									: "comparison";

-							if (genDataType.isXMLCalendar()) {

-								stringBuffer.append(TEXT_292);

-								stringBuffer.append(comparison);

-								stringBuffer.append(TEXT_293);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));

-								stringBuffer.append(TEXT_294);

-								stringBuffer.append(genDataType.getSafeUncapName());

-								stringBuffer.append(TEXT_295);

-								stringBuffer.append(constant);

-								stringBuffer.append(TEXT_296);

-								stringBuffer.append(result);

-								stringBuffer.append(TEXT_297);

-								if (genDataType.isMinInclusive()) {

-									stringBuffer.append(comparison);

-									stringBuffer.append(TEXT_298);

-								}

-								stringBuffer.append(comparison);

-								stringBuffer.append(TEXT_299);

-							} else if (genDataType.isXMLDuration()) {

-								stringBuffer.append(TEXT_300);

-								stringBuffer.append(comparison);

-								stringBuffer.append(TEXT_301);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));

-								stringBuffer.append(TEXT_302);

-								stringBuffer.append(genDataType.getSafeUncapName());

-								stringBuffer.append(TEXT_303);

-								stringBuffer.append(constant);

-								stringBuffer.append(TEXT_304);

-								stringBuffer.append(result);

-								stringBuffer.append(TEXT_305);

-								if (genDataType.isMinInclusive()) {

-									stringBuffer.append(comparison);

-									stringBuffer.append(TEXT_306);

-								}

-								stringBuffer.append(comparison);

-								stringBuffer.append(TEXT_307);

-							} else {

-								stringBuffer.append(TEXT_308);

-								stringBuffer.append(result);

-								stringBuffer.append(TEXT_309);

-								stringBuffer.append(genDataType.getSafeUncapName());

-								stringBuffer.append(TEXT_310);

-								stringBuffer.append(constant);

-								stringBuffer.append(TEXT_311);

-								stringBuffer.append(genDataType.isMinInclusive() ? ">=" : ">");

-								stringBuffer.append(TEXT_312);

-							}

-							stringBuffer.append(TEXT_313);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_314);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_315);

-							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_316);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_317);

-							stringBuffer.append(constant);

-							stringBuffer.append(TEXT_318);

-							stringBuffer.append(genDataType.isMinInclusive() ? "true" : "false");

-							stringBuffer.append(TEXT_319);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_320);

-							stringBuffer.append(context);

-							stringBuffer.append(TEXT_321);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_322);

-						}

-					} else if (constraint.equals("Max") && genDataType.getMaxLiteral() != null) {

-						if (genDataType.isPrimitiveType()) {

-							stringBuffer.append(TEXT_323);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_324);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_325);

-							stringBuffer.append(genDataType.isMaxInclusive() ? "<=" : "<");

-							stringBuffer.append(TEXT_326);

-							stringBuffer.append(constant);

-							stringBuffer.append(TEXT_327);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_328);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_329);

-							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_330);

-								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_331);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_332);

-								stringBuffer.append(genDataType.getSafeUncapName());

-								stringBuffer.append(TEXT_333);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_334);

-								stringBuffer.append(constant);

-								stringBuffer.append(TEXT_335);

-								stringBuffer.append(genDataType.isMaxInclusive() ? "true" : "false");

-								stringBuffer.append(TEXT_336);

-								stringBuffer.append(diagnostics);

-								stringBuffer.append(TEXT_337);

-								stringBuffer.append(context);

-								stringBuffer.append(TEXT_338);

-							} else {

-								stringBuffer.append(TEXT_339);

-								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_340);

-								stringBuffer.append(genDataType.getSafeUncapName());

-								stringBuffer.append(TEXT_341);

-								stringBuffer.append(constant);

-								stringBuffer.append(TEXT_342);

-								stringBuffer.append(genDataType.isMaxInclusive() ? "true" : "false");

-								stringBuffer.append(TEXT_343);

-								stringBuffer.append(diagnostics);

-								stringBuffer.append(TEXT_344);

-								stringBuffer.append(context);

-								stringBuffer.append(TEXT_345);

-							}

-							stringBuffer.append(TEXT_346);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_347);

-						} else {

-							String comparison = "comparison".equals(genClassifier.getSafeUncapName()) ? "theComparison"

-									: "comparison";

-							if (genDataType.isXMLCalendar()) {

-								stringBuffer.append(TEXT_348);

-								stringBuffer.append(comparison);

-								stringBuffer.append(TEXT_349);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));

-								stringBuffer.append(TEXT_350);

-								stringBuffer.append(genDataType.getSafeUncapName());

-								stringBuffer.append(TEXT_351);

-								stringBuffer.append(constant);

-								stringBuffer.append(TEXT_352);

-								stringBuffer.append(result);

-								stringBuffer.append(TEXT_353);

-								if (genDataType.isMaxInclusive()) {

-									stringBuffer.append(comparison);

-									stringBuffer.append(TEXT_354);

-								}

-								stringBuffer.append(comparison);

-								stringBuffer.append(TEXT_355);

-							} else if (genDataType.isXMLDuration()) {

-								stringBuffer.append(TEXT_356);

-								stringBuffer.append(comparison);

-								stringBuffer.append(TEXT_357);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));

-								stringBuffer.append(TEXT_358);

-								stringBuffer.append(genDataType.getSafeUncapName());

-								stringBuffer.append(TEXT_359);

-								stringBuffer.append(constant);

-								stringBuffer.append(TEXT_360);

-								stringBuffer.append(result);

-								stringBuffer.append(TEXT_361);

-								if (genDataType.isMaxInclusive()) {

-									stringBuffer.append(comparison);

-									stringBuffer.append(TEXT_362);

-								}

-								stringBuffer.append(comparison);

-								stringBuffer.append(TEXT_363);

-							} else {

-								stringBuffer.append(TEXT_364);

-								stringBuffer.append(result);

-								stringBuffer.append(TEXT_365);

-								stringBuffer.append(genDataType.getSafeUncapName());

-								stringBuffer.append(TEXT_366);

-								stringBuffer.append(constant);

-								stringBuffer.append(TEXT_367);

-								stringBuffer.append(genDataType.isMaxInclusive() ? "<=" : "<");

-								stringBuffer.append(TEXT_368);

-							}

-							stringBuffer.append(TEXT_369);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_370);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_371);

-							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_372);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_373);

-							stringBuffer.append(constant);

-							stringBuffer.append(TEXT_374);

-							stringBuffer.append(genDataType.isMaxInclusive() ? "true" : "false");

-							stringBuffer.append(TEXT_375);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_376);

-							stringBuffer.append(context);

-							stringBuffer.append(TEXT_377);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_378);

-						}

-					} else if (constraint.equals("MinLength") && genDataType.getMinLength() != -1) {

-						stringBuffer.append(TEXT_379);

-						stringBuffer.append(genDataType.getSafeUncapName());

-						stringBuffer.append(TEXT_380);

-						stringBuffer.append(genDataType.getLengthAccessorFunction());

-						stringBuffer.append(TEXT_381);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_382);

-						stringBuffer.append(genDataType.getMinLength());

-						stringBuffer.append(TEXT_383);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_384);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_385);

-						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-						stringBuffer.append(TEXT_386);

-						stringBuffer.append(genDataType.getSafeUncapName());

-						stringBuffer.append(TEXT_387);

-						stringBuffer.append(genDataType.getMinLength());

-						stringBuffer.append(TEXT_388);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_389);

-						stringBuffer.append(context);

-						stringBuffer.append(TEXT_390);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_391);

-					} else if (constraint.equals("MaxLength") && genDataType.getMaxLength() != -1) {

-						stringBuffer.append(TEXT_392);

-						stringBuffer.append(genDataType.getSafeUncapName());

-						stringBuffer.append(TEXT_393);

-						stringBuffer.append(genDataType.getLengthAccessorFunction());

-						stringBuffer.append(TEXT_394);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_395);

-						stringBuffer.append(genDataType.getMaxLength());

-						stringBuffer.append(TEXT_396);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_397);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_398);

-						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-						stringBuffer.append(TEXT_399);

-						stringBuffer.append(genDataType.getSafeUncapName());

-						stringBuffer.append(TEXT_400);

-						stringBuffer.append(genDataType.getMaxLength());

-						stringBuffer.append(TEXT_401);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_402);

-						stringBuffer.append(context);

-						stringBuffer.append(TEXT_403);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_404);

-					} else if (constraint.equals("TotalDigits") && genDataType.getTotalDigits() != -1) {

-						if (genDataType.isPrimitiveType()) {

-							stringBuffer.append(TEXT_405);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_406);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_407);

-							stringBuffer.append(constant);

-							stringBuffer.append(TEXT_408);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_409);

-							stringBuffer.append(constant);

-							stringBuffer.append(TEXT_410);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_411);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_412);

-							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {

-								stringBuffer.append(TEXT_413);

-								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_414);

-								stringBuffer.append(genDataType.getObjectInstanceClassName());

-								stringBuffer.append(TEXT_415);

-								stringBuffer.append(genDataType.getSafeUncapName());

-								stringBuffer.append(TEXT_416);

-								stringBuffer.append(genDataType.getTotalDigits());

-								stringBuffer.append(TEXT_417);

-								stringBuffer.append(diagnostics);

-								stringBuffer.append(TEXT_418);

-								stringBuffer.append(context);

-								stringBuffer.append(TEXT_419);

-							} else {

-								stringBuffer.append(TEXT_420);

-								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_421);

-								stringBuffer.append(genDataType.getSafeUncapName());

-								stringBuffer.append(TEXT_422);

-								stringBuffer.append(genDataType.getTotalDigits());

-								stringBuffer.append(TEXT_423);

-								stringBuffer.append(diagnostics);

-								stringBuffer.append(TEXT_424);

-								stringBuffer.append(context);

-								stringBuffer.append(TEXT_425);

-							}

-						} else if ("java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {

-							stringBuffer.append(TEXT_426);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_427);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_428);

-							stringBuffer.append(genDataType.getTotalDigits());

-							stringBuffer.append(TEXT_429);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_430);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_431);

-							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_432);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_433);

-							stringBuffer.append(genDataType.getTotalDigits());

-							stringBuffer.append(TEXT_434);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_435);

-							stringBuffer.append(context);

-							stringBuffer.append(TEXT_436);

-						} else {

-							stringBuffer.append(TEXT_437);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_438);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_439);

-							stringBuffer.append(constant);

-							stringBuffer.append(TEXT_440);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_441);

-							stringBuffer.append(constant);

-							stringBuffer.append(TEXT_442);

-							stringBuffer.append(result);

-							stringBuffer.append(TEXT_443);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_444);

-							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_445);

-							stringBuffer.append(genDataType.getSafeUncapName());

-							stringBuffer.append(TEXT_446);

-							stringBuffer.append(genDataType.getTotalDigits());

-							stringBuffer.append(TEXT_447);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_448);

-							stringBuffer.append(context);

-							stringBuffer.append(TEXT_449);

-						}

-						stringBuffer.append(TEXT_450);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_451);

-					} else if (constraint.equals("FractionDigits") && genDataType.getFractionDigits() != -1

-							&& "java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {

-						stringBuffer.append(TEXT_452);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_453);

-						stringBuffer.append(genDataType.getSafeUncapName());

-						stringBuffer.append(TEXT_454);

-						stringBuffer.append(genDataType.getFractionDigits());

-						stringBuffer.append(TEXT_455);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_456);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_457);

-						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-						stringBuffer.append(TEXT_458);

-						stringBuffer.append(genDataType.getSafeUncapName());

-						stringBuffer.append(TEXT_459);

-						stringBuffer.append(genDataType.getFractionDigits());

-						stringBuffer.append(TEXT_460);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_461);

-						stringBuffer.append(context);

-						stringBuffer.append(TEXT_462);

-						stringBuffer.append(result);

-						stringBuffer.append(TEXT_463);

-					} else if (constraintDelegate != null) {

-						stringBuffer.append(TEXT_464);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_465);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_466);

-						if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

-							stringBuffer.append(TEXT_467);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-							stringBuffer.append(TEXT_468);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(TEXT_469);

-							stringBuffer.append(constraint);

-							stringBuffer.append(TEXT_470);

-							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_471);

-							stringBuffer.append(genClassifier.getSafeUncapName());

-							stringBuffer.append(TEXT_472);

-							stringBuffer.append(context);

-							stringBuffer.append(TEXT_473);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(TEXT_474);

-							stringBuffer.append(genClassifier.getSafeUncapName());

-							stringBuffer.append(TEXT_475);

-						} else {

-							stringBuffer.append(TEXT_476);

-							stringBuffer

-									.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

-							stringBuffer.append(TEXT_477);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-							stringBuffer.append(TEXT_478);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

-							stringBuffer.append(TEXT_479);

-							stringBuffer.append(constraint);

-							stringBuffer.append(TEXT_480);

-							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_481);

-							stringBuffer.append(genClassifier.getSafeUncapName());

-							stringBuffer.append(TEXT_482);

-							stringBuffer.append(context);

-							stringBuffer.append(TEXT_483);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(genModel.getNonNLS(2));

-							stringBuffer.append(TEXT_484);

-							stringBuffer.append(genClassifier.getSafeUncapName());

-							stringBuffer.append(TEXT_485);

-						}

-						stringBuffer.append(TEXT_486);

-						stringBuffer.append(delegate);

-						stringBuffer.append(TEXT_487);

-						stringBuffer.append(constraintDelegate.getName());

-						stringBuffer.append(TEXT_488);

-						stringBuffer.append(constraint);

-						stringBuffer.append(TEXT_489);

-						stringBuffer.append(genClassifier.getSafeUncapName());

-						stringBuffer.append(accessor);

-						stringBuffer.append(TEXT_490);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_491);

-						stringBuffer.append(context);

-						stringBuffer.append(TEXT_492);

-					} else {

-						if (genClassifier.hasConstraintExpression(constraint)) {

-							stringBuffer.append(TEXT_493);

-							stringBuffer.append(genClassifier.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_494);

-							stringBuffer.append(genClassifier.getSafeUncapName());

-							stringBuffer.append(TEXT_495);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_496);

-							stringBuffer.append(context);

-							stringBuffer.append(TEXT_497);

-							stringBuffer.append(genClassifier.getValidationDelegate(constraint));

-							stringBuffer.append(TEXT_498);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(TEXT_499);

-							stringBuffer.append(constraint);

-							stringBuffer.append(TEXT_500);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(TEXT_501);

-							stringBuffer.append(genClassifier.getClassifierID());

-							stringBuffer.append(TEXT_502);

-							stringBuffer.append(CodeGenUtil.upperName(constraint));

-							stringBuffer.append(TEXT_503);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-							stringBuffer.append(TEXT_504);

-						} else {

-							stringBuffer.append(TEXT_505);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_506);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_507);

-							if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

-								stringBuffer.append(TEXT_508);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-								stringBuffer.append(TEXT_509);

-								stringBuffer.append(genModel.getNonNLS());

-								stringBuffer.append(TEXT_510);

-								stringBuffer.append(constraint);

-								stringBuffer.append(TEXT_511);

-								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_512);

-								stringBuffer.append(genClassifier.getSafeUncapName());

-								stringBuffer.append(TEXT_513);

-								stringBuffer.append(context);

-								stringBuffer.append(TEXT_514);

-								stringBuffer.append(genModel.getNonNLS());

-								stringBuffer.append(TEXT_515);

-								stringBuffer.append(genClassifier.getSafeUncapName());

-								stringBuffer.append(TEXT_516);

-							} else {

-								stringBuffer.append(TEXT_517);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

-								stringBuffer.append(TEXT_518);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-								stringBuffer.append(TEXT_519);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

-								stringBuffer.append(TEXT_520);

-								stringBuffer.append(constraint);

-								stringBuffer.append(TEXT_521);

-								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());

-								stringBuffer.append(TEXT_522);

-								stringBuffer.append(genClassifier.getSafeUncapName());

-								stringBuffer.append(TEXT_523);

-								stringBuffer.append(context);

-								stringBuffer.append(TEXT_524);

-								stringBuffer.append(genModel.getNonNLS());

-								stringBuffer.append(genModel.getNonNLS(2));

-								stringBuffer.append(TEXT_525);

-								stringBuffer.append(genClassifier.getSafeUncapName());

-								stringBuffer.append(TEXT_526);

-							}

-							stringBuffer.append(TEXT_527);

-						}

-					}

-				} else {

-					GenOperation genOperation = ((GenClass) genClassifier).getInvariantOperation(constraint);

-					if (genOperation != null) {

-						stringBuffer.append(TEXT_528);

-						stringBuffer.append(genClassifier.getSafeUncapName());

-						stringBuffer.append(TEXT_529);

-						stringBuffer.append(constraint);

-						stringBuffer.append(TEXT_530);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_531);

-						stringBuffer.append(context);

-						stringBuffer.append(TEXT_532);

-					} else if (constraintDelegate != null) {

-						stringBuffer.append(TEXT_533);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_534);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_535);

-						if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

-							stringBuffer.append(TEXT_536);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-							stringBuffer.append(TEXT_537);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(TEXT_538);

-							stringBuffer.append(constraint);

-							stringBuffer.append(TEXT_539);

-							stringBuffer.append(genClassifier.getSafeUncapName());

-							stringBuffer.append(TEXT_540);

-							stringBuffer.append(context);

-							stringBuffer.append(TEXT_541);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(TEXT_542);

-							stringBuffer.append(genClassifier.getSafeUncapName());

-							stringBuffer.append(TEXT_543);

-						} else {

-							stringBuffer.append(TEXT_544);

-							stringBuffer

-									.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

-							stringBuffer.append(TEXT_545);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-							stringBuffer.append(TEXT_546);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

-							stringBuffer.append(TEXT_547);

-							stringBuffer.append(constraint);

-							stringBuffer.append(TEXT_548);

-							stringBuffer.append(genClassifier.getSafeUncapName());

-							stringBuffer.append(TEXT_549);

-							stringBuffer.append(context);

-							stringBuffer.append(TEXT_550);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(genModel.getNonNLS(2));

-							stringBuffer.append(TEXT_551);

-							stringBuffer.append(genClassifier.getSafeUncapName());

-							stringBuffer.append(TEXT_552);

-						}

-						stringBuffer.append(TEXT_553);

-						stringBuffer.append(delegate);

-						stringBuffer.append(TEXT_554);

-						stringBuffer.append(constraintDelegate.getName());

-						stringBuffer.append(TEXT_555);

-						stringBuffer.append(constraint);

-						stringBuffer.append(TEXT_556);

-						stringBuffer.append(cast);

-						stringBuffer.append(genClassifier.getSafeUncapName());

-						stringBuffer.append(TEXT_557);

-						stringBuffer.append(diagnostics);

-						stringBuffer.append(TEXT_558);

-						stringBuffer.append(context);

-						stringBuffer.append(TEXT_559);

-					} else {

-						if (genClassifier.hasConstraintExpression(constraint)) {

-							stringBuffer.append(TEXT_560);

-							stringBuffer.append(genClassifier.getQualifiedClassifierAccessor());

-							stringBuffer.append(TEXT_561);

-							stringBuffer.append(genClassifier.getSafeUncapName());

-							stringBuffer.append(TEXT_562);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_563);

-							stringBuffer.append(context);

-							stringBuffer.append(TEXT_564);

-							stringBuffer.append(genClassifier.getValidationDelegate(constraint));

-							stringBuffer.append(TEXT_565);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(TEXT_566);

-							stringBuffer.append(constraint);

-							stringBuffer.append(TEXT_567);

-							stringBuffer.append(genModel.getNonNLS());

-							stringBuffer.append(TEXT_568);

-							stringBuffer.append(genClassifier.getClassifierID());

-							stringBuffer.append(TEXT_569);

-							stringBuffer.append(CodeGenUtil.upperName(constraint));

-							stringBuffer.append(TEXT_570);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-							stringBuffer.append(TEXT_571);

-						} else {

-							stringBuffer.append(TEXT_572);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_573);

-							stringBuffer.append(diagnostics);

-							stringBuffer.append(TEXT_574);

-							if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

-								stringBuffer.append(TEXT_575);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-								stringBuffer.append(TEXT_576);

-								stringBuffer.append(genModel.getNonNLS());

-								stringBuffer.append(TEXT_577);

-								stringBuffer.append(constraint);

-								stringBuffer.append(TEXT_578);

-								stringBuffer.append(genClassifier.getSafeUncapName());

-								stringBuffer.append(TEXT_579);

-								stringBuffer.append(context);

-								stringBuffer.append(TEXT_580);

-								stringBuffer.append(genModel.getNonNLS());

-								stringBuffer.append(TEXT_581);

-								stringBuffer.append(genClassifier.getSafeUncapName());

-								stringBuffer.append(TEXT_582);

-							} else {

-								stringBuffer.append(TEXT_583);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

-								stringBuffer.append(TEXT_584);

-								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-								stringBuffer.append(TEXT_585);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

-								stringBuffer.append(TEXT_586);

-								stringBuffer.append(constraint);

-								stringBuffer.append(TEXT_587);

-								stringBuffer.append(genClassifier.getSafeUncapName());

-								stringBuffer.append(TEXT_588);

-								stringBuffer.append(context);

-								stringBuffer.append(TEXT_589);

-								stringBuffer.append(genModel.getNonNLS());

-								stringBuffer.append(genModel.getNonNLS(2));

-								stringBuffer.append(TEXT_590);

-								stringBuffer.append(genClassifier.getSafeUncapName());

-								stringBuffer.append(TEXT_591);

-							}

-							stringBuffer.append(TEXT_592);

-						}

-					}

-				}

-				stringBuffer.append(TEXT_593);

-			}

-		}

-		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {

-			stringBuffer.append(TEXT_594);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_595);

-			}

-			stringBuffer.append(TEXT_596);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));

-			stringBuffer.append(TEXT_597);

-			if (genModel.hasModelPluginClass()) {

-				stringBuffer.append(TEXT_598);

-				stringBuffer.append(genModel.getImportedName(genModel.getQualifiedModelPluginClassName()));

-				stringBuffer.append(TEXT_599);

-			} else {

-				stringBuffer.append(TEXT_600);

-			}

-			stringBuffer.append(TEXT_601);

-		}

-		stringBuffer.append(TEXT_602);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.ValidatorClass.ValidatorClass.insert" args="genPackage:genPackage,genModel:genModel,singleWildcard:singleWildcard,_Map:_Map,objectArgument:objectArgument,count:count"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("_Map", _Map);

-			callParameters.put("objectArgument", objectArgument);

-			callParameters.put("count", count);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_omcocbM-EeKd56X4hcZPSw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_603);

-		stringBuffer.append(genPackage.getValidatorClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_604);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.hasConstraints());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ValidatorClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized ValidatorClass create(String lineSeparator) {
+		nl = lineSeparator;
+		ValidatorClass result = new ValidatorClass();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * The <b>Validator</b> for the model." + NL + " * <!-- end-user-doc -->" + NL + " * @see ";
+	protected final String TEXT_5 = NL + " * @generated" + NL + " */" + NL + "public class ";
+	protected final String TEXT_6 = " extends ";
+	protected final String TEXT_7 = NL + "{";
+	protected final String TEXT_8 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_9 = " copyright = ";
+	protected final String TEXT_10 = ";";
+	protected final String TEXT_11 = NL;
+	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * The cached model package" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static final ";
+	protected final String TEXT_13 = " INSTANCE = new ";
+	protected final String TEXT_14 = "();" + NL + "" + NL + "\t/**" + NL
+			+ "\t * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @see org.eclipse.emf.common.util.Diagnostic#getSource()" + NL
+			+ "\t * @see org.eclipse.emf.common.util.Diagnostic#getCode()" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static final String DIAGNOSTIC_SOURCE = \"";
+	protected final String TEXT_15 = "\";";
+	protected final String TEXT_16 = NL;
+	protected final String TEXT_17 = NL + "\t/**" + NL
+			+ "\t * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint '";
+	protected final String TEXT_18 = "' of '";
+	protected final String TEXT_19 = "'." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t */" + NL + "\tpublic static final int ";
+	protected final String TEXT_20 = " = ";
+	protected final String TEXT_21 = ";" + NL;
+	protected final String TEXT_22 = NL + "\t/**" + NL
+			+ "\t * A constant with a fixed name that can be used as the base value for additional hand written constants."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprivate static final int GENERATED_DIAGNOSTIC_CODE_COUNT = ";
+	protected final String TEXT_23 = ";" + NL + "" + NL + "\t/**" + NL
+			+ "\t * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tprotected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;"
+			+ NL;
+	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * The cached base package validator." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tprotected ";
+	protected final String TEXT_25 = " ";
+	protected final String TEXT_26 = "Validator;" + NL;
+	protected final String TEXT_27 = NL + "\t/**" + NL
+			+ "\t * Delegates evaluation of the given invariant expression against the object in the given context."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */" + NL + "\tpublic static boolean validate(";
+	protected final String TEXT_28 = " eClass, ";
+	protected final String TEXT_29 = " eObject, DiagnosticChain diagnostics, ";
+	protected final String TEXT_30 = " context, ";
+	protected final String TEXT_31 = " validationDelegate, ";
+	protected final String TEXT_32 = " invariant, ";
+	protected final String TEXT_33 = " expression, int severity, ";
+	protected final String TEXT_34 = " source, int code)" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_35 = ".validate(eClass, eObject, diagnostics, context, validationDelegate, invariant, expression, severity, source, code);"
+			+ NL + "\t}" + NL;
+	protected final String TEXT_36 = NL + "\t/**" + NL + "\t * Creates an instance of the switch." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic ";
+	protected final String TEXT_37 = "()" + NL + "\t{" + NL + "\t\tsuper();";
+	protected final String TEXT_38 = NL + "\t\t";
+	protected final String TEXT_39 = "Validator = ";
+	protected final String TEXT_40 = ".INSTANCE;";
+	protected final String TEXT_41 = NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Returns the package of this validator switch." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_42 = NL + "\t@Override";
+	protected final String TEXT_43 = NL + "\tprotected EPackage getEPackage()" + NL + "\t{" + NL + "\t  return ";
+	protected final String TEXT_44 = ".eINSTANCE;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * Calls <code>validateXXX</code> for the corresponding classifier of the model." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_45 = NL + "\t@Override";
+	protected final String TEXT_46 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_47 = NL
+			+ "\tprotected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, ";
+	protected final String TEXT_48 = " context)" + NL + "\t{" + NL + "\t\tswitch (classifierID)" + NL + "\t\t{";
+	protected final String TEXT_49 = NL + "\t\t\tcase ";
+	protected final String TEXT_50 = ".";
+	protected final String TEXT_51 = ":";
+	protected final String TEXT_52 = NL + "\t\t\t\treturn validate";
+	protected final String TEXT_53 = "(((";
+	protected final String TEXT_54 = ")value).";
+	protected final String TEXT_55 = "(), diagnostics, context);";
+	protected final String TEXT_56 = NL + "\t\t\t\treturn validate";
+	protected final String TEXT_57 = "((";
+	protected final String TEXT_58 = ")value, diagnostics, context);";
+	protected final String TEXT_59 = NL + "\t\t\t\treturn validate";
+	protected final String TEXT_60 = "(value, diagnostics, context);";
+	protected final String TEXT_61 = NL + "\t\t\t\treturn validate";
+	protected final String TEXT_62 = "((";
+	protected final String TEXT_63 = ")value, diagnostics, context);";
+	protected final String TEXT_64 = NL + "\t\t\t\treturn validate";
+	protected final String TEXT_65 = "((";
+	protected final String TEXT_66 = ")value, diagnostics, context);";
+	protected final String TEXT_67 = NL + "\t\t\tdefault:" + NL + "\t\t\t\treturn true;" + NL + "\t\t}" + NL + "\t}"
+			+ NL;
+	protected final String TEXT_68 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic boolean validate";
+	protected final String TEXT_69 = "(";
+	protected final String TEXT_70 = " ";
+	protected final String TEXT_71 = ", DiagnosticChain ";
+	protected final String TEXT_72 = ", ";
+	protected final String TEXT_73 = " ";
+	protected final String TEXT_74 = ")" + NL + "\t{";
+	protected final String TEXT_75 = NL + "\t\treturn true;";
+	protected final String TEXT_76 = NL + "\t\treturn validate_EveryDefaultConstraint(";
+	protected final String TEXT_77 = "(";
+	protected final String TEXT_78 = ")";
+	protected final String TEXT_79 = ", ";
+	protected final String TEXT_80 = ", ";
+	protected final String TEXT_81 = ");";
+	protected final String TEXT_82 = NL + "\t\tif (!validate_NoCircularContainment(";
+	protected final String TEXT_83 = "(";
+	protected final String TEXT_84 = ")";
+	protected final String TEXT_85 = ", ";
+	protected final String TEXT_86 = ", ";
+	protected final String TEXT_87 = ")) return false;";
+	protected final String TEXT_88 = NL + "\t\tboolean ";
+	protected final String TEXT_89 = " = ";
+	protected final String TEXT_90 = "validate";
+	protected final String TEXT_91 = "_";
+	protected final String TEXT_92 = "(";
+	protected final String TEXT_93 = ", ";
+	protected final String TEXT_94 = ", ";
+	protected final String TEXT_95 = ");";
+	protected final String TEXT_96 = NL + "\t\tif (";
+	protected final String TEXT_97 = " || ";
+	protected final String TEXT_98 = " != null) ";
+	protected final String TEXT_99 = " &= ";
+	protected final String TEXT_100 = "validate";
+	protected final String TEXT_101 = "_";
+	protected final String TEXT_102 = "(";
+	protected final String TEXT_103 = ", ";
+	protected final String TEXT_104 = ", ";
+	protected final String TEXT_105 = ");";
+	protected final String TEXT_106 = NL + "\t\treturn ";
+	protected final String TEXT_107 = ";";
+	protected final String TEXT_108 = NL + "\t}" + NL;
+	protected final String TEXT_109 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";
+	protected final String TEXT_110 = "_";
+	protected final String TEXT_111 = NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_112 = " ";
+	protected final String TEXT_113 = "__VALUE = ";
+	protected final String TEXT_114 = ";" + NL;
+	protected final String TEXT_115 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";
+	protected final String TEXT_116 = "_";
+	protected final String TEXT_117 = NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_118 = " ";
+	protected final String TEXT_119 = "__VALUE = ";
+	protected final String TEXT_120 = ";" + NL;
+	protected final String TEXT_121 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";
+	protected final String TEXT_122 = "_";
+	protected final String TEXT_123 = NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_124 = " ";
+	protected final String TEXT_125 = "__UPPER_BOUND = ";
+	protected final String TEXT_126 = ";" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";
+	protected final String TEXT_127 = "_";
+	protected final String TEXT_128 = NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_129 = " ";
+	protected final String TEXT_130 = "__LOWER_BOUND = ";
+	protected final String TEXT_131 = ";" + NL;
+	protected final String TEXT_132 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";
+	protected final String TEXT_133 = "_";
+	protected final String TEXT_134 = NL + "\t */" + NL + "\tpublic static final  PatternMatcher [][] ";
+	protected final String TEXT_135 = "__VALUES =" + NL + "\t\tnew PatternMatcher [][]" + NL + "\t\t{";
+	protected final String TEXT_136 = NL + "\t\t\tnew PatternMatcher []" + NL + "\t\t\t{";
+	protected final String TEXT_137 = NL + "\t\t\t\t";
+	protected final String TEXT_138 = ".createPatternMatcher(";
+	protected final String TEXT_139 = ")";
+	protected final String TEXT_140 = NL + "\t\t\t}";
+	protected final String TEXT_141 = NL + "\t\t};" + NL;
+	protected final String TEXT_142 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @see #validate";
+	protected final String TEXT_143 = "_";
+	protected final String TEXT_144 = NL + "\t */";
+	protected final String TEXT_145 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_146 = NL + "\tpublic static final ";
+	protected final String TEXT_147 = " ";
+	protected final String TEXT_148 = "__VALUES =" + NL + "\t\twrapEnumerationValues" + NL + "\t\t\t(new Object[]" + NL
+			+ "\t\t\t {";
+	protected final String TEXT_149 = NL + "\t\t\t\t ";
+	protected final String TEXT_150 = "new ";
+	protected final String TEXT_151 = "(";
+	protected final String TEXT_152 = ")";
+	protected final String TEXT_153 = NL + "\t\t\t });" + NL;
+	protected final String TEXT_154 = NL + "\t/**" + NL + "\t * The cached validation expression for the ";
+	protected final String TEXT_155 = " constraint of '<em>";
+	protected final String TEXT_156 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected static final ";
+	protected final String TEXT_157 = " ";
+	protected final String TEXT_158 = "__";
+	protected final String TEXT_159 = "__EEXPRESSION = \"";
+	protected final String TEXT_160 = "\";";
+	protected final String TEXT_161 = NL;
+	protected final String TEXT_162 = NL + "\t/**" + NL + "\t * Validates the ";
+	protected final String TEXT_163 = " constraint of '<em>";
+	protected final String TEXT_164 = "</em>'." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic boolean validate";
+	protected final String TEXT_165 = "_";
+	protected final String TEXT_166 = "(";
+	protected final String TEXT_167 = " ";
+	protected final String TEXT_168 = ", DiagnosticChain ";
+	protected final String TEXT_169 = ", ";
+	protected final String TEXT_170 = " ";
+	protected final String TEXT_171 = ")" + NL + "\t{";
+	protected final String TEXT_172 = NL + "\t\tboolean ";
+	protected final String TEXT_173 = " = true;" + NL + "\t\tfor (";
+	protected final String TEXT_174 = " i = ";
+	protected final String TEXT_175 = ".iterator(); i.hasNext() && (result || diagnostics != null); )" + NL + "\t\t{"
+			+ NL + "\t\t\tObject item = i.next();";
+	protected final String TEXT_176 = NL + "\t\t\tif (";
+	protected final String TEXT_177 = ".isInstance(item))" + NL + "\t\t\t{" + NL + "\t\t\t\tresult &= ";
+	protected final String TEXT_178 = "validate";
+	protected final String TEXT_179 = "(";
+	protected final String TEXT_180 = "(";
+	protected final String TEXT_181 = "(";
+	protected final String TEXT_182 = ")";
+	protected final String TEXT_183 = ").";
+	protected final String TEXT_184 = "()";
+	protected final String TEXT_185 = ", ";
+	protected final String TEXT_186 = ", ";
+	protected final String TEXT_187 = ");" + NL + "\t\t\t}" + NL + "\t\t\telse";
+	protected final String TEXT_188 = NL + "\t\t\tif (!";
+	protected final String TEXT_189 = ".isInstance(item))";
+	protected final String TEXT_190 = NL + "\t\t\t{" + NL + "\t\t\t\tresult = false;" + NL
+			+ "\t\t\t\treportDataValueTypeViolation(";
+	protected final String TEXT_191 = ", item, ";
+	protected final String TEXT_192 = ", ";
+	protected final String TEXT_193 = ");" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn result;";
+	protected final String TEXT_194 = NL + "\t\tif (diagnostics != null)" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_195 = " tempDiagnostics = new BasicDiagnostic();";
+	protected final String TEXT_196 = NL + "\t\t\tif (";
+	protected final String TEXT_197 = "validate";
+	protected final String TEXT_198 = "(";
+	protected final String TEXT_199 = ", tempDiagnostics, ";
+	protected final String TEXT_200 = ")) return true;";
+	protected final String TEXT_201 = NL + "\t\t\tif (";
+	protected final String TEXT_202 = ".isInstance(";
+	protected final String TEXT_203 = "))" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_204 = "if (";
+	protected final String TEXT_205 = "validate";
+	protected final String TEXT_206 = "(";
+	protected final String TEXT_207 = "(";
+	protected final String TEXT_208 = "(";
+	protected final String TEXT_209 = ")";
+	protected final String TEXT_210 = ").";
+	protected final String TEXT_211 = "()";
+	protected final String TEXT_212 = ", tempDiagnostics, ";
+	protected final String TEXT_213 = ")) ";
+	protected final String TEXT_214 = "return true;" + NL + "\t\t\t}";
+	protected final String TEXT_215 = NL + "\t\t\tfor (";
+	protected final String TEXT_216 = " diagnostic : tempDiagnostics.getChildren())" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\tdiagnostics.add(diagnostic);" + NL + "\t\t\t}";
+	protected final String TEXT_217 = NL + "\t\t\t";
+	protected final String TEXT_218 = " children = tempDiagnostics.getChildren();" + NL
+			+ "\t\t\tfor (int i = 0; i < children.size(); i++)" + NL + "\t\t\t{" + NL + "\t\t\t\tdiagnostics.add((";
+	protected final String TEXT_219 = ")children.get(i));" + NL + "\t\t\t}";
+	protected final String TEXT_220 = NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{";
+	protected final String TEXT_221 = NL + "\t\t\tif (";
+	protected final String TEXT_222 = "validate";
+	protected final String TEXT_223 = "(";
+	protected final String TEXT_224 = ", null, ";
+	protected final String TEXT_225 = ")) return true;";
+	protected final String TEXT_226 = NL + "\t\t\tif (";
+	protected final String TEXT_227 = ".isInstance(";
+	protected final String TEXT_228 = "))" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_229 = "if (";
+	protected final String TEXT_230 = "validate";
+	protected final String TEXT_231 = "(";
+	protected final String TEXT_232 = "(";
+	protected final String TEXT_233 = "(";
+	protected final String TEXT_234 = ")";
+	protected final String TEXT_235 = ").";
+	protected final String TEXT_236 = "()";
+	protected final String TEXT_237 = ", null, ";
+	protected final String TEXT_238 = ")) ";
+	protected final String TEXT_239 = "return true;" + NL + "\t\t\t}";
+	protected final String TEXT_240 = NL + "\t\t}" + NL + "\t\treturn false;";
+	protected final String TEXT_241 = NL + "\t\treturn validatePattern(";
+	protected final String TEXT_242 = ", ";
+	protected final String TEXT_243 = "new ";
+	protected final String TEXT_244 = "(";
+	protected final String TEXT_245 = ")";
+	protected final String TEXT_246 = ", ";
+	protected final String TEXT_247 = "__VALUES, ";
+	protected final String TEXT_248 = ", ";
+	protected final String TEXT_249 = ");";
+	protected final String TEXT_250 = NL + "\t\t";
+	protected final String TEXT_251 = " ";
+	protected final String TEXT_252 = " = new ";
+	protected final String TEXT_253 = "(";
+	protected final String TEXT_254 = ");";
+	protected final String TEXT_255 = NL + "\t\tboolean ";
+	protected final String TEXT_256 = " = ";
+	protected final String TEXT_257 = "__VALUES.contains(";
+	protected final String TEXT_258 = ");" + NL + "\t\tif (!";
+	protected final String TEXT_259 = " && ";
+	protected final String TEXT_260 = " != null)" + NL + "\t\t\treportEnumerationViolation(";
+	protected final String TEXT_261 = ", ";
+	protected final String TEXT_262 = ", ";
+	protected final String TEXT_263 = "__VALUES, ";
+	protected final String TEXT_264 = ", ";
+	protected final String TEXT_265 = ");" + NL + "\t\treturn ";
+	protected final String TEXT_266 = ";";
+	protected final String TEXT_267 = NL + "\t\tboolean ";
+	protected final String TEXT_268 = " = ";
+	protected final String TEXT_269 = " ";
+	protected final String TEXT_270 = " ";
+	protected final String TEXT_271 = "__VALUE;" + NL + "\t\tif (!";
+	protected final String TEXT_272 = " && ";
+	protected final String TEXT_273 = " != null)";
+	protected final String TEXT_274 = NL + "\t\t\treportMinViolation(";
+	protected final String TEXT_275 = ", new ";
+	protected final String TEXT_276 = "(";
+	protected final String TEXT_277 = "), new ";
+	protected final String TEXT_278 = "(";
+	protected final String TEXT_279 = "__VALUE), ";
+	protected final String TEXT_280 = ", ";
+	protected final String TEXT_281 = ", ";
+	protected final String TEXT_282 = ");";
+	protected final String TEXT_283 = NL + "\t\t\treportMinViolation(";
+	protected final String TEXT_284 = ", ";
+	protected final String TEXT_285 = ", ";
+	protected final String TEXT_286 = "__VALUE, ";
+	protected final String TEXT_287 = ", ";
+	protected final String TEXT_288 = ", ";
+	protected final String TEXT_289 = ");";
+	protected final String TEXT_290 = NL + "\t\treturn ";
+	protected final String TEXT_291 = ";";
+	protected final String TEXT_292 = NL + "\t\tint ";
+	protected final String TEXT_293 = " = ";
+	protected final String TEXT_294 = ".compareCalendar(";
+	protected final String TEXT_295 = ", ";
+	protected final String TEXT_296 = "__VALUE);" + NL + "\t\tboolean ";
+	protected final String TEXT_297 = " = ";
+	protected final String TEXT_298 = " == 0 || ";
+	protected final String TEXT_299 = " == 1;";
+	protected final String TEXT_300 = NL + "\t\tint ";
+	protected final String TEXT_301 = " = ";
+	protected final String TEXT_302 = ".compareDuration(";
+	protected final String TEXT_303 = ", ";
+	protected final String TEXT_304 = "__VALUE);" + NL + "\t\tboolean ";
+	protected final String TEXT_305 = " = ";
+	protected final String TEXT_306 = " == 0 || ";
+	protected final String TEXT_307 = " == 1;";
+	protected final String TEXT_308 = NL + "\t\tboolean ";
+	protected final String TEXT_309 = " = ";
+	protected final String TEXT_310 = ".compareTo(";
+	protected final String TEXT_311 = "__VALUE) ";
+	protected final String TEXT_312 = " 0;";
+	protected final String TEXT_313 = NL + "\t\tif (!";
+	protected final String TEXT_314 = " && ";
+	protected final String TEXT_315 = " != null)" + NL + "\t\t\treportMinViolation(";
+	protected final String TEXT_316 = ", ";
+	protected final String TEXT_317 = ", ";
+	protected final String TEXT_318 = "__VALUE, ";
+	protected final String TEXT_319 = ", ";
+	protected final String TEXT_320 = ", ";
+	protected final String TEXT_321 = ");" + NL + "\t\treturn ";
+	protected final String TEXT_322 = ";";
+	protected final String TEXT_323 = NL + "\t\tboolean ";
+	protected final String TEXT_324 = " = ";
+	protected final String TEXT_325 = " ";
+	protected final String TEXT_326 = " ";
+	protected final String TEXT_327 = "__VALUE;" + NL + "\t\tif (!";
+	protected final String TEXT_328 = " && ";
+	protected final String TEXT_329 = " != null)";
+	protected final String TEXT_330 = NL + "\t\t\treportMaxViolation(";
+	protected final String TEXT_331 = ", new ";
+	protected final String TEXT_332 = "(";
+	protected final String TEXT_333 = "), new ";
+	protected final String TEXT_334 = "(";
+	protected final String TEXT_335 = "__VALUE), ";
+	protected final String TEXT_336 = ", ";
+	protected final String TEXT_337 = ", ";
+	protected final String TEXT_338 = ");";
+	protected final String TEXT_339 = NL + "\t\t\treportMaxViolation(";
+	protected final String TEXT_340 = ", ";
+	protected final String TEXT_341 = ", ";
+	protected final String TEXT_342 = "__VALUE, ";
+	protected final String TEXT_343 = ", ";
+	protected final String TEXT_344 = ", ";
+	protected final String TEXT_345 = ");";
+	protected final String TEXT_346 = NL + "\t\treturn ";
+	protected final String TEXT_347 = ";";
+	protected final String TEXT_348 = NL + "\t\tint ";
+	protected final String TEXT_349 = " = ";
+	protected final String TEXT_350 = ".compareCalendar(";
+	protected final String TEXT_351 = ", ";
+	protected final String TEXT_352 = "__VALUE);" + NL + "\t\tboolean ";
+	protected final String TEXT_353 = " = ";
+	protected final String TEXT_354 = " == 0 || ";
+	protected final String TEXT_355 = " == -1;";
+	protected final String TEXT_356 = NL + "\t\tint ";
+	protected final String TEXT_357 = " = ";
+	protected final String TEXT_358 = ".compareDuration(";
+	protected final String TEXT_359 = ", ";
+	protected final String TEXT_360 = "__VALUE);" + NL + "\t\tboolean ";
+	protected final String TEXT_361 = " = ";
+	protected final String TEXT_362 = " == 0 || ";
+	protected final String TEXT_363 = " == -1;";
+	protected final String TEXT_364 = NL + "\t\tboolean ";
+	protected final String TEXT_365 = " = ";
+	protected final String TEXT_366 = ".compareTo(";
+	protected final String TEXT_367 = "__VALUE) ";
+	protected final String TEXT_368 = " 0;";
+	protected final String TEXT_369 = NL + "\t\tif (!";
+	protected final String TEXT_370 = " && ";
+	protected final String TEXT_371 = " != null)" + NL + "\t\t\treportMaxViolation(";
+	protected final String TEXT_372 = ", ";
+	protected final String TEXT_373 = ", ";
+	protected final String TEXT_374 = "__VALUE, ";
+	protected final String TEXT_375 = ", ";
+	protected final String TEXT_376 = ", ";
+	protected final String TEXT_377 = ");" + NL + "\t\treturn ";
+	protected final String TEXT_378 = ";";
+	protected final String TEXT_379 = NL + "\t\tint length = ";
+	protected final String TEXT_380 = ".";
+	protected final String TEXT_381 = ";" + NL + "\t\tboolean ";
+	protected final String TEXT_382 = " = length >= ";
+	protected final String TEXT_383 = ";" + NL + "\t\tif (!";
+	protected final String TEXT_384 = " && ";
+	protected final String TEXT_385 = " != null)" + NL + "\t\t\treportMinLengthViolation(";
+	protected final String TEXT_386 = ", ";
+	protected final String TEXT_387 = ", length, ";
+	protected final String TEXT_388 = ", ";
+	protected final String TEXT_389 = ", ";
+	protected final String TEXT_390 = ");" + NL + "\t\treturn ";
+	protected final String TEXT_391 = ";";
+	protected final String TEXT_392 = NL + "\t\tint length = ";
+	protected final String TEXT_393 = ".";
+	protected final String TEXT_394 = ";" + NL + "\t\tboolean ";
+	protected final String TEXT_395 = " = length <= ";
+	protected final String TEXT_396 = ";" + NL + "\t\tif (!";
+	protected final String TEXT_397 = " && ";
+	protected final String TEXT_398 = " != null)" + NL + "\t\t\treportMaxLengthViolation(";
+	protected final String TEXT_399 = ", ";
+	protected final String TEXT_400 = ", length, ";
+	protected final String TEXT_401 = ", ";
+	protected final String TEXT_402 = ", ";
+	protected final String TEXT_403 = ");" + NL + "\t\treturn ";
+	protected final String TEXT_404 = ";";
+	protected final String TEXT_405 = NL + "\t\tboolean ";
+	protected final String TEXT_406 = " = ";
+	protected final String TEXT_407 = " > ";
+	protected final String TEXT_408 = "__LOWER_BOUND && ";
+	protected final String TEXT_409 = " < ";
+	protected final String TEXT_410 = "__UPPER_BOUND;" + NL + "\t\tif (!";
+	protected final String TEXT_411 = " && ";
+	protected final String TEXT_412 = " != null)";
+	protected final String TEXT_413 = NL + "\t\t\treportTotalDigitsViolation(";
+	protected final String TEXT_414 = ", new ";
+	protected final String TEXT_415 = "(";
+	protected final String TEXT_416 = "), ";
+	protected final String TEXT_417 = ", ";
+	protected final String TEXT_418 = ", ";
+	protected final String TEXT_419 = ");";
+	protected final String TEXT_420 = NL + "\t\t\treportTotalDigitsViolation(";
+	protected final String TEXT_421 = ", ";
+	protected final String TEXT_422 = ", ";
+	protected final String TEXT_423 = ", ";
+	protected final String TEXT_424 = ", ";
+	protected final String TEXT_425 = ");";
+	protected final String TEXT_426 = NL + "\t\tboolean ";
+	protected final String TEXT_427 = " = ";
+	protected final String TEXT_428 = ".unscaledValue().abs().toString().length() <= ";
+	protected final String TEXT_429 = ";" + NL + "\t\tif (!";
+	protected final String TEXT_430 = " && ";
+	protected final String TEXT_431 = " != null)" + NL + "\t\t\treportTotalDigitsViolation(";
+	protected final String TEXT_432 = ", ";
+	protected final String TEXT_433 = ", ";
+	protected final String TEXT_434 = ", ";
+	protected final String TEXT_435 = ", ";
+	protected final String TEXT_436 = ");";
+	protected final String TEXT_437 = NL + "\t\tboolean ";
+	protected final String TEXT_438 = " = ";
+	protected final String TEXT_439 = ".compareTo(";
+	protected final String TEXT_440 = "__LOWER_BOUND) > 0 && ";
+	protected final String TEXT_441 = ".compareTo(";
+	protected final String TEXT_442 = "__UPPER_BOUND) < 0;" + NL + "\t\tif (!";
+	protected final String TEXT_443 = " && ";
+	protected final String TEXT_444 = " != null)" + NL + "\t\t\treportTotalDigitsViolation(";
+	protected final String TEXT_445 = ", ";
+	protected final String TEXT_446 = ", ";
+	protected final String TEXT_447 = ", ";
+	protected final String TEXT_448 = ", ";
+	protected final String TEXT_449 = ");";
+	protected final String TEXT_450 = NL + "\t\treturn ";
+	protected final String TEXT_451 = ";";
+	protected final String TEXT_452 = NL + "\t\tboolean ";
+	protected final String TEXT_453 = " = ";
+	protected final String TEXT_454 = ".scale() <= ";
+	protected final String TEXT_455 = ";" + NL + "\t\tif (!";
+	protected final String TEXT_456 = " && ";
+	protected final String TEXT_457 = " != null)" + NL + "\t\t\treportFractionDigitsViolation(";
+	protected final String TEXT_458 = ", ";
+	protected final String TEXT_459 = ", ";
+	protected final String TEXT_460 = ", ";
+	protected final String TEXT_461 = ", ";
+	protected final String TEXT_462 = ");" + NL + "\t\treturn ";
+	protected final String TEXT_463 = ";";
+	protected final String TEXT_464 = NL + "\t\t// TODO override the constraint, if desired" + NL
+			+ "\t\t// -> uncomment the scaffolding" + NL
+			+ "\t\t// -> specify the condition that violates the constraint" + NL
+			+ "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL
+			+ "\t\t{" + NL + "\t\t\tif (";
+	protected final String TEXT_465 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_466 = ".add";
+	protected final String TEXT_467 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t(";
+	protected final String TEXT_468 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL
+			+ "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\",";
+	protected final String TEXT_469 = NL + "\t\t\t\t\t\t new Object[] { \"";
+	protected final String TEXT_470 = "\", getValueLabel(";
+	protected final String TEXT_471 = ", ";
+	protected final String TEXT_472 = ", ";
+	protected final String TEXT_473 = ") },";
+	protected final String TEXT_474 = NL + "\t\t\t\t\t\t new Object[] { ";
+	protected final String TEXT_475 = " }," + NL + "\t\t\t\t\t\t context));";
+	protected final String TEXT_476 = NL + "\t\t\t\t\t(new ";
+	protected final String TEXT_477 = NL + "\t\t\t\t\t\t(";
+	protected final String TEXT_478 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL
+			+ "\t\t\t\t\t\t ";
+	protected final String TEXT_479 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \"";
+	protected final String TEXT_480 = "\", getValueLabel(";
+	protected final String TEXT_481 = ", ";
+	protected final String TEXT_482 = ", ";
+	protected final String TEXT_483 = ") }),";
+	protected final String TEXT_484 = NL + "\t\t\t\t\t\t new Object[] { ";
+	protected final String TEXT_485 = " }));";
+	protected final String TEXT_486 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn ";
+	protected final String TEXT_487 = "validate";
+	protected final String TEXT_488 = "_";
+	protected final String TEXT_489 = "(";
+	protected final String TEXT_490 = ", ";
+	protected final String TEXT_491 = ", ";
+	protected final String TEXT_492 = ");";
+	protected final String TEXT_493 = NL + "\t\treturn" + NL + "\t\t\tvalidate" + NL + "\t\t\t\t(";
+	protected final String TEXT_494 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_495 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_496 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_497 = "," + NL + "\t\t\t\t \"";
+	protected final String TEXT_498 = "\",";
+	protected final String TEXT_499 = NL + "\t\t\t\t \"";
+	protected final String TEXT_500 = "\",";
+	protected final String TEXT_501 = NL + "\t\t\t\t ";
+	protected final String TEXT_502 = "__";
+	protected final String TEXT_503 = "__EEXPRESSION," + NL + "\t\t\t\t ";
+	protected final String TEXT_504 = ".ERROR," + NL + "\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t 0);";
+	protected final String TEXT_505 = NL + "\t\t// TODO implement the constraint" + NL
+			+ "\t\t// -> specify the condition that violates the constraint" + NL
+			+ "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL
+			+ "\t\t{" + NL + "\t\t\tif (";
+	protected final String TEXT_506 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_507 = ".add";
+	protected final String TEXT_508 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t(";
+	protected final String TEXT_509 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL
+			+ "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\",";
+	protected final String TEXT_510 = NL + "\t\t\t\t\t\t new Object[] { \"";
+	protected final String TEXT_511 = "\", getValueLabel(";
+	protected final String TEXT_512 = ", ";
+	protected final String TEXT_513 = ", ";
+	protected final String TEXT_514 = ") },";
+	protected final String TEXT_515 = NL + "\t\t\t\t\t\t new Object[] { ";
+	protected final String TEXT_516 = " }," + NL + "\t\t\t\t\t\t context));";
+	protected final String TEXT_517 = NL + "\t\t\t\t\t(new ";
+	protected final String TEXT_518 = NL + "\t\t\t\t\t\t(";
+	protected final String TEXT_519 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL
+			+ "\t\t\t\t\t\t ";
+	protected final String TEXT_520 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \"";
+	protected final String TEXT_521 = "\", getValueLabel(";
+	protected final String TEXT_522 = ", ";
+	protected final String TEXT_523 = ", ";
+	protected final String TEXT_524 = ") }),";
+	protected final String TEXT_525 = NL + "\t\t\t\t\t\t new Object[] { ";
+	protected final String TEXT_526 = " }));";
+	protected final String TEXT_527 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL
+			+ "\t\treturn true;";
+	protected final String TEXT_528 = NL + "\t\treturn ";
+	protected final String TEXT_529 = ".";
+	protected final String TEXT_530 = "(";
+	protected final String TEXT_531 = ", ";
+	protected final String TEXT_532 = ");";
+	protected final String TEXT_533 = NL + "\t\t// TODO override the constraint, if desired" + NL
+			+ "\t\t// -> uncomment the scaffolding" + NL
+			+ "\t\t// -> specify the condition that violates the constraint" + NL
+			+ "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL
+			+ "\t\t{" + NL + "\t\t\tif (";
+	protected final String TEXT_534 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_535 = ".add";
+	protected final String TEXT_536 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t(";
+	protected final String TEXT_537 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL
+			+ "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\",";
+	protected final String TEXT_538 = NL + "\t\t\t\t\t\t new Object[] { \"";
+	protected final String TEXT_539 = "\", getObjectLabel(";
+	protected final String TEXT_540 = ", ";
+	protected final String TEXT_541 = ") },";
+	protected final String TEXT_542 = NL + "\t\t\t\t\t\t new Object[] { ";
+	protected final String TEXT_543 = " }," + NL + "\t\t\t\t\t\t context));";
+	protected final String TEXT_544 = NL + "\t\t\t\t\t(new ";
+	protected final String TEXT_545 = NL + "\t\t\t\t\t\t(";
+	protected final String TEXT_546 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL
+			+ "\t\t\t\t\t\t ";
+	protected final String TEXT_547 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \"";
+	protected final String TEXT_548 = "\", getObjectLabel(";
+	protected final String TEXT_549 = ", ";
+	protected final String TEXT_550 = ") }),";
+	protected final String TEXT_551 = NL + "\t\t\t\t\t\t new Object[] { ";
+	protected final String TEXT_552 = " }));";
+	protected final String TEXT_553 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn ";
+	protected final String TEXT_554 = "validate";
+	protected final String TEXT_555 = "_";
+	protected final String TEXT_556 = "(";
+	protected final String TEXT_557 = ", ";
+	protected final String TEXT_558 = ", ";
+	protected final String TEXT_559 = ");";
+	protected final String TEXT_560 = NL + "\t\treturn" + NL + "\t\t\tvalidate" + NL + "\t\t\t\t(";
+	protected final String TEXT_561 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_562 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_563 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_564 = "," + NL + "\t\t\t\t \"";
+	protected final String TEXT_565 = "\",";
+	protected final String TEXT_566 = NL + "\t\t\t\t \"";
+	protected final String TEXT_567 = "\",";
+	protected final String TEXT_568 = NL + "\t\t\t\t ";
+	protected final String TEXT_569 = "__";
+	protected final String TEXT_570 = "__EEXPRESSION," + NL + "\t\t\t\t ";
+	protected final String TEXT_571 = ".ERROR," + NL + "\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t 0);";
+	protected final String TEXT_572 = NL + "\t\t// TODO implement the constraint" + NL
+			+ "\t\t// -> specify the condition that violates the constraint" + NL
+			+ "\t\t// -> verify the diagnostic details, including severity, code, and message" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL
+			+ "\t\t{" + NL + "\t\t\tif (";
+	protected final String TEXT_573 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_574 = ".add";
+	protected final String TEXT_575 = NL + "\t\t\t\t\t(createDiagnostic" + NL + "\t\t\t\t\t\t(";
+	protected final String TEXT_576 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL
+			+ "\t\t\t\t\t\t \"_UI_GenericConstraint_diagnostic\",";
+	protected final String TEXT_577 = NL + "\t\t\t\t\t\t new Object[] { \"";
+	protected final String TEXT_578 = "\", getObjectLabel(";
+	protected final String TEXT_579 = ", ";
+	protected final String TEXT_580 = ") },";
+	protected final String TEXT_581 = NL + "\t\t\t\t\t\t new Object[] { ";
+	protected final String TEXT_582 = " }," + NL + "\t\t\t\t\t\t context));";
+	protected final String TEXT_583 = NL + "\t\t\t\t\t(new ";
+	protected final String TEXT_584 = NL + "\t\t\t\t\t\t(";
+	protected final String TEXT_585 = ".ERROR," + NL + "\t\t\t\t\t\t DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t 0," + NL
+			+ "\t\t\t\t\t\t ";
+	protected final String TEXT_586 = ".INSTANCE.getString(\"_UI_GenericConstraint_diagnostic\", new Object[] { \"";
+	protected final String TEXT_587 = "\", getObjectLabel(";
+	protected final String TEXT_588 = ", ";
+	protected final String TEXT_589 = ") }),";
+	protected final String TEXT_590 = NL + "\t\t\t\t\t\t new Object[] { ";
+	protected final String TEXT_591 = " }));";
+	protected final String TEXT_592 = NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL
+			+ "\t\treturn true;";
+	protected final String TEXT_593 = NL + "\t}" + NL;
+	protected final String TEXT_594 = NL + "\t/**" + NL
+			+ "\t * Returns the resource locator that will be used to fetch messages for this validator's diagnostics."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_595 = NL + "\t@Override";
+	protected final String TEXT_596 = NL + "\tpublic ";
+	protected final String TEXT_597 = " getResourceLocator()" + NL + "\t{";
+	protected final String TEXT_598 = NL + "\t\treturn ";
+	protected final String TEXT_599 = ".INSTANCE;";
+	protected final String TEXT_600 = NL + "\t\t// TODO" + NL
+			+ "\t\t// Specialize this to return a resource locator for messages specific to this validator." + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\treturn super.getResourceLocator();";
+	protected final String TEXT_601 = NL + "\t}" + NL;
+	protected final String TEXT_602 = NL;
+	protected final String TEXT_603 = NL + "} //";
+	protected final String TEXT_604 = NL;
+	protected final String TEXT_605 = NL;
+	protected final String TEXT_606 = NL;
+
+	public ValidatorClass() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_605);
+		stringBuffer.append(TEXT_606);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getModelDirectory();
+		packageName = genPackage.getUtilitiesPackageName();
+		className = genPackage.getValidatorClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2002-2013 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) argument;
+		GenModel genModel = genPackage.getGenModel();
+		final String singleWildcard = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50 ? "<?>" : "";
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getUtilitiesPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.addImport("java.util.Map");
+		final String _Map = genModel.useGenerics() ? "Map<" + genModel.getImportedName("java.lang.Object") + ", "
+				+ genModel.getImportedName("java.lang.Object") + ">" : "Map";
+		final String objectArgument = genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.Object") + ">"
+				: "";
+		genModel.addImport("org.eclipse.emf.common.util.DiagnosticChain");
+		genModel.addImport("org.eclipse.emf.ecore.EPackage");
+		if (!genPackage.hasJavaLangConflict()
+				&& !genPackage.getUtilitiesPackageName().equals(genPackage.getInterfacePackageName()))
+			genModel.addImport(genPackage.getInterfacePackageName() + ".*");
+		genModel.markImportLocation(stringBuffer);
+		genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.Descriptor");
+		genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.Registry");
+		genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider");
+		genModel.addPseudoImport("org.eclipse.emf.ecore.EValidator.PatternMatcher");
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genPackage.getValidatorClassName());
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));
+		stringBuffer.append(TEXT_7);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_11);
+		}
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(genPackage.getValidatorClassName());
+		stringBuffer.append(TEXT_13);
+		stringBuffer.append(genPackage.getValidatorClassName());
+		stringBuffer.append(TEXT_14);
+		stringBuffer.append(genPackage.getInterfacePackageName());
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_16);
+		int count = 0;
+		for (GenClass genClass : genPackage.getGenClasses()) {
+			for (GenOperation genOperation : genClass.getInvariantOperations()) {
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(genOperation.getFormattedName());
+				stringBuffer.append(TEXT_18);
+				stringBuffer.append(genClass.getFormattedName());
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(genClass.getOperationID(genOperation));
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(++count);
+				stringBuffer.append(TEXT_21);
+			}
+		}
+		stringBuffer.append(TEXT_22);
+		stringBuffer.append(count);
+		stringBuffer.append(TEXT_23);
+		for (GenPackage baseGenPackage : genPackage.getAllValidatorBaseGenPackages()) {
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(baseGenPackage.getImportedValidatorClassName());
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genPackage.getValidatorPackageUniqueSafeName(baseGenPackage));
+			stringBuffer.append(TEXT_26);
+		}
+		if (genPackage.hasInvariantExpressions()) {
+			stringBuffer.append(TEXT_27);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+			stringBuffer.append(TEXT_29);
+			stringBuffer.append(_Map);
+			stringBuffer.append(TEXT_30);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_31);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+			stringBuffer.append(TEXT_32);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_33);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_34);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));
+			stringBuffer.append(TEXT_35);
+		}
+		stringBuffer.append(TEXT_36);
+		stringBuffer.append(genPackage.getValidatorClassName());
+		stringBuffer.append(TEXT_37);
+		for (GenPackage baseGenPackage : genPackage.getAllValidatorBaseGenPackages()) {
+			stringBuffer.append(TEXT_38);
+			stringBuffer.append(genPackage.getValidatorPackageUniqueSafeName(baseGenPackage));
+			stringBuffer.append(TEXT_39);
+			stringBuffer.append(baseGenPackage.getImportedValidatorClassName());
+			stringBuffer.append(TEXT_40);
+		}
+		stringBuffer.append(TEXT_41);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_42);
+		}
+		stringBuffer.append(TEXT_43);
+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+		stringBuffer.append(TEXT_44);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_45);
+		}
+		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+			if (genClassifier.isUncheckedCast()) {
+				stringBuffer.append(TEXT_46);
+				break;
+			}
+		}
+		stringBuffer.append(TEXT_47);
+		stringBuffer.append(_Map);
+		stringBuffer.append(TEXT_48);
+		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+			stringBuffer.append(TEXT_49);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_50);
+			stringBuffer.append(genPackage.getClassifierID(genClassifier));
+			stringBuffer.append(TEXT_51);
+			if (genClassifier instanceof GenDataType) {
+				GenDataType genDataType = (GenDataType) genClassifier;
+				if (genDataType.isPrimitiveType()) {
+					if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+						stringBuffer.append(TEXT_52);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_53);
+						stringBuffer.append(genDataType.getObjectInstanceClassName());
+						stringBuffer.append(TEXT_54);
+						stringBuffer.append(genDataType.getPrimitiveValueFunction());
+						stringBuffer.append(TEXT_55);
+					} else {
+						stringBuffer.append(TEXT_56);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_57);
+						stringBuffer.append(genDataType.getObjectInstanceClassName());
+						stringBuffer.append(TEXT_58);
+					}
+				} else if (genDataType.isObjectType()) {
+					stringBuffer.append(TEXT_59);
+					stringBuffer.append(genDataType.getName());
+					stringBuffer.append(TEXT_60);
+				} else {
+					stringBuffer.append(TEXT_61);
+					stringBuffer.append(genDataType.getName());
+					stringBuffer.append(TEXT_62);
+					stringBuffer.append(genDataType.getObjectType().getImportedWildcardInstanceClassName());
+					stringBuffer.append(TEXT_63);
+				}
+			} else {
+				GenClass genClass = (GenClass) genClassifier;
+				stringBuffer.append(TEXT_64);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_65);
+				stringBuffer.append(genClass.getImportedWildcardInstanceClassName());
+				stringBuffer.append(TEXT_66);
+			}
+		}
+		stringBuffer.append(TEXT_67);
+		for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
+			String result = "result".equals(genClassifier.getSafeUncapName()) ? "theResult" : "result";
+			String diagnostics = "diagnostics".equals(genClassifier.getSafeUncapName()) ? "theDiagnostics"
+					: "diagnostics";
+			String item = "item".equals(genClassifier.getSafeUncapName()) ? "theItem" : "item";
+			String context = "context".equals(genClassifier.getSafeUncapName()) ? "theContext" : "context";
+			stringBuffer.append(TEXT_68);
+			stringBuffer.append(genClassifier.getName());
+			stringBuffer.append(TEXT_69);
+			stringBuffer.append(genClassifier.getImportedWildcardInstanceClassName());
+			stringBuffer.append(TEXT_70);
+			stringBuffer.append(genClassifier.getSafeUncapName());
+			stringBuffer.append(TEXT_71);
+			stringBuffer.append(diagnostics);
+			stringBuffer.append(TEXT_72);
+			stringBuffer.append(_Map);
+			stringBuffer.append(TEXT_73);
+			stringBuffer.append(context);
+			stringBuffer.append(TEXT_74);
+			if (genClassifier.getAllGenConstraints().isEmpty()) {
+				stringBuffer.append(TEXT_75);
+			} else if (genClassifier.hasOnlyDefaultConstraints()) {
+				stringBuffer.append(TEXT_76);
+				if (!((GenClass) genClassifier).isEObjectExtension()) {
+					stringBuffer.append(TEXT_77);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+					stringBuffer.append(TEXT_78);
+				}
+				stringBuffer.append(genClassifier.getSafeUncapName());
+				stringBuffer.append(TEXT_79);
+				stringBuffer.append(diagnostics);
+				stringBuffer.append(TEXT_80);
+				stringBuffer.append(context);
+				stringBuffer.append(TEXT_81);
+			} else {
+				boolean first = true;
+				for (String constraint : genClassifier.getAllGenConstraints()) {
+					GenClassifier constraintImplementor = genClassifier.getConstraintImplementor(constraint);
+					String delegate = constraintImplementor == null
+							|| constraintImplementor.getGenPackage() == genPackage ? ""
+									: genPackage.getValidatorPackageUniqueSafeName(
+											constraintImplementor.getGenPackage()) + "Validator.";
+					String cast = constraintImplementor == null && genClassifier instanceof GenClass
+							&& !((GenClass) genClassifier).isEObjectExtension()
+									? "(" + genModel.getImportedName("org.eclipse.emf.ecore.EObject") + ")" : "";
+					String accessor = constraintImplementor != null && genClassifier instanceof GenDataType
+							&& !((GenDataType) genClassifier).isPrimitiveType()
+							&& ((GenDataType) constraintImplementor).isPrimitiveType()
+							&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50
+									? "." + ((GenDataType) constraintImplementor).getPrimitiveValueFunction() + "()"
+									: "";
+					if ("NoCircularContainment".equals(constraint)) {
+						stringBuffer.append(TEXT_82);
+						if (!((GenClass) genClassifier).isEObjectExtension()) {
+							stringBuffer.append(TEXT_83);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
+							stringBuffer.append(TEXT_84);
+						}
+						stringBuffer.append(genClassifier.getSafeUncapName());
+						stringBuffer.append(TEXT_85);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_86);
+						stringBuffer.append(context);
+						stringBuffer.append(TEXT_87);
+					} else if (first) {
+						first = false;
+						stringBuffer.append(TEXT_88);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_89);
+						stringBuffer.append(delegate);
+						stringBuffer.append(TEXT_90);
+						stringBuffer.append(constraintImplementor == null ? "" : constraintImplementor.getName());
+						stringBuffer.append(TEXT_91);
+						stringBuffer.append(constraint);
+						stringBuffer.append(TEXT_92);
+						stringBuffer.append(cast);
+						stringBuffer.append(genClassifier.getSafeUncapName());
+						stringBuffer.append(accessor);
+						stringBuffer.append(TEXT_93);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_94);
+						stringBuffer.append(context);
+						stringBuffer.append(TEXT_95);
+					} else {
+						stringBuffer.append(TEXT_96);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_97);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_98);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_99);
+						stringBuffer.append(delegate);
+						stringBuffer.append(TEXT_100);
+						stringBuffer.append(constraintImplementor == null ? "" : constraintImplementor.getName());
+						stringBuffer.append(TEXT_101);
+						stringBuffer.append(constraint);
+						stringBuffer.append(TEXT_102);
+						stringBuffer.append(cast);
+						stringBuffer.append(genClassifier.getSafeUncapName());
+						stringBuffer.append(accessor);
+						stringBuffer.append(TEXT_103);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_104);
+						stringBuffer.append(context);
+						stringBuffer.append(TEXT_105);
+					}
+				}
+				stringBuffer.append(TEXT_106);
+				stringBuffer.append(result);
+				stringBuffer.append(TEXT_107);
+			}
+			stringBuffer.append(TEXT_108);
+			for (String constraint : genClassifier.getGenConstraints()) {
+				GenClassifier constraintDelegate = genClassifier.getConstraintDelegate(constraint);
+				String constant = genClassifier.getClassifierID() + "__"
+						+ CodeGenUtil.format(constraint, '_', null, false, false)
+								.toUpperCase(genClassifier.getGenModel().getLocale());
+				String delegate = constraintDelegate == null || constraintDelegate.getGenPackage() == genPackage ? ""
+						: genPackage.getValidatorPackageUniqueSafeName(constraintDelegate.getGenPackage())
+								+ "Validator.";
+				String cast = constraintDelegate == null && genClassifier instanceof GenClass
+						&& !((GenClass) genClassifier).isEObjectExtension()
+								? "(" + genModel.getImportedName("org.eclipse.emf.ecore.EObject") + ")" : "";
+				String accessor = constraintDelegate != null && genClassifier instanceof GenDataType
+						&& !((GenDataType) genClassifier).isPrimitiveType()
+						&& ((GenDataType) constraintDelegate).isPrimitiveType()
+						&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50
+								? "." + ((GenDataType) constraintDelegate).getPrimitiveValueFunction() + "()" : "";
+				if (genClassifier instanceof GenDataType) {
+					GenDataType genDataType = (GenDataType) genClassifier;
+					if (constraint.equals("Min") && genDataType.getMinLiteral() != null) {
+						stringBuffer.append(TEXT_109);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_110);
+						stringBuffer.append(constraint);
+						stringBuffer.append(TEXT_111);
+						stringBuffer.append(genDataType.getImportedInstanceClassName());
+						stringBuffer.append(TEXT_112);
+						stringBuffer.append(constant);
+						stringBuffer.append(TEXT_113);
+						stringBuffer.append(genDataType.getStaticValue(genDataType.getMinLiteral()));
+						stringBuffer.append(TEXT_114);
+					} else if (constraint.equals("Max") && genDataType.getMaxLiteral() != null) {
+						stringBuffer.append(TEXT_115);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_116);
+						stringBuffer.append(constraint);
+						stringBuffer.append(TEXT_117);
+						stringBuffer.append(genDataType.getImportedInstanceClassName());
+						stringBuffer.append(TEXT_118);
+						stringBuffer.append(constant);
+						stringBuffer.append(TEXT_119);
+						stringBuffer.append(genDataType.getStaticValue(genDataType.getMaxLiteral()));
+						stringBuffer.append(TEXT_120);
+					} else if (constraint.equals("TotalDigits") && genDataType.getTotalDigits() != -1
+							&& !"java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {
+						String value = "1";
+						for (int digitCount = genDataType.getTotalDigits(); digitCount > 0; --digitCount)
+							value += "0";
+						stringBuffer.append(TEXT_121);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_122);
+						stringBuffer.append(constraint);
+						stringBuffer.append(TEXT_123);
+						stringBuffer.append(genDataType.getImportedInstanceClassName());
+						stringBuffer.append(TEXT_124);
+						stringBuffer.append(constant);
+						stringBuffer.append(TEXT_125);
+						stringBuffer.append(genDataType.getStaticValue(value));
+						stringBuffer.append(TEXT_126);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_127);
+						stringBuffer.append(constraint);
+						stringBuffer.append(TEXT_128);
+						stringBuffer.append(genDataType.getImportedInstanceClassName());
+						stringBuffer.append(TEXT_129);
+						stringBuffer.append(constant);
+						stringBuffer.append(TEXT_130);
+						stringBuffer.append(genDataType.getStaticValue("-" + value));
+						stringBuffer.append(TEXT_131);
+					} else if (constraint.equals("Pattern") && !genDataType.getPatterns().isEmpty()) {
+						stringBuffer.append(TEXT_132);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_133);
+						stringBuffer.append(constraint);
+						stringBuffer.append(TEXT_134);
+						stringBuffer.append(constant);
+						stringBuffer.append(TEXT_135);
+						for (Iterator<List<String>> k = genDataType.getPatterns().iterator(); k.hasNext();) {
+							List<String> patternList = k.next();
+							stringBuffer.append(TEXT_136);
+							for (Iterator<String> p = patternList.iterator(); p.hasNext();) {
+								String pattern = p.next();
+								stringBuffer.append(TEXT_137);
+								stringBuffer.append(
+										genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));
+								stringBuffer.append(TEXT_138);
+								stringBuffer.append(pattern);
+								stringBuffer.append(TEXT_139);
+								stringBuffer.append(p.hasNext() ? "," : "");
+							}
+							stringBuffer.append(TEXT_140);
+							stringBuffer.append(k.hasNext() ? "," : "");
+						}
+						stringBuffer.append(TEXT_141);
+					} else if (constraint.equals("Enumeration") && !genDataType.getEnumerationLiterals().isEmpty()) {
+						stringBuffer.append(TEXT_142);
+						stringBuffer.append(genDataType.getName());
+						stringBuffer.append(TEXT_143);
+						stringBuffer.append(constraint);
+						stringBuffer.append(TEXT_144);
+						if (genDataType.isUncheckedCast()) {
+							stringBuffer.append(TEXT_145);
+						}
+						stringBuffer.append(TEXT_146);
+						stringBuffer.append(genModel.getImportedName("java.util.Collection"));
+						stringBuffer.append(objectArgument);
+						stringBuffer.append(TEXT_147);
+						stringBuffer.append(constant);
+						stringBuffer.append(TEXT_148);
+						for (Iterator<String> k = genDataType.getEnumerationLiterals().iterator(); k.hasNext();) {
+							String literal = k.next();
+							stringBuffer.append(TEXT_149);
+							if (genDataType.isPrimitiveType()
+									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_150);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_151);
+							}
+							stringBuffer.append(genDataType.getStaticValue(literal, false));
+							if (genDataType.isPrimitiveType()
+									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_152);
+							}
+							stringBuffer.append(k.hasNext() ? "," : "");
+						}
+						stringBuffer.append(TEXT_153);
+					}
+				}
+				if (genClassifier.hasConstraintExpression(constraint)) {
+					stringBuffer.append(TEXT_154);
+					stringBuffer.append(constraint);
+					stringBuffer.append(TEXT_155);
+					stringBuffer.append(genClassifier.getFormattedName());
+					stringBuffer.append(TEXT_156);
+					stringBuffer.append(genModel.getImportedName("java.lang.String"));
+					stringBuffer.append(TEXT_157);
+					stringBuffer.append(genClassifier.getClassifierID());
+					stringBuffer.append(TEXT_158);
+					stringBuffer.append(CodeGenUtil.upperName(constraint));
+					stringBuffer.append(TEXT_159);
+					stringBuffer.append(genClassifier.getConstraintExpression(constraint, "\t\t"));
+					stringBuffer.append(TEXT_160);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(TEXT_161);
+				}
+				stringBuffer.append(TEXT_162);
+				stringBuffer.append(constraint);
+				stringBuffer.append(TEXT_163);
+				stringBuffer.append(genClassifier.getFormattedName());
+				stringBuffer.append(TEXT_164);
+				stringBuffer.append(genClassifier.getName());
+				stringBuffer.append(TEXT_165);
+				stringBuffer.append(constraint);
+				stringBuffer.append(TEXT_166);
+				stringBuffer.append(genClassifier.getImportedWildcardInstanceClassName());
+				stringBuffer.append(TEXT_167);
+				stringBuffer.append(genClassifier.getSafeUncapName());
+				stringBuffer.append(TEXT_168);
+				stringBuffer.append(diagnostics);
+				stringBuffer.append(TEXT_169);
+				stringBuffer.append(_Map);
+				stringBuffer.append(TEXT_170);
+				stringBuffer.append(context);
+				stringBuffer.append(TEXT_171);
+				if (genClassifier instanceof GenDataType) {
+					GenDataType genDataType = (GenDataType) genClassifier;
+					if (constraint.equals("ItemType") && genDataType.getItemType() != null) {
+						GenDataType itemType = genDataType.getItemType();
+						String itemDelegate = itemType.getGenPackage() == genPackage ? ""
+								: genPackage.getValidatorPackageUniqueSafeName(itemType.getGenPackage()) + "Validator.";
+						stringBuffer.append(TEXT_172);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_173);
+						stringBuffer.append(genModel.getImportedName("java.util.Iterator"));
+						stringBuffer.append(singleWildcard);
+						stringBuffer.append(TEXT_174);
+						stringBuffer.append(genClassifier.getSafeUncapName());
+						stringBuffer.append(TEXT_175);
+						if (itemType.getGenPackage().hasConstraints()) {
+							stringBuffer.append(TEXT_176);
+							stringBuffer.append(itemType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_177);
+							stringBuffer.append(itemDelegate);
+							stringBuffer.append(TEXT_178);
+							stringBuffer.append(itemType.getName());
+							stringBuffer.append(TEXT_179);
+							if (itemType.isPrimitiveType()
+									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_180);
+							}
+							if (!itemType.isObjectType()) {
+								stringBuffer.append(TEXT_181);
+								stringBuffer.append(itemType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_182);
+							}
+							stringBuffer.append(item);
+							if (itemType.isPrimitiveType()
+									&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_183);
+								stringBuffer.append(itemType.getPrimitiveValueFunction());
+								stringBuffer.append(TEXT_184);
+							}
+							stringBuffer.append(TEXT_185);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_186);
+							stringBuffer.append(context);
+							stringBuffer.append(TEXT_187);
+						} else {
+							stringBuffer.append(TEXT_188);
+							stringBuffer.append(itemType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_189);
+						}
+						stringBuffer.append(TEXT_190);
+						stringBuffer.append(itemType.getQualifiedClassifierAccessor());
+						stringBuffer.append(TEXT_191);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_192);
+						stringBuffer.append(context);
+						stringBuffer.append(TEXT_193);
+					} else if (constraint.equals("MemberTypes") && !genDataType.getMemberTypes().isEmpty()) {
+						stringBuffer.append(TEXT_194);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+						stringBuffer.append(TEXT_195);
+						for (ListIterator<GenDataType> k = genDataType.getMemberTypes().listIterator(); k.hasNext();) {
+							GenDataType memberType = k.next();
+							String memberDelegate = memberType.getGenPackage() == genPackage ? ""
+									: genPackage.getValidatorPackageUniqueSafeName(memberType.getGenPackage())
+											+ "Validator.";
+							if (genDataType.isPrimitiveType()) {
+								stringBuffer.append(TEXT_196);
+								stringBuffer.append(memberDelegate);
+								stringBuffer.append(TEXT_197);
+								stringBuffer.append(memberType.getName());
+								stringBuffer.append(TEXT_198);
+								stringBuffer.append(genClassifier.getSafeUncapName());
+								stringBuffer.append(TEXT_199);
+								stringBuffer.append(context);
+								stringBuffer.append(TEXT_200);
+							} else {
+								stringBuffer.append(TEXT_201);
+								stringBuffer.append(memberType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_202);
+								stringBuffer.append(genClassifier.getSafeUncapName());
+								stringBuffer.append(TEXT_203);
+								if (memberType.getGenPackage().hasConstraints()) {
+									stringBuffer.append(TEXT_204);
+									stringBuffer.append(memberDelegate);
+									stringBuffer.append(TEXT_205);
+									stringBuffer.append(memberType.getName());
+									stringBuffer.append(TEXT_206);
+									if (memberType.isPrimitiveType()
+											&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+										stringBuffer.append(TEXT_207);
+									}
+									if (!memberType.isObjectType() && !memberType.getQualifiedInstanceClassName()
+											.equals(genDataType.getQualifiedInstanceClassName())) {
+										stringBuffer.append(TEXT_208);
+										stringBuffer.append(memberType.getImportedWildcardObjectInstanceClassName());
+										stringBuffer.append(TEXT_209);
+									}
+									stringBuffer.append(genClassifier.getSafeUncapName());
+									if (memberType.isPrimitiveType()
+											&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+										stringBuffer.append(TEXT_210);
+										stringBuffer.append(memberType.getPrimitiveValueFunction());
+										stringBuffer.append(TEXT_211);
+									}
+									stringBuffer.append(TEXT_212);
+									stringBuffer.append(context);
+									stringBuffer.append(TEXT_213);
+								}
+								stringBuffer.append(TEXT_214);
+							}
+						}
+						if (genModel.useGenerics()) {
+							stringBuffer.append(TEXT_215);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+							stringBuffer.append(TEXT_216);
+						} else {
+							stringBuffer.append(TEXT_217);
+							stringBuffer.append(genModel.getImportedName("java.util.List"));
+							stringBuffer.append(TEXT_218);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+							stringBuffer.append(TEXT_219);
+						}
+						stringBuffer.append(TEXT_220);
+						for (ListIterator<GenDataType> k = genDataType.getMemberTypes().listIterator(); k.hasNext();) {
+							GenDataType memberType = k.next();
+							String memberDelegate = memberType.getGenPackage() == genPackage ? ""
+									: genPackage.getValidatorPackageUniqueSafeName(memberType.getGenPackage())
+											+ "Validator.";
+							if (genDataType.isPrimitiveType()) {
+								stringBuffer.append(TEXT_221);
+								stringBuffer.append(memberDelegate);
+								stringBuffer.append(TEXT_222);
+								stringBuffer.append(memberType.getName());
+								stringBuffer.append(TEXT_223);
+								stringBuffer.append(genClassifier.getSafeUncapName());
+								stringBuffer.append(TEXT_224);
+								stringBuffer.append(context);
+								stringBuffer.append(TEXT_225);
+							} else {
+								stringBuffer.append(TEXT_226);
+								stringBuffer.append(memberType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_227);
+								stringBuffer.append(genClassifier.getSafeUncapName());
+								stringBuffer.append(TEXT_228);
+								if (memberType.getGenPackage().hasConstraints()) {
+									stringBuffer.append(TEXT_229);
+									stringBuffer.append(memberDelegate);
+									stringBuffer.append(TEXT_230);
+									stringBuffer.append(memberType.getName());
+									stringBuffer.append(TEXT_231);
+									if (memberType.isPrimitiveType()
+											&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+										stringBuffer.append(TEXT_232);
+									}
+									if (!memberType.isObjectType() && !memberType.getQualifiedInstanceClassName()
+											.equals(genDataType.getQualifiedInstanceClassName())) {
+										stringBuffer.append(TEXT_233);
+										stringBuffer.append(memberType.getImportedWildcardObjectInstanceClassName());
+										stringBuffer.append(TEXT_234);
+									}
+									stringBuffer.append(genClassifier.getSafeUncapName());
+									if (memberType.isPrimitiveType()
+											&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+										stringBuffer.append(TEXT_235);
+										stringBuffer.append(memberType.getPrimitiveValueFunction());
+										stringBuffer.append(TEXT_236);
+									}
+									stringBuffer.append(TEXT_237);
+									stringBuffer.append(context);
+									stringBuffer.append(TEXT_238);
+								}
+								stringBuffer.append(TEXT_239);
+							}
+						}
+						stringBuffer.append(TEXT_240);
+					} else if (constraint.equals("Pattern") && !genDataType.getPatterns().isEmpty()) {
+						stringBuffer.append(TEXT_241);
+						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+						stringBuffer.append(TEXT_242);
+						if (genDataType.isPrimitiveType()
+								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+							stringBuffer.append(TEXT_243);
+							stringBuffer.append(genDataType.getObjectInstanceClassName());
+							stringBuffer.append(TEXT_244);
+						}
+						stringBuffer.append(genDataType.getSafeUncapName());
+						if (genDataType.isPrimitiveType()
+								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+							stringBuffer.append(TEXT_245);
+						}
+						stringBuffer.append(TEXT_246);
+						stringBuffer.append(constant);
+						stringBuffer.append(TEXT_247);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_248);
+						stringBuffer.append(context);
+						stringBuffer.append(TEXT_249);
+					} else if (constraint.equals("Enumeration") && !genDataType.getEnumerationLiterals().isEmpty()) {
+						String variable = genDataType.getSafeUncapName();
+						if (genDataType.isPrimitiveType()
+								&& genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+							variable = variable + "Object";
+							stringBuffer.append(TEXT_250);
+							stringBuffer.append(genDataType.getObjectInstanceClassName());
+							stringBuffer.append(TEXT_251);
+							stringBuffer.append(variable);
+							stringBuffer.append(TEXT_252);
+							stringBuffer.append(genDataType.getObjectInstanceClassName());
+							stringBuffer.append(TEXT_253);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_254);
+						}
+						stringBuffer.append(TEXT_255);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_256);
+						stringBuffer.append(constant);
+						stringBuffer.append(TEXT_257);
+						stringBuffer.append(variable);
+						stringBuffer.append(TEXT_258);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_259);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_260);
+						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+						stringBuffer.append(TEXT_261);
+						stringBuffer.append(variable);
+						stringBuffer.append(TEXT_262);
+						stringBuffer.append(constant);
+						stringBuffer.append(TEXT_263);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_264);
+						stringBuffer.append(context);
+						stringBuffer.append(TEXT_265);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_266);
+					} else if (constraint.equals("Min") && genDataType.getMinLiteral() != null) {
+						if (genDataType.isPrimitiveType()) {
+							stringBuffer.append(TEXT_267);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_268);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_269);
+							stringBuffer.append(genDataType.isMinInclusive() ? ">=" : ">");
+							stringBuffer.append(TEXT_270);
+							stringBuffer.append(constant);
+							stringBuffer.append(TEXT_271);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_272);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_273);
+							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_274);
+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_275);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_276);
+								stringBuffer.append(genDataType.getSafeUncapName());
+								stringBuffer.append(TEXT_277);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_278);
+								stringBuffer.append(constant);
+								stringBuffer.append(TEXT_279);
+								stringBuffer.append(genDataType.isMinInclusive() ? "true" : "false");
+								stringBuffer.append(TEXT_280);
+								stringBuffer.append(diagnostics);
+								stringBuffer.append(TEXT_281);
+								stringBuffer.append(context);
+								stringBuffer.append(TEXT_282);
+							} else {
+								stringBuffer.append(TEXT_283);
+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_284);
+								stringBuffer.append(genDataType.getSafeUncapName());
+								stringBuffer.append(TEXT_285);
+								stringBuffer.append(constant);
+								stringBuffer.append(TEXT_286);
+								stringBuffer.append(genDataType.isMinInclusive() ? "true" : "false");
+								stringBuffer.append(TEXT_287);
+								stringBuffer.append(diagnostics);
+								stringBuffer.append(TEXT_288);
+								stringBuffer.append(context);
+								stringBuffer.append(TEXT_289);
+							}
+							stringBuffer.append(TEXT_290);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_291);
+						} else {
+							String comparison = "comparison".equals(genClassifier.getSafeUncapName()) ? "theComparison"
+									: "comparison";
+							if (genDataType.isXMLCalendar()) {
+								stringBuffer.append(TEXT_292);
+								stringBuffer.append(comparison);
+								stringBuffer.append(TEXT_293);
+								stringBuffer.append(
+										genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));
+								stringBuffer.append(TEXT_294);
+								stringBuffer.append(genDataType.getSafeUncapName());
+								stringBuffer.append(TEXT_295);
+								stringBuffer.append(constant);
+								stringBuffer.append(TEXT_296);
+								stringBuffer.append(result);
+								stringBuffer.append(TEXT_297);
+								if (genDataType.isMinInclusive()) {
+									stringBuffer.append(comparison);
+									stringBuffer.append(TEXT_298);
+								}
+								stringBuffer.append(comparison);
+								stringBuffer.append(TEXT_299);
+							} else if (genDataType.isXMLDuration()) {
+								stringBuffer.append(TEXT_300);
+								stringBuffer.append(comparison);
+								stringBuffer.append(TEXT_301);
+								stringBuffer.append(
+										genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));
+								stringBuffer.append(TEXT_302);
+								stringBuffer.append(genDataType.getSafeUncapName());
+								stringBuffer.append(TEXT_303);
+								stringBuffer.append(constant);
+								stringBuffer.append(TEXT_304);
+								stringBuffer.append(result);
+								stringBuffer.append(TEXT_305);
+								if (genDataType.isMinInclusive()) {
+									stringBuffer.append(comparison);
+									stringBuffer.append(TEXT_306);
+								}
+								stringBuffer.append(comparison);
+								stringBuffer.append(TEXT_307);
+							} else {
+								stringBuffer.append(TEXT_308);
+								stringBuffer.append(result);
+								stringBuffer.append(TEXT_309);
+								stringBuffer.append(genDataType.getSafeUncapName());
+								stringBuffer.append(TEXT_310);
+								stringBuffer.append(constant);
+								stringBuffer.append(TEXT_311);
+								stringBuffer.append(genDataType.isMinInclusive() ? ">=" : ">");
+								stringBuffer.append(TEXT_312);
+							}
+							stringBuffer.append(TEXT_313);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_314);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_315);
+							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_316);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_317);
+							stringBuffer.append(constant);
+							stringBuffer.append(TEXT_318);
+							stringBuffer.append(genDataType.isMinInclusive() ? "true" : "false");
+							stringBuffer.append(TEXT_319);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_320);
+							stringBuffer.append(context);
+							stringBuffer.append(TEXT_321);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_322);
+						}
+					} else if (constraint.equals("Max") && genDataType.getMaxLiteral() != null) {
+						if (genDataType.isPrimitiveType()) {
+							stringBuffer.append(TEXT_323);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_324);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_325);
+							stringBuffer.append(genDataType.isMaxInclusive() ? "<=" : "<");
+							stringBuffer.append(TEXT_326);
+							stringBuffer.append(constant);
+							stringBuffer.append(TEXT_327);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_328);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_329);
+							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_330);
+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_331);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_332);
+								stringBuffer.append(genDataType.getSafeUncapName());
+								stringBuffer.append(TEXT_333);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_334);
+								stringBuffer.append(constant);
+								stringBuffer.append(TEXT_335);
+								stringBuffer.append(genDataType.isMaxInclusive() ? "true" : "false");
+								stringBuffer.append(TEXT_336);
+								stringBuffer.append(diagnostics);
+								stringBuffer.append(TEXT_337);
+								stringBuffer.append(context);
+								stringBuffer.append(TEXT_338);
+							} else {
+								stringBuffer.append(TEXT_339);
+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_340);
+								stringBuffer.append(genDataType.getSafeUncapName());
+								stringBuffer.append(TEXT_341);
+								stringBuffer.append(constant);
+								stringBuffer.append(TEXT_342);
+								stringBuffer.append(genDataType.isMaxInclusive() ? "true" : "false");
+								stringBuffer.append(TEXT_343);
+								stringBuffer.append(diagnostics);
+								stringBuffer.append(TEXT_344);
+								stringBuffer.append(context);
+								stringBuffer.append(TEXT_345);
+							}
+							stringBuffer.append(TEXT_346);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_347);
+						} else {
+							String comparison = "comparison".equals(genClassifier.getSafeUncapName()) ? "theComparison"
+									: "comparison";
+							if (genDataType.isXMLCalendar()) {
+								stringBuffer.append(TEXT_348);
+								stringBuffer.append(comparison);
+								stringBuffer.append(TEXT_349);
+								stringBuffer.append(
+										genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));
+								stringBuffer.append(TEXT_350);
+								stringBuffer.append(genDataType.getSafeUncapName());
+								stringBuffer.append(TEXT_351);
+								stringBuffer.append(constant);
+								stringBuffer.append(TEXT_352);
+								stringBuffer.append(result);
+								stringBuffer.append(TEXT_353);
+								if (genDataType.isMaxInclusive()) {
+									stringBuffer.append(comparison);
+									stringBuffer.append(TEXT_354);
+								}
+								stringBuffer.append(comparison);
+								stringBuffer.append(TEXT_355);
+							} else if (genDataType.isXMLDuration()) {
+								stringBuffer.append(TEXT_356);
+								stringBuffer.append(comparison);
+								stringBuffer.append(TEXT_357);
+								stringBuffer.append(
+										genModel.getImportedName("org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil"));
+								stringBuffer.append(TEXT_358);
+								stringBuffer.append(genDataType.getSafeUncapName());
+								stringBuffer.append(TEXT_359);
+								stringBuffer.append(constant);
+								stringBuffer.append(TEXT_360);
+								stringBuffer.append(result);
+								stringBuffer.append(TEXT_361);
+								if (genDataType.isMaxInclusive()) {
+									stringBuffer.append(comparison);
+									stringBuffer.append(TEXT_362);
+								}
+								stringBuffer.append(comparison);
+								stringBuffer.append(TEXT_363);
+							} else {
+								stringBuffer.append(TEXT_364);
+								stringBuffer.append(result);
+								stringBuffer.append(TEXT_365);
+								stringBuffer.append(genDataType.getSafeUncapName());
+								stringBuffer.append(TEXT_366);
+								stringBuffer.append(constant);
+								stringBuffer.append(TEXT_367);
+								stringBuffer.append(genDataType.isMaxInclusive() ? "<=" : "<");
+								stringBuffer.append(TEXT_368);
+							}
+							stringBuffer.append(TEXT_369);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_370);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_371);
+							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_372);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_373);
+							stringBuffer.append(constant);
+							stringBuffer.append(TEXT_374);
+							stringBuffer.append(genDataType.isMaxInclusive() ? "true" : "false");
+							stringBuffer.append(TEXT_375);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_376);
+							stringBuffer.append(context);
+							stringBuffer.append(TEXT_377);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_378);
+						}
+					} else if (constraint.equals("MinLength") && genDataType.getMinLength() != -1) {
+						stringBuffer.append(TEXT_379);
+						stringBuffer.append(genDataType.getSafeUncapName());
+						stringBuffer.append(TEXT_380);
+						stringBuffer.append(genDataType.getLengthAccessorFunction());
+						stringBuffer.append(TEXT_381);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_382);
+						stringBuffer.append(genDataType.getMinLength());
+						stringBuffer.append(TEXT_383);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_384);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_385);
+						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+						stringBuffer.append(TEXT_386);
+						stringBuffer.append(genDataType.getSafeUncapName());
+						stringBuffer.append(TEXT_387);
+						stringBuffer.append(genDataType.getMinLength());
+						stringBuffer.append(TEXT_388);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_389);
+						stringBuffer.append(context);
+						stringBuffer.append(TEXT_390);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_391);
+					} else if (constraint.equals("MaxLength") && genDataType.getMaxLength() != -1) {
+						stringBuffer.append(TEXT_392);
+						stringBuffer.append(genDataType.getSafeUncapName());
+						stringBuffer.append(TEXT_393);
+						stringBuffer.append(genDataType.getLengthAccessorFunction());
+						stringBuffer.append(TEXT_394);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_395);
+						stringBuffer.append(genDataType.getMaxLength());
+						stringBuffer.append(TEXT_396);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_397);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_398);
+						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+						stringBuffer.append(TEXT_399);
+						stringBuffer.append(genDataType.getSafeUncapName());
+						stringBuffer.append(TEXT_400);
+						stringBuffer.append(genDataType.getMaxLength());
+						stringBuffer.append(TEXT_401);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_402);
+						stringBuffer.append(context);
+						stringBuffer.append(TEXT_403);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_404);
+					} else if (constraint.equals("TotalDigits") && genDataType.getTotalDigits() != -1) {
+						if (genDataType.isPrimitiveType()) {
+							stringBuffer.append(TEXT_405);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_406);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_407);
+							stringBuffer.append(constant);
+							stringBuffer.append(TEXT_408);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_409);
+							stringBuffer.append(constant);
+							stringBuffer.append(TEXT_410);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_411);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_412);
+							if (genModel.getComplianceLevel().getValue() < GenJDKLevel.JDK50) {
+								stringBuffer.append(TEXT_413);
+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_414);
+								stringBuffer.append(genDataType.getObjectInstanceClassName());
+								stringBuffer.append(TEXT_415);
+								stringBuffer.append(genDataType.getSafeUncapName());
+								stringBuffer.append(TEXT_416);
+								stringBuffer.append(genDataType.getTotalDigits());
+								stringBuffer.append(TEXT_417);
+								stringBuffer.append(diagnostics);
+								stringBuffer.append(TEXT_418);
+								stringBuffer.append(context);
+								stringBuffer.append(TEXT_419);
+							} else {
+								stringBuffer.append(TEXT_420);
+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_421);
+								stringBuffer.append(genDataType.getSafeUncapName());
+								stringBuffer.append(TEXT_422);
+								stringBuffer.append(genDataType.getTotalDigits());
+								stringBuffer.append(TEXT_423);
+								stringBuffer.append(diagnostics);
+								stringBuffer.append(TEXT_424);
+								stringBuffer.append(context);
+								stringBuffer.append(TEXT_425);
+							}
+						} else if ("java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {
+							stringBuffer.append(TEXT_426);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_427);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_428);
+							stringBuffer.append(genDataType.getTotalDigits());
+							stringBuffer.append(TEXT_429);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_430);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_431);
+							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_432);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_433);
+							stringBuffer.append(genDataType.getTotalDigits());
+							stringBuffer.append(TEXT_434);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_435);
+							stringBuffer.append(context);
+							stringBuffer.append(TEXT_436);
+						} else {
+							stringBuffer.append(TEXT_437);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_438);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_439);
+							stringBuffer.append(constant);
+							stringBuffer.append(TEXT_440);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_441);
+							stringBuffer.append(constant);
+							stringBuffer.append(TEXT_442);
+							stringBuffer.append(result);
+							stringBuffer.append(TEXT_443);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_444);
+							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_445);
+							stringBuffer.append(genDataType.getSafeUncapName());
+							stringBuffer.append(TEXT_446);
+							stringBuffer.append(genDataType.getTotalDigits());
+							stringBuffer.append(TEXT_447);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_448);
+							stringBuffer.append(context);
+							stringBuffer.append(TEXT_449);
+						}
+						stringBuffer.append(TEXT_450);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_451);
+					} else if (constraint.equals("FractionDigits") && genDataType.getFractionDigits() != -1
+							&& "java.math.BigDecimal".equals(genDataType.getQualifiedInstanceClassName())) {
+						stringBuffer.append(TEXT_452);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_453);
+						stringBuffer.append(genDataType.getSafeUncapName());
+						stringBuffer.append(TEXT_454);
+						stringBuffer.append(genDataType.getFractionDigits());
+						stringBuffer.append(TEXT_455);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_456);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_457);
+						stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+						stringBuffer.append(TEXT_458);
+						stringBuffer.append(genDataType.getSafeUncapName());
+						stringBuffer.append(TEXT_459);
+						stringBuffer.append(genDataType.getFractionDigits());
+						stringBuffer.append(TEXT_460);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_461);
+						stringBuffer.append(context);
+						stringBuffer.append(TEXT_462);
+						stringBuffer.append(result);
+						stringBuffer.append(TEXT_463);
+					} else if (constraintDelegate != null) {
+						stringBuffer.append(TEXT_464);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_465);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_466);
+						if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+							stringBuffer.append(TEXT_467);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+							stringBuffer.append(TEXT_468);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(TEXT_469);
+							stringBuffer.append(constraint);
+							stringBuffer.append(TEXT_470);
+							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_471);
+							stringBuffer.append(genClassifier.getSafeUncapName());
+							stringBuffer.append(TEXT_472);
+							stringBuffer.append(context);
+							stringBuffer.append(TEXT_473);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(TEXT_474);
+							stringBuffer.append(genClassifier.getSafeUncapName());
+							stringBuffer.append(TEXT_475);
+						} else {
+							stringBuffer.append(TEXT_476);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+							stringBuffer.append(TEXT_477);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+							stringBuffer.append(TEXT_478);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+							stringBuffer.append(TEXT_479);
+							stringBuffer.append(constraint);
+							stringBuffer.append(TEXT_480);
+							stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_481);
+							stringBuffer.append(genClassifier.getSafeUncapName());
+							stringBuffer.append(TEXT_482);
+							stringBuffer.append(context);
+							stringBuffer.append(TEXT_483);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(genModel.getNonNLS(2));
+							stringBuffer.append(TEXT_484);
+							stringBuffer.append(genClassifier.getSafeUncapName());
+							stringBuffer.append(TEXT_485);
+						}
+						stringBuffer.append(TEXT_486);
+						stringBuffer.append(delegate);
+						stringBuffer.append(TEXT_487);
+						stringBuffer.append(constraintDelegate.getName());
+						stringBuffer.append(TEXT_488);
+						stringBuffer.append(constraint);
+						stringBuffer.append(TEXT_489);
+						stringBuffer.append(genClassifier.getSafeUncapName());
+						stringBuffer.append(accessor);
+						stringBuffer.append(TEXT_490);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_491);
+						stringBuffer.append(context);
+						stringBuffer.append(TEXT_492);
+					} else {
+						if (genClassifier.hasConstraintExpression(constraint)) {
+							stringBuffer.append(TEXT_493);
+							stringBuffer.append(genClassifier.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_494);
+							stringBuffer.append(genClassifier.getSafeUncapName());
+							stringBuffer.append(TEXT_495);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_496);
+							stringBuffer.append(context);
+							stringBuffer.append(TEXT_497);
+							stringBuffer.append(genClassifier.getValidationDelegate(constraint));
+							stringBuffer.append(TEXT_498);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(TEXT_499);
+							stringBuffer.append(constraint);
+							stringBuffer.append(TEXT_500);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(TEXT_501);
+							stringBuffer.append(genClassifier.getClassifierID());
+							stringBuffer.append(TEXT_502);
+							stringBuffer.append(CodeGenUtil.upperName(constraint));
+							stringBuffer.append(TEXT_503);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+							stringBuffer.append(TEXT_504);
+						} else {
+							stringBuffer.append(TEXT_505);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_506);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_507);
+							if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+								stringBuffer.append(TEXT_508);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+								stringBuffer.append(TEXT_509);
+								stringBuffer.append(genModel.getNonNLS());
+								stringBuffer.append(TEXT_510);
+								stringBuffer.append(constraint);
+								stringBuffer.append(TEXT_511);
+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_512);
+								stringBuffer.append(genClassifier.getSafeUncapName());
+								stringBuffer.append(TEXT_513);
+								stringBuffer.append(context);
+								stringBuffer.append(TEXT_514);
+								stringBuffer.append(genModel.getNonNLS());
+								stringBuffer.append(TEXT_515);
+								stringBuffer.append(genClassifier.getSafeUncapName());
+								stringBuffer.append(TEXT_516);
+							} else {
+								stringBuffer.append(TEXT_517);
+								stringBuffer.append(
+										genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+								stringBuffer.append(TEXT_518);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+								stringBuffer.append(TEXT_519);
+								stringBuffer
+										.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+								stringBuffer.append(TEXT_520);
+								stringBuffer.append(constraint);
+								stringBuffer.append(TEXT_521);
+								stringBuffer.append(genDataType.getQualifiedClassifierAccessor());
+								stringBuffer.append(TEXT_522);
+								stringBuffer.append(genClassifier.getSafeUncapName());
+								stringBuffer.append(TEXT_523);
+								stringBuffer.append(context);
+								stringBuffer.append(TEXT_524);
+								stringBuffer.append(genModel.getNonNLS());
+								stringBuffer.append(genModel.getNonNLS(2));
+								stringBuffer.append(TEXT_525);
+								stringBuffer.append(genClassifier.getSafeUncapName());
+								stringBuffer.append(TEXT_526);
+							}
+							stringBuffer.append(TEXT_527);
+						}
+					}
+				} else {
+					GenOperation genOperation = ((GenClass) genClassifier).getInvariantOperation(constraint);
+					if (genOperation != null) {
+						stringBuffer.append(TEXT_528);
+						stringBuffer.append(genClassifier.getSafeUncapName());
+						stringBuffer.append(TEXT_529);
+						stringBuffer.append(constraint);
+						stringBuffer.append(TEXT_530);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_531);
+						stringBuffer.append(context);
+						stringBuffer.append(TEXT_532);
+					} else if (constraintDelegate != null) {
+						stringBuffer.append(TEXT_533);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_534);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_535);
+						if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+							stringBuffer.append(TEXT_536);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+							stringBuffer.append(TEXT_537);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(TEXT_538);
+							stringBuffer.append(constraint);
+							stringBuffer.append(TEXT_539);
+							stringBuffer.append(genClassifier.getSafeUncapName());
+							stringBuffer.append(TEXT_540);
+							stringBuffer.append(context);
+							stringBuffer.append(TEXT_541);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(TEXT_542);
+							stringBuffer.append(genClassifier.getSafeUncapName());
+							stringBuffer.append(TEXT_543);
+						} else {
+							stringBuffer.append(TEXT_544);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+							stringBuffer.append(TEXT_545);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+							stringBuffer.append(TEXT_546);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+							stringBuffer.append(TEXT_547);
+							stringBuffer.append(constraint);
+							stringBuffer.append(TEXT_548);
+							stringBuffer.append(genClassifier.getSafeUncapName());
+							stringBuffer.append(TEXT_549);
+							stringBuffer.append(context);
+							stringBuffer.append(TEXT_550);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(genModel.getNonNLS(2));
+							stringBuffer.append(TEXT_551);
+							stringBuffer.append(genClassifier.getSafeUncapName());
+							stringBuffer.append(TEXT_552);
+						}
+						stringBuffer.append(TEXT_553);
+						stringBuffer.append(delegate);
+						stringBuffer.append(TEXT_554);
+						stringBuffer.append(constraintDelegate.getName());
+						stringBuffer.append(TEXT_555);
+						stringBuffer.append(constraint);
+						stringBuffer.append(TEXT_556);
+						stringBuffer.append(cast);
+						stringBuffer.append(genClassifier.getSafeUncapName());
+						stringBuffer.append(TEXT_557);
+						stringBuffer.append(diagnostics);
+						stringBuffer.append(TEXT_558);
+						stringBuffer.append(context);
+						stringBuffer.append(TEXT_559);
+					} else {
+						if (genClassifier.hasConstraintExpression(constraint)) {
+							stringBuffer.append(TEXT_560);
+							stringBuffer.append(genClassifier.getQualifiedClassifierAccessor());
+							stringBuffer.append(TEXT_561);
+							stringBuffer.append(genClassifier.getSafeUncapName());
+							stringBuffer.append(TEXT_562);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_563);
+							stringBuffer.append(context);
+							stringBuffer.append(TEXT_564);
+							stringBuffer.append(genClassifier.getValidationDelegate(constraint));
+							stringBuffer.append(TEXT_565);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(TEXT_566);
+							stringBuffer.append(constraint);
+							stringBuffer.append(TEXT_567);
+							stringBuffer.append(genModel.getNonNLS());
+							stringBuffer.append(TEXT_568);
+							stringBuffer.append(genClassifier.getClassifierID());
+							stringBuffer.append(TEXT_569);
+							stringBuffer.append(CodeGenUtil.upperName(constraint));
+							stringBuffer.append(TEXT_570);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+							stringBuffer.append(TEXT_571);
+						} else {
+							stringBuffer.append(TEXT_572);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_573);
+							stringBuffer.append(diagnostics);
+							stringBuffer.append(TEXT_574);
+							if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+								stringBuffer.append(TEXT_575);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+								stringBuffer.append(TEXT_576);
+								stringBuffer.append(genModel.getNonNLS());
+								stringBuffer.append(TEXT_577);
+								stringBuffer.append(constraint);
+								stringBuffer.append(TEXT_578);
+								stringBuffer.append(genClassifier.getSafeUncapName());
+								stringBuffer.append(TEXT_579);
+								stringBuffer.append(context);
+								stringBuffer.append(TEXT_580);
+								stringBuffer.append(genModel.getNonNLS());
+								stringBuffer.append(TEXT_581);
+								stringBuffer.append(genClassifier.getSafeUncapName());
+								stringBuffer.append(TEXT_582);
+							} else {
+								stringBuffer.append(TEXT_583);
+								stringBuffer.append(
+										genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+								stringBuffer.append(TEXT_584);
+								stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+								stringBuffer.append(TEXT_585);
+								stringBuffer
+										.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+								stringBuffer.append(TEXT_586);
+								stringBuffer.append(constraint);
+								stringBuffer.append(TEXT_587);
+								stringBuffer.append(genClassifier.getSafeUncapName());
+								stringBuffer.append(TEXT_588);
+								stringBuffer.append(context);
+								stringBuffer.append(TEXT_589);
+								stringBuffer.append(genModel.getNonNLS());
+								stringBuffer.append(genModel.getNonNLS(2));
+								stringBuffer.append(TEXT_590);
+								stringBuffer.append(genClassifier.getSafeUncapName());
+								stringBuffer.append(TEXT_591);
+							}
+							stringBuffer.append(TEXT_592);
+						}
+					}
+				}
+				stringBuffer.append(TEXT_593);
+			}
+		}
+		if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF24_VALUE) {
+			stringBuffer.append(TEXT_594);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_595);
+			}
+			stringBuffer.append(TEXT_596);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.ResourceLocator"));
+			stringBuffer.append(TEXT_597);
+			if (genModel.hasModelPluginClass()) {
+				stringBuffer.append(TEXT_598);
+				stringBuffer.append(genModel.getImportedName(genModel.getQualifiedModelPluginClassName()));
+				stringBuffer.append(TEXT_599);
+			} else {
+				stringBuffer.append(TEXT_600);
+			}
+			stringBuffer.append(TEXT_601);
+		}
+		stringBuffer.append(TEXT_602);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.ValidatorClass.ValidatorClass.insert" args="genPackage:genPackage,genModel:genModel,singleWildcard:singleWildcard,_Map:_Map,objectArgument:objectArgument,count:count"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("_Map", _Map);
+			callParameters.put("objectArgument", objectArgument);
+			callParameters.put("count", count);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_omcocbM-EeKd56X4hcZPSw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_603);
+		stringBuffer.append(genPackage.getValidatorClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_604);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.hasConstraints());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/XMLProcessorClass.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/XMLProcessorClass.java
index 93e27e4..2e86aa2 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/XMLProcessorClass.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/XMLProcessorClass.java
@@ -1,278 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class XMLProcessorClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized XMLProcessorClass create(String lineSeparator) {

-		nl = lineSeparator;

-		XMLProcessorClass result = new XMLProcessorClass();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL

-			+ " * This class contains helper methods to serialize and deserialize XML documents" + NL

-			+ " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL

-			+ "public class ";

-	protected final String TEXT_5 = " extends ";

-	protected final String TEXT_6 = NL + "{";

-	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_8 = " copyright = ";

-	protected final String TEXT_9 = ";";

-	protected final String TEXT_10 = NL;

-	protected final String TEXT_11 = NL + NL + "\t/**" + NL + "\t * Public constructor to instantiate the helper." + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_12 = "()" + NL + "\t{";

-	protected final String TEXT_13 = NL + "\t\tsuper(new ";

-	protected final String TEXT_14 = "(";

-	protected final String TEXT_15 = ".Registry.INSTANCE));" + NL + "\t\textendedMetaData.putPackage(null, ";

-	protected final String TEXT_16 = ".eINSTANCE);";

-	protected final String TEXT_17 = NL + "\t\tsuper((";

-	protected final String TEXT_18 = ".Registry.INSTANCE));" + NL + "\t\t";

-	protected final String TEXT_19 = ".eINSTANCE.eClass();";

-	protected final String TEXT_20 = NL + "\t}" + NL + "\t" + NL + "\t/**" + NL

-			+ "\t * Register for \"*\" and \"xml\" file extensions the ";

-	protected final String TEXT_21 = " factory." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_22 = NL + "\t@Override";

-	protected final String TEXT_23 = NL + "\tprotected Map";

-	protected final String TEXT_24 = "<";

-	protected final String TEXT_25 = ", ";

-	protected final String TEXT_26 = ".Factory>";

-	protected final String TEXT_27 = " getRegistrations()" + NL + "\t{" + NL + "\t\tif (registrations == null)" + NL

-			+ "\t\t{" + NL + "\t\t\tsuper.getRegistrations();" + NL + "\t\t\tregistrations.put(XML_EXTENSION, new ";

-	protected final String TEXT_28 = "());" + NL + "\t\t\tregistrations.put(STAR_EXTENSION, new ";

-	protected final String TEXT_29 = "());" + NL + "\t\t}" + NL + "\t\treturn registrations;" + NL + "\t}" + NL + ""

-			+ NL + "} //";

-	protected final String TEXT_30 = NL;

-	protected final String TEXT_31 = NL;

-	protected final String TEXT_32 = NL;

-

-	public XMLProcessorClass() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_31);

-		stringBuffer.append(TEXT_32);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getModelDirectory();

-		packageName = genPackage.getUtilitiesPackageName();

-		className = genPackage.getXMLProcessorClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,

-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2005-2006 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) argument;

-		GenModel genModel = genPackage.getGenModel();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getUtilitiesPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.getImportedName("java.util.Map");

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genPackage.getXMLProcessorClassName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genPackage.getImportedXMLProcessorBaseClassName());

-		stringBuffer.append(TEXT_6);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_10);

-		}

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(genPackage.getXMLProcessorClassName());

-		stringBuffer.append(TEXT_12);

-		if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageRegistryImpl"));

-			stringBuffer.append(TEXT_14);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_16);

-		} else {

-			stringBuffer.append(TEXT_17);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_19);

-		}

-		stringBuffer.append(TEXT_20);

-		stringBuffer.append(genPackage.getResourceFactoryClassName());

-		stringBuffer.append(TEXT_21);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_22);

-		}

-		stringBuffer.append(TEXT_23);

-		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));

-			stringBuffer.append(TEXT_26);

-		}

-		stringBuffer.append(TEXT_27);

-		stringBuffer.append(genPackage.getResourceFactoryClassName());

-		stringBuffer.append(TEXT_28);

-		stringBuffer.append(genPackage.getResourceFactoryClassName());

-		stringBuffer.append(TEXT_29);

-		stringBuffer.append(genPackage.getXMLProcessorClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_30);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");

-		canGenerate = canGenerate

-				&& (genPackage.hasClassifiers() && genPackage.getResource().getValue() == GenResourceKind.XML);

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class XMLProcessorClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized XMLProcessorClass create(String lineSeparator) {
+		nl = lineSeparator;
+		XMLProcessorClass result = new XMLProcessorClass();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL
+			+ " * This class contains helper methods to serialize and deserialize XML documents" + NL
+			+ " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL
+			+ "public class ";
+	protected final String TEXT_5 = " extends ";
+	protected final String TEXT_6 = NL + "{";
+	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_8 = " copyright = ";
+	protected final String TEXT_9 = ";";
+	protected final String TEXT_10 = NL;
+	protected final String TEXT_11 = NL + NL + "\t/**" + NL + "\t * Public constructor to instantiate the helper." + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic ";
+	protected final String TEXT_12 = "()" + NL + "\t{";
+	protected final String TEXT_13 = NL + "\t\tsuper(new ";
+	protected final String TEXT_14 = "(";
+	protected final String TEXT_15 = ".Registry.INSTANCE));" + NL + "\t\textendedMetaData.putPackage(null, ";
+	protected final String TEXT_16 = ".eINSTANCE);";
+	protected final String TEXT_17 = NL + "\t\tsuper((";
+	protected final String TEXT_18 = ".Registry.INSTANCE));" + NL + "\t\t";
+	protected final String TEXT_19 = ".eINSTANCE.eClass();";
+	protected final String TEXT_20 = NL + "\t}" + NL + "\t" + NL + "\t/**" + NL
+			+ "\t * Register for \"*\" and \"xml\" file extensions the ";
+	protected final String TEXT_21 = " factory." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_22 = NL + "\t@Override";
+	protected final String TEXT_23 = NL + "\tprotected Map";
+	protected final String TEXT_24 = "<";
+	protected final String TEXT_25 = ", ";
+	protected final String TEXT_26 = ".Factory>";
+	protected final String TEXT_27 = " getRegistrations()" + NL + "\t{" + NL + "\t\tif (registrations == null)" + NL
+			+ "\t\t{" + NL + "\t\t\tsuper.getRegistrations();" + NL + "\t\t\tregistrations.put(XML_EXTENSION, new ";
+	protected final String TEXT_28 = "());" + NL + "\t\t\tregistrations.put(STAR_EXTENSION, new ";
+	protected final String TEXT_29 = "());" + NL + "\t\t}" + NL + "\t\treturn registrations;" + NL + "\t}" + NL + ""
+			+ NL + "} //";
+	protected final String TEXT_30 = NL;
+	protected final String TEXT_31 = NL;
+	protected final String TEXT_32 = NL;
+
+	public XMLProcessorClass() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_31);
+		stringBuffer.append(TEXT_32);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getModelDirectory();
+		packageName = genPackage.getUtilitiesPackageName();
+		className = genPackage.getXMLProcessorClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel,
+				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2005-2006 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) argument;
+		GenModel genModel = genPackage.getGenModel();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getUtilitiesPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.getImportedName("java.util.Map");
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genPackage.getXMLProcessorClassName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genPackage.getImportedXMLProcessorBaseClassName());
+		stringBuffer.append(TEXT_6);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_10);
+		}
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(genPackage.getXMLProcessorClassName());
+		stringBuffer.append(TEXT_12);
+		if (genPackage.hasExtendedMetaData() && !genPackage.hasTargetNamespace()) {
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageRegistryImpl"));
+			stringBuffer.append(TEXT_14);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_16);
+		} else {
+			stringBuffer.append(TEXT_17);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_19);
+		}
+		stringBuffer.append(TEXT_20);
+		stringBuffer.append(genPackage.getResourceFactoryClassName());
+		stringBuffer.append(TEXT_21);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_22);
+		}
+		stringBuffer.append(TEXT_23);
+		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));
+			stringBuffer.append(TEXT_26);
+		}
+		stringBuffer.append(TEXT_27);
+		stringBuffer.append(genPackage.getResourceFactoryClassName());
+		stringBuffer.append(TEXT_28);
+		stringBuffer.append(genPackage.getResourceFactoryClassName());
+		stringBuffer.append(TEXT_29);
+		stringBuffer.append(genPackage.getXMLProcessorClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_30);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject");
+		canGenerate = canGenerate
+				&& (genPackage.hasClassifiers() && genPackage.getResource().getValue() == GenResourceKind.XML);
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureTODOoverride.java
index 54e9762..278fcdb 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureTODOoverride.java
@@ -1,287 +1,287 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassbasicGetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized ClassbasicGetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassbasicGetGenFeatureTODOoverride result = new ClassbasicGetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return the '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = NL + "\t\t// -> do not perform proxy resolution" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public ClassbasicGetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicGetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized ClassbasicGetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassbasicGetGenFeatureTODOoverride result = new ClassbasicGetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return the '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = NL + "\t\t// -> do not perform proxy resolution" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public ClassbasicGetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureannotationsinsert.java
index 9587b7e..7ff9698 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassbasicGetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized ClassbasicGetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassbasicGetGenFeatureannotationsinsert result = new ClassbasicGetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassbasicGetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicGetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized ClassbasicGetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassbasicGetGenFeatureannotationsinsert result = new ClassbasicGetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassbasicGetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureoverride.java
index 59dfa93..797f880 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeatureoverride.java
@@ -1,490 +1,490 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassbasicGetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ClassbasicGetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassbasicGetGenFeatureoverride result = new ClassbasicGetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\tpublic ";

-	protected final String TEXT_4 = " basicGet";

-	protected final String TEXT_5 = "()" + NL + "\t{";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL + "\t\treturn (";

-	protected final String TEXT_8 = ")eDynamicGet(";

-	protected final String TEXT_9 = " - ESTATIC_FEATURE_COUNT";

-	protected final String TEXT_10 = ", ";

-	protected final String TEXT_11 = ", false, ";

-	protected final String TEXT_12 = ");";

-	protected final String TEXT_13 = NL + "\t\treturn ";

-	protected final String TEXT_14 = "(";

-	protected final String TEXT_15 = "(";

-	protected final String TEXT_16 = ")";

-	protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)";

-	protected final String TEXT_18 = ").";

-	protected final String TEXT_19 = "()";

-	protected final String TEXT_20 = ";";

-	protected final String TEXT_21 = NL + "\t\tif (eContainerFeatureID() != ";

-	protected final String TEXT_22 = ") return null;" + NL + "\t\treturn (";

-	protected final String TEXT_23 = ")eInternalContainer();";

-	protected final String TEXT_24 = NL + "\t\treturn (";

-	protected final String TEXT_25 = ")eVirtualGet(";

-	protected final String TEXT_26 = ");";

-	protected final String TEXT_27 = NL + "\t\treturn ";

-	protected final String TEXT_28 = ";";

-	protected final String TEXT_29 = NL + "\t\treturn (";

-	protected final String TEXT_30 = ")((";

-	protected final String TEXT_31 = ".Internal.Wrapper)get";

-	protected final String TEXT_32 = "()).featureMap().get(";

-	protected final String TEXT_33 = ", false);";

-	protected final String TEXT_34 = NL + "\t\treturn (";

-	protected final String TEXT_35 = ")get";

-	protected final String TEXT_36 = "().get(";

-	protected final String TEXT_37 = ", false);";

-	protected final String TEXT_38 = NL + "\t\t";

-	protected final String TEXT_39 = NL;

-	protected final String TEXT_40 = NL + "\t}" + NL + NL;

-	protected final String TEXT_41 = NL;

-	protected final String TEXT_42 = NL;

-

-	public ClassbasicGetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_41);

-		stringBuffer.append(TEXT_42);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isJDK50) { //Class/basicGetGenFeature.annotations.insert.javajetinc

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0l364GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-		}

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getImportedType(genClass));

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(TEXT_6);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mBr4GJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		if (genModel.isDynamicDelegation()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			if (genClass.hasStaticFeatures()) {

-				stringBuffer.append(TEXT_9);

-			}

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-			stringBuffer.append(TEXT_11);

-			stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());

-			stringBuffer.append(TEXT_12);

-		} else if (genFeature.hasSettingDelegate()) {

-			stringBuffer.append(TEXT_13);

-			if (!isJDK50 && genFeature.isPrimitiveType()) {

-				stringBuffer.append(TEXT_14);

-			}

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genFeature.getObjectType(genClass));

-			stringBuffer.append(TEXT_16);

-			stringBuffer.append(genFeature.getUpperName());

-			stringBuffer.append(TEXT_17);

-			if (!isJDK50 && genFeature.isPrimitiveType()) {

-				stringBuffer.append(TEXT_18);

-				stringBuffer.append(genFeature.getPrimitiveValueFunction());

-				stringBuffer.append(TEXT_19);

-			}

-			stringBuffer.append(TEXT_20);

-		} else if (genFeature.isContainer()) {

-			stringBuffer.append(TEXT_21);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			stringBuffer.append(positiveOffsetCorrection);

-			stringBuffer.append(TEXT_22);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_23);

-		} else if (!genFeature.isVolatile()) {

-			if (genModel.isVirtualDelegation()) {

-				stringBuffer.append(TEXT_24);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_25);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(positiveOffsetCorrection);

-				stringBuffer.append(TEXT_26);

-			} else {

-				stringBuffer.append(TEXT_27);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_28);

-			}

-		} else if (genFeature.hasDelegateFeature()) {

-			GenFeature delegateFeature = genFeature.getDelegateFeature();

-			if (delegateFeature.isWrappedFeatureMapType()) {

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-				stringBuffer.append(TEXT_31);

-				stringBuffer.append(delegateFeature.getAccessorName());

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_33);

-			} else {

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_35);

-				stringBuffer.append(delegateFeature.getAccessorName());

-				stringBuffer.append(TEXT_36);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_37);

-			}

-		} else if (genFeature.hasGetterBody()) {

-			stringBuffer.append(TEXT_38);

-			stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));

-		} else {

-			stringBuffer.append(TEXT_39);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mK10GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/basicGetGenFeature.todo.override.javajetinc

-		}

-		stringBuffer.append(TEXT_40);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicGetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ClassbasicGetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassbasicGetGenFeatureoverride result = new ClassbasicGetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\tpublic ";
+	protected final String TEXT_4 = " basicGet";
+	protected final String TEXT_5 = "()" + NL + "\t{";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL + "\t\treturn (";
+	protected final String TEXT_8 = ")eDynamicGet(";
+	protected final String TEXT_9 = " - ESTATIC_FEATURE_COUNT";
+	protected final String TEXT_10 = ", ";
+	protected final String TEXT_11 = ", false, ";
+	protected final String TEXT_12 = ");";
+	protected final String TEXT_13 = NL + "\t\treturn ";
+	protected final String TEXT_14 = "(";
+	protected final String TEXT_15 = "(";
+	protected final String TEXT_16 = ")";
+	protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)";
+	protected final String TEXT_18 = ").";
+	protected final String TEXT_19 = "()";
+	protected final String TEXT_20 = ";";
+	protected final String TEXT_21 = NL + "\t\tif (eContainerFeatureID() != ";
+	protected final String TEXT_22 = ") return null;" + NL + "\t\treturn (";
+	protected final String TEXT_23 = ")eInternalContainer();";
+	protected final String TEXT_24 = NL + "\t\treturn (";
+	protected final String TEXT_25 = ")eVirtualGet(";
+	protected final String TEXT_26 = ");";
+	protected final String TEXT_27 = NL + "\t\treturn ";
+	protected final String TEXT_28 = ";";
+	protected final String TEXT_29 = NL + "\t\treturn (";
+	protected final String TEXT_30 = ")((";
+	protected final String TEXT_31 = ".Internal.Wrapper)get";
+	protected final String TEXT_32 = "()).featureMap().get(";
+	protected final String TEXT_33 = ", false);";
+	protected final String TEXT_34 = NL + "\t\treturn (";
+	protected final String TEXT_35 = ")get";
+	protected final String TEXT_36 = "().get(";
+	protected final String TEXT_37 = ", false);";
+	protected final String TEXT_38 = NL + "\t\t";
+	protected final String TEXT_39 = NL;
+	protected final String TEXT_40 = NL + "\t}" + NL + NL;
+	protected final String TEXT_41 = NL;
+	protected final String TEXT_42 = NL;
+
+	public ClassbasicGetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_41);
+		stringBuffer.append(TEXT_42);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isJDK50) { //Class/basicGetGenFeature.annotations.insert.javajetinc
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0l364GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+		}
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getImportedType(genClass));
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(TEXT_6);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mBr4GJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		if (genModel.isDynamicDelegation()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			if (genClass.hasStaticFeatures()) {
+				stringBuffer.append(TEXT_9);
+			}
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+			stringBuffer.append(TEXT_11);
+			stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());
+			stringBuffer.append(TEXT_12);
+		} else if (genFeature.hasSettingDelegate()) {
+			stringBuffer.append(TEXT_13);
+			if (!isJDK50 && genFeature.isPrimitiveType()) {
+				stringBuffer.append(TEXT_14);
+			}
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genFeature.getObjectType(genClass));
+			stringBuffer.append(TEXT_16);
+			stringBuffer.append(genFeature.getUpperName());
+			stringBuffer.append(TEXT_17);
+			if (!isJDK50 && genFeature.isPrimitiveType()) {
+				stringBuffer.append(TEXT_18);
+				stringBuffer.append(genFeature.getPrimitiveValueFunction());
+				stringBuffer.append(TEXT_19);
+			}
+			stringBuffer.append(TEXT_20);
+		} else if (genFeature.isContainer()) {
+			stringBuffer.append(TEXT_21);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			stringBuffer.append(positiveOffsetCorrection);
+			stringBuffer.append(TEXT_22);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_23);
+		} else if (!genFeature.isVolatile()) {
+			if (genModel.isVirtualDelegation()) {
+				stringBuffer.append(TEXT_24);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_25);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(positiveOffsetCorrection);
+				stringBuffer.append(TEXT_26);
+			} else {
+				stringBuffer.append(TEXT_27);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_28);
+			}
+		} else if (genFeature.hasDelegateFeature()) {
+			GenFeature delegateFeature = genFeature.getDelegateFeature();
+			if (delegateFeature.isWrappedFeatureMapType()) {
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+				stringBuffer.append(TEXT_31);
+				stringBuffer.append(delegateFeature.getAccessorName());
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_33);
+			} else {
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_35);
+				stringBuffer.append(delegateFeature.getAccessorName());
+				stringBuffer.append(TEXT_36);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_37);
+			}
+		} else if (genFeature.hasGetterBody()) {
+			stringBuffer.append(TEXT_38);
+			stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
+		} else {
+			stringBuffer.append(TEXT_39);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mK10GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/basicGetGenFeature.todo.override.javajetinc
+		}
+		stringBuffer.append(TEXT_40);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeaturepreinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeaturepreinsert.java
index d5e4e88..26d408e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeaturepreinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicGetGenFeaturepreinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassbasicGetGenFeaturepreinsert {

-	protected static String nl;

-

-	public static synchronized ClassbasicGetGenFeaturepreinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassbasicGetGenFeaturepreinsert result = new ClassbasicGetGenFeaturepreinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassbasicGetGenFeaturepreinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicGetGenFeaturepreinsert {
+	protected static String nl;
+
+	public static synchronized ClassbasicGetGenFeaturepreinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassbasicGetGenFeaturepreinsert result = new ClassbasicGetGenFeaturepreinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassbasicGetGenFeaturepreinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureTODOoverride.java
index 3961a97..9c7afcf 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureTODOoverride.java
@@ -1,292 +1,290 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassbasicSetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized ClassbasicSetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassbasicSetGenFeatureTODOoverride result = new ClassbasicSetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to set the contained '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = NL

-			+ "\t\t// -> this method is automatically invoked to keep the containment relationship in synch"

-			+ NL

-			+ "\t\t// -> do not modify other features"

-			+ NL

-			+ "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)"

-			+ NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public ClassbasicSetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicSetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized ClassbasicSetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassbasicSetGenFeatureTODOoverride result = new ClassbasicSetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to set the contained '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = NL
+			+ "\t\t// -> this method is automatically invoked to keep the containment relationship in synch" + NL
+			+ "\t\t// -> do not modify other features" + NL
+			+ "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)"
+			+ NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public ClassbasicSetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureannotationsinsert.java
index e0ca7b9..0397dd3 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassbasicSetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized ClassbasicSetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassbasicSetGenFeatureannotationsinsert result = new ClassbasicSetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassbasicSetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicSetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized ClassbasicSetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassbasicSetGenFeatureannotationsinsert result = new ClassbasicSetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassbasicSetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureoverride.java
index 2dcb1dc..1987170 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeatureoverride.java
@@ -1,777 +1,777 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassbasicSetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ClassbasicSetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassbasicSetGenFeatureoverride result = new ClassbasicSetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\tpublic ";

-	protected final String TEXT_4 = " basicSet";

-	protected final String TEXT_5 = "(";

-	protected final String TEXT_6 = " new";

-	protected final String TEXT_7 = ", ";

-	protected final String TEXT_8 = " msgs)" + NL + "\t{";

-	protected final String TEXT_9 = NL;

-	protected final String TEXT_10 = NL + "\t\tmsgs = eBasicSetContainer((";

-	protected final String TEXT_11 = ")new";

-	protected final String TEXT_12 = ", ";

-	protected final String TEXT_13 = ", msgs);";

-	protected final String TEXT_14 = NL;

-	protected final String TEXT_15 = NL + "\t\treturn msgs;";

-	protected final String TEXT_16 = NL;

-	protected final String TEXT_17 = NL + "\t\tmsgs = eDynamicInverseAdd((";

-	protected final String TEXT_18 = ")new";

-	protected final String TEXT_19 = ", ";

-	protected final String TEXT_20 = ", msgs);";

-	protected final String TEXT_21 = NL;

-	protected final String TEXT_22 = NL + "\t\treturn msgs;";

-	protected final String TEXT_23 = NL;

-	protected final String TEXT_24 = NL + "\t\tObject old";

-	protected final String TEXT_25 = " = eVirtualSet(";

-	protected final String TEXT_26 = ", new";

-	protected final String TEXT_27 = ");";

-	protected final String TEXT_28 = NL + "\t\t";

-	protected final String TEXT_29 = " old";

-	protected final String TEXT_30 = " = ";

-	protected final String TEXT_31 = ";" + NL + "\t\t";

-	protected final String TEXT_32 = " = new";

-	protected final String TEXT_33 = ";";

-	protected final String TEXT_34 = NL + "\t\tboolean isSetChange = old";

-	protected final String TEXT_35 = " == EVIRTUAL_NO_VALUE;";

-	protected final String TEXT_36 = NL + "\t\tboolean old";

-	protected final String TEXT_37 = "ESet = (";

-	protected final String TEXT_38 = " & ";

-	protected final String TEXT_39 = "_ESETFLAG) != 0;";

-	protected final String TEXT_40 = NL + "\t\t";

-	protected final String TEXT_41 = " |= ";

-	protected final String TEXT_42 = "_ESETFLAG;";

-	protected final String TEXT_43 = NL + "\t\tboolean old";

-	protected final String TEXT_44 = "ESet = ";

-	protected final String TEXT_45 = "ESet;";

-	protected final String TEXT_46 = NL + "\t\t";

-	protected final String TEXT_47 = "ESet = true;";

-	protected final String TEXT_48 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{";

-	protected final String TEXT_49 = NL + "\t\t\t";

-	protected final String TEXT_50 = " notification = new ";

-	protected final String TEXT_51 = "(this, ";

-	protected final String TEXT_52 = ".SET, ";

-	protected final String TEXT_53 = ", ";

-	protected final String TEXT_54 = "isSetChange ? null : old";

-	protected final String TEXT_55 = "old";

-	protected final String TEXT_56 = ", new";

-	protected final String TEXT_57 = ", ";

-	protected final String TEXT_58 = "isSetChange";

-	protected final String TEXT_59 = "!old";

-	protected final String TEXT_60 = "ESet";

-	protected final String TEXT_61 = ");";

-	protected final String TEXT_62 = NL + "\t\t\t";

-	protected final String TEXT_63 = " notification = new ";

-	protected final String TEXT_64 = "(this, ";

-	protected final String TEXT_65 = ".SET, ";

-	protected final String TEXT_66 = ", ";

-	protected final String TEXT_67 = "old";

-	protected final String TEXT_68 = " == EVIRTUAL_NO_VALUE ? null : old";

-	protected final String TEXT_69 = "old";

-	protected final String TEXT_70 = ", new";

-	protected final String TEXT_71 = ");";

-	protected final String TEXT_72 = NL + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);"

-			+ NL + "\t\t}";

-	protected final String TEXT_73 = NL;

-	protected final String TEXT_74 = NL + "\t\treturn msgs;";

-	protected final String TEXT_75 = NL + "\t\treturn ((";

-	protected final String TEXT_76 = ".Internal)((";

-	protected final String TEXT_77 = ".Internal.Wrapper)get";

-	protected final String TEXT_78 = "()).featureMap()).basicAdd(";

-	protected final String TEXT_79 = ", new";

-	protected final String TEXT_80 = ", msgs);";

-	protected final String TEXT_81 = NL + "\t\treturn ((";

-	protected final String TEXT_82 = ".Internal)get";

-	protected final String TEXT_83 = "()).basicAdd(";

-	protected final String TEXT_84 = ", new";

-	protected final String TEXT_85 = ", msgs);";

-	protected final String TEXT_86 = NL;

-	protected final String TEXT_87 = NL + "\t}" + NL + NL;

-	protected final String TEXT_88 = NL;

-	protected final String TEXT_89 = NL;

-

-	public ClassbasicSetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_88);

-		stringBuffer.append(TEXT_89);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mnhwGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-		}

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genFeature.getImportedInternalType(genClass));

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(genFeature.getCapName());

-		stringBuffer.append(TEXT_7);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-		stringBuffer.append(TEXT_8);

-		if (genFeature.isContainer()) {

-			stringBuffer.append(TEXT_9);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxSwGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-			stringBuffer.append(TEXT_11);

-			stringBuffer.append(genFeature.getCapName());

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			stringBuffer.append(positiveOffsetCorrection);

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(TEXT_14);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxS1GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			stringBuffer.append(TEXT_15);

-		} else if (genModel.isDynamicDelegation()) {

-			stringBuffer.append(TEXT_16);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxSwGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			stringBuffer.append(TEXT_17);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(genFeature.getCapName());

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			stringBuffer.append(positiveOffsetCorrection);

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(TEXT_21);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxS1GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			stringBuffer.append(TEXT_22);

-		} else if (!genFeature.isVolatile()) {

-			stringBuffer.append(TEXT_23);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxSwGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			if (genModel.isVirtualDelegation()) {

-				stringBuffer.append(TEXT_24);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_25);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(positiveOffsetCorrection);

-				stringBuffer.append(TEXT_26);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_27);

-			} else {

-				stringBuffer.append(TEXT_28);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_31);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_33);

-			}

-			if (genFeature.isUnsettable()) {

-				if (genModel.isVirtualDelegation()) {

-					if (!genModel.isSuppressNotification()) {

-						stringBuffer.append(TEXT_34);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_35);

-					}

-				} else if (genClass.isESetFlag(genFeature)) {

-					stringBuffer.append(TEXT_36);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_37);

-					stringBuffer.append(genClass.getESetFlagsField(genFeature));

-					stringBuffer.append(TEXT_38);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_39);

-					if (!genModel.isSuppressNotification()) {

-						stringBuffer.append(TEXT_40);

-						stringBuffer.append(genClass.getESetFlagsField(genFeature));

-						stringBuffer.append(TEXT_41);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_42);

-					}

-				} else {

-					if (!genModel.isSuppressNotification()) {

-						stringBuffer.append(TEXT_43);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_44);

-						stringBuffer.append(genFeature.getUncapName());

-						stringBuffer.append(TEXT_45);

-					}

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(genFeature.getUncapName());

-					stringBuffer.append(TEXT_47);

-				}

-			}

-			if (!genModel.isSuppressNotification()) {

-				stringBuffer.append(TEXT_48);

-				if (genFeature.isUnsettable()) {

-					stringBuffer.append(TEXT_49);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-					stringBuffer.append(TEXT_52);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_53);

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_54);

-						stringBuffer.append(genFeature.getCapName());

-					} else {

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(genFeature.getCapName());

-					}

-					stringBuffer.append(TEXT_56);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_57);

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_58);

-					} else {

-						stringBuffer.append(TEXT_59);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_60);

-					}

-					stringBuffer.append(TEXT_61);

-				} else {

-					stringBuffer.append(TEXT_62);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-					stringBuffer.append(TEXT_63);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-					stringBuffer.append(TEXT_64);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-					stringBuffer.append(TEXT_65);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_66);

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_67);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_68);

-						stringBuffer.append(genFeature.getCapName());

-					} else {

-						stringBuffer.append(TEXT_69);

-						stringBuffer.append(genFeature.getCapName());

-					}

-					stringBuffer.append(TEXT_70);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_71);

-				}

-				stringBuffer.append(TEXT_72);

-			}

-			stringBuffer.append(TEXT_73);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxS1GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			stringBuffer.append(TEXT_74);

-		} else if (genFeature.hasDelegateFeature()) {

-			GenFeature delegateFeature = genFeature.getDelegateFeature();

-			if (delegateFeature.isWrappedFeatureMapType()) {

-				stringBuffer.append(TEXT_75);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-				stringBuffer.append(TEXT_76);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-				stringBuffer.append(TEXT_77);

-				stringBuffer.append(delegateFeature.getAccessorName());

-				stringBuffer.append(TEXT_78);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_79);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_80);

-			} else {

-				stringBuffer.append(TEXT_81);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-				stringBuffer.append(TEXT_82);

-				stringBuffer.append(delegateFeature.getAccessorName());

-				stringBuffer.append(TEXT_83);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_84);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_85);

-			}

-		} else {

-			stringBuffer.append(TEXT_86);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0m6cwGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/basicSetGenFeature.todo.override.javajetinc

-		}

-		stringBuffer.append(TEXT_87);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicSetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ClassbasicSetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassbasicSetGenFeatureoverride result = new ClassbasicSetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\tpublic ";
+	protected final String TEXT_4 = " basicSet";
+	protected final String TEXT_5 = "(";
+	protected final String TEXT_6 = " new";
+	protected final String TEXT_7 = ", ";
+	protected final String TEXT_8 = " msgs)" + NL + "\t{";
+	protected final String TEXT_9 = NL;
+	protected final String TEXT_10 = NL + "\t\tmsgs = eBasicSetContainer((";
+	protected final String TEXT_11 = ")new";
+	protected final String TEXT_12 = ", ";
+	protected final String TEXT_13 = ", msgs);";
+	protected final String TEXT_14 = NL;
+	protected final String TEXT_15 = NL + "\t\treturn msgs;";
+	protected final String TEXT_16 = NL;
+	protected final String TEXT_17 = NL + "\t\tmsgs = eDynamicInverseAdd((";
+	protected final String TEXT_18 = ")new";
+	protected final String TEXT_19 = ", ";
+	protected final String TEXT_20 = ", msgs);";
+	protected final String TEXT_21 = NL;
+	protected final String TEXT_22 = NL + "\t\treturn msgs;";
+	protected final String TEXT_23 = NL;
+	protected final String TEXT_24 = NL + "\t\tObject old";
+	protected final String TEXT_25 = " = eVirtualSet(";
+	protected final String TEXT_26 = ", new";
+	protected final String TEXT_27 = ");";
+	protected final String TEXT_28 = NL + "\t\t";
+	protected final String TEXT_29 = " old";
+	protected final String TEXT_30 = " = ";
+	protected final String TEXT_31 = ";" + NL + "\t\t";
+	protected final String TEXT_32 = " = new";
+	protected final String TEXT_33 = ";";
+	protected final String TEXT_34 = NL + "\t\tboolean isSetChange = old";
+	protected final String TEXT_35 = " == EVIRTUAL_NO_VALUE;";
+	protected final String TEXT_36 = NL + "\t\tboolean old";
+	protected final String TEXT_37 = "ESet = (";
+	protected final String TEXT_38 = " & ";
+	protected final String TEXT_39 = "_ESETFLAG) != 0;";
+	protected final String TEXT_40 = NL + "\t\t";
+	protected final String TEXT_41 = " |= ";
+	protected final String TEXT_42 = "_ESETFLAG;";
+	protected final String TEXT_43 = NL + "\t\tboolean old";
+	protected final String TEXT_44 = "ESet = ";
+	protected final String TEXT_45 = "ESet;";
+	protected final String TEXT_46 = NL + "\t\t";
+	protected final String TEXT_47 = "ESet = true;";
+	protected final String TEXT_48 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{";
+	protected final String TEXT_49 = NL + "\t\t\t";
+	protected final String TEXT_50 = " notification = new ";
+	protected final String TEXT_51 = "(this, ";
+	protected final String TEXT_52 = ".SET, ";
+	protected final String TEXT_53 = ", ";
+	protected final String TEXT_54 = "isSetChange ? null : old";
+	protected final String TEXT_55 = "old";
+	protected final String TEXT_56 = ", new";
+	protected final String TEXT_57 = ", ";
+	protected final String TEXT_58 = "isSetChange";
+	protected final String TEXT_59 = "!old";
+	protected final String TEXT_60 = "ESet";
+	protected final String TEXT_61 = ");";
+	protected final String TEXT_62 = NL + "\t\t\t";
+	protected final String TEXT_63 = " notification = new ";
+	protected final String TEXT_64 = "(this, ";
+	protected final String TEXT_65 = ".SET, ";
+	protected final String TEXT_66 = ", ";
+	protected final String TEXT_67 = "old";
+	protected final String TEXT_68 = " == EVIRTUAL_NO_VALUE ? null : old";
+	protected final String TEXT_69 = "old";
+	protected final String TEXT_70 = ", new";
+	protected final String TEXT_71 = ");";
+	protected final String TEXT_72 = NL + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);"
+			+ NL + "\t\t}";
+	protected final String TEXT_73 = NL;
+	protected final String TEXT_74 = NL + "\t\treturn msgs;";
+	protected final String TEXT_75 = NL + "\t\treturn ((";
+	protected final String TEXT_76 = ".Internal)((";
+	protected final String TEXT_77 = ".Internal.Wrapper)get";
+	protected final String TEXT_78 = "()).featureMap()).basicAdd(";
+	protected final String TEXT_79 = ", new";
+	protected final String TEXT_80 = ", msgs);";
+	protected final String TEXT_81 = NL + "\t\treturn ((";
+	protected final String TEXT_82 = ".Internal)get";
+	protected final String TEXT_83 = "()).basicAdd(";
+	protected final String TEXT_84 = ", new";
+	protected final String TEXT_85 = ", msgs);";
+	protected final String TEXT_86 = NL;
+	protected final String TEXT_87 = NL + "\t}" + NL + NL;
+	protected final String TEXT_88 = NL;
+	protected final String TEXT_89 = NL;
+
+	public ClassbasicSetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_88);
+		stringBuffer.append(TEXT_89);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mnhwGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+		}
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genFeature.getImportedInternalType(genClass));
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(genFeature.getCapName());
+		stringBuffer.append(TEXT_7);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+		stringBuffer.append(TEXT_8);
+		if (genFeature.isContainer()) {
+			stringBuffer.append(TEXT_9);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxSwGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+			stringBuffer.append(TEXT_11);
+			stringBuffer.append(genFeature.getCapName());
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			stringBuffer.append(positiveOffsetCorrection);
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(TEXT_14);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxS1GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			stringBuffer.append(TEXT_15);
+		} else if (genModel.isDynamicDelegation()) {
+			stringBuffer.append(TEXT_16);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxSwGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			stringBuffer.append(TEXT_17);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(genFeature.getCapName());
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			stringBuffer.append(positiveOffsetCorrection);
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(TEXT_21);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxS1GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			stringBuffer.append(TEXT_22);
+		} else if (!genFeature.isVolatile()) {
+			stringBuffer.append(TEXT_23);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxSwGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			if (genModel.isVirtualDelegation()) {
+				stringBuffer.append(TEXT_24);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_25);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(positiveOffsetCorrection);
+				stringBuffer.append(TEXT_26);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_27);
+			} else {
+				stringBuffer.append(TEXT_28);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_31);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_33);
+			}
+			if (genFeature.isUnsettable()) {
+				if (genModel.isVirtualDelegation()) {
+					if (!genModel.isSuppressNotification()) {
+						stringBuffer.append(TEXT_34);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_35);
+					}
+				} else if (genClass.isESetFlag(genFeature)) {
+					stringBuffer.append(TEXT_36);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_37);
+					stringBuffer.append(genClass.getESetFlagsField(genFeature));
+					stringBuffer.append(TEXT_38);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_39);
+					if (!genModel.isSuppressNotification()) {
+						stringBuffer.append(TEXT_40);
+						stringBuffer.append(genClass.getESetFlagsField(genFeature));
+						stringBuffer.append(TEXT_41);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_42);
+					}
+				} else {
+					if (!genModel.isSuppressNotification()) {
+						stringBuffer.append(TEXT_43);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_44);
+						stringBuffer.append(genFeature.getUncapName());
+						stringBuffer.append(TEXT_45);
+					}
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(genFeature.getUncapName());
+					stringBuffer.append(TEXT_47);
+				}
+			}
+			if (!genModel.isSuppressNotification()) {
+				stringBuffer.append(TEXT_48);
+				if (genFeature.isUnsettable()) {
+					stringBuffer.append(TEXT_49);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+					stringBuffer.append(TEXT_52);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_53);
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_54);
+						stringBuffer.append(genFeature.getCapName());
+					} else {
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(genFeature.getCapName());
+					}
+					stringBuffer.append(TEXT_56);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_57);
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_58);
+					} else {
+						stringBuffer.append(TEXT_59);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_60);
+					}
+					stringBuffer.append(TEXT_61);
+				} else {
+					stringBuffer.append(TEXT_62);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+					stringBuffer.append(TEXT_63);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+					stringBuffer.append(TEXT_64);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+					stringBuffer.append(TEXT_65);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_66);
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_67);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_68);
+						stringBuffer.append(genFeature.getCapName());
+					} else {
+						stringBuffer.append(TEXT_69);
+						stringBuffer.append(genFeature.getCapName());
+					}
+					stringBuffer.append(TEXT_70);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_71);
+				}
+				stringBuffer.append(TEXT_72);
+			}
+			stringBuffer.append(TEXT_73);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mxS1GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			stringBuffer.append(TEXT_74);
+		} else if (genFeature.hasDelegateFeature()) {
+			GenFeature delegateFeature = genFeature.getDelegateFeature();
+			if (delegateFeature.isWrappedFeatureMapType()) {
+				stringBuffer.append(TEXT_75);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+				stringBuffer.append(TEXT_76);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+				stringBuffer.append(TEXT_77);
+				stringBuffer.append(delegateFeature.getAccessorName());
+				stringBuffer.append(TEXT_78);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_79);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_80);
+			} else {
+				stringBuffer.append(TEXT_81);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+				stringBuffer.append(TEXT_82);
+				stringBuffer.append(delegateFeature.getAccessorName());
+				stringBuffer.append(TEXT_83);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_84);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_85);
+			}
+		} else {
+			stringBuffer.append(TEXT_86);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0m6cwGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/basicSetGenFeature.todo.override.javajetinc
+		}
+		stringBuffer.append(TEXT_87);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepostinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepostinsert.java
index 8a63f65..f89cf14 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepostinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepostinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassbasicSetGenFeaturepostinsert {

-	protected static String nl;

-

-	public static synchronized ClassbasicSetGenFeaturepostinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassbasicSetGenFeaturepostinsert result = new ClassbasicSetGenFeaturepostinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassbasicSetGenFeaturepostinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicSetGenFeaturepostinsert {
+	protected static String nl;
+
+	public static synchronized ClassbasicSetGenFeaturepostinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassbasicSetGenFeaturepostinsert result = new ClassbasicSetGenFeaturepostinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassbasicSetGenFeaturepostinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepreinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepreinsert.java
index b5563a2..168df78 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepreinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicSetGenFeaturepreinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassbasicSetGenFeaturepreinsert {

-	protected static String nl;

-

-	public static synchronized ClassbasicSetGenFeaturepreinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassbasicSetGenFeaturepreinsert result = new ClassbasicSetGenFeaturepreinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassbasicSetGenFeaturepreinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicSetGenFeaturepreinsert {
+	protected static String nl;
+
+	public static synchronized ClassbasicSetGenFeaturepreinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassbasicSetGenFeaturepreinsert result = new ClassbasicSetGenFeaturepreinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassbasicSetGenFeaturepreinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureTODOoverride.java
index 0cd792a..c4982d0 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureTODOoverride.java
@@ -1,292 +1,290 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassbasicUnsetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized ClassbasicUnsetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassbasicUnsetGenFeatureTODOoverride result = new ClassbasicUnsetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to unset the contained '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = NL

-			+ "\t\t// -> this method is automatically invoked to keep the containment relationship in synch"

-			+ NL

-			+ "\t\t// -> do not modify other features"

-			+ NL

-			+ "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)"

-			+ NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public ClassbasicUnsetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicUnsetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized ClassbasicUnsetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassbasicUnsetGenFeatureTODOoverride result = new ClassbasicUnsetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to unset the contained '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = NL
+			+ "\t\t// -> this method is automatically invoked to keep the containment relationship in synch" + NL
+			+ "\t\t// -> do not modify other features" + NL
+			+ "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)"
+			+ NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public ClassbasicUnsetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureannotationsinsert.java
index cf069e3..3c991b9 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassbasicUnsetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized ClassbasicUnsetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassbasicUnsetGenFeatureannotationsinsert result = new ClassbasicUnsetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassbasicUnsetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicUnsetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized ClassbasicUnsetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassbasicUnsetGenFeatureannotationsinsert result = new ClassbasicUnsetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassbasicUnsetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureoverride.java
index 6397d74..6a97b02 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassbasicUnsetGenFeatureoverride.java
@@ -1,503 +1,503 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassbasicUnsetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ClassbasicUnsetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassbasicUnsetGenFeatureoverride result = new ClassbasicUnsetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\tpublic ";

-	protected final String TEXT_4 = " basicUnset";

-	protected final String TEXT_5 = "(";

-	protected final String TEXT_6 = " msgs)" + NL + "\t{";

-	protected final String TEXT_7 = NL + "\t\treturn eDynamicInverseRemove((";

-	protected final String TEXT_8 = ")";

-	protected final String TEXT_9 = "basicGet";

-	protected final String TEXT_10 = "(), ";

-	protected final String TEXT_11 = ", msgs);";

-	protected final String TEXT_12 = "Object old";

-	protected final String TEXT_13 = " = ";

-	protected final String TEXT_14 = "eVirtualUnset(";

-	protected final String TEXT_15 = ");";

-	protected final String TEXT_16 = NL + "\t\t";

-	protected final String TEXT_17 = " old";

-	protected final String TEXT_18 = " = ";

-	protected final String TEXT_19 = ";";

-	protected final String TEXT_20 = NL + "\t\t";

-	protected final String TEXT_21 = " = null;";

-	protected final String TEXT_22 = NL + "\t\tboolean isSetChange = old";

-	protected final String TEXT_23 = " != EVIRTUAL_NO_VALUE;";

-	protected final String TEXT_24 = NL + "\t\tboolean old";

-	protected final String TEXT_25 = "ESet = (";

-	protected final String TEXT_26 = " & ";

-	protected final String TEXT_27 = "_ESETFLAG) != 0;";

-	protected final String TEXT_28 = NL + "\t\t";

-	protected final String TEXT_29 = " &= ~";

-	protected final String TEXT_30 = "_ESETFLAG;";

-	protected final String TEXT_31 = NL + "\t\tboolean old";

-	protected final String TEXT_32 = "ESet = ";

-	protected final String TEXT_33 = "ESet;";

-	protected final String TEXT_34 = NL + "\t\t";

-	protected final String TEXT_35 = "ESet = false;";

-	protected final String TEXT_36 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_37 = " notification = new ";

-	protected final String TEXT_38 = "(this, ";

-	protected final String TEXT_39 = ".UNSET, ";

-	protected final String TEXT_40 = ", ";

-	protected final String TEXT_41 = "isSetChange ? old";

-	protected final String TEXT_42 = " : null";

-	protected final String TEXT_43 = "old";

-	protected final String TEXT_44 = ", null, ";

-	protected final String TEXT_45 = "isSetChange";

-	protected final String TEXT_46 = "old";

-	protected final String TEXT_47 = "ESet";

-	protected final String TEXT_48 = ");" + NL

-			+ "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);" + NL + "\t\t}" + NL

-			+ "\t\treturn msgs;";

-	protected final String TEXT_49 = NL;

-	protected final String TEXT_50 = NL + "\t}" + NL + NL;

-	protected final String TEXT_51 = NL;

-	protected final String TEXT_52 = NL;

-

-	public ClassbasicUnsetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_51);

-		stringBuffer.append(TEXT_52);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isJDK50) { //Class/basicUnsetGenFeature.annotations.insert.javajetinc

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qpGIGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-		}

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-		stringBuffer.append(TEXT_6);

-		if (genModel.isDynamicDelegation()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-			stringBuffer.append(TEXT_8);

-			if (genFeature.isResolveProxies()) {

-				stringBuffer.append(TEXT_9);

-				stringBuffer.append(genFeature.getAccessorName());

-			} else {

-				stringBuffer.append(genFeature.getGetAccessor());

-			}

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			stringBuffer.append(positiveOffsetCorrection);

-			stringBuffer.append(TEXT_11);

-		} else if (!genFeature.isVolatile()) {

-			if (genModel.isVirtualDelegation()) {

-				if (!genModel.isSuppressNotification()) {

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_13);

-				}

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(positiveOffsetCorrection);

-				stringBuffer.append(TEXT_15);

-			} else {

-				if (!genModel.isSuppressNotification()) {

-					stringBuffer.append(TEXT_16);

-					stringBuffer.append(genFeature.getImportedType(genClass));

-					stringBuffer.append(TEXT_17);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_18);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_19);

-				}

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_21);

-			}

-			if (genModel.isVirtualDelegation()) {

-				if (!genModel.isSuppressNotification()) {

-					stringBuffer.append(TEXT_22);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_23);

-				}

-			} else if (genClass.isESetFlag(genFeature)) {

-				if (!genModel.isSuppressNotification()) {

-					stringBuffer.append(TEXT_24);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(genClass.getESetFlagsField(genFeature));

-					stringBuffer.append(TEXT_26);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_27);

-				}

-				stringBuffer.append(TEXT_28);

-				stringBuffer.append(genClass.getESetFlagsField(genFeature));

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_30);

-			} else {

-				if (!genModel.isSuppressNotification()) {

-					stringBuffer.append(TEXT_31);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_32);

-					stringBuffer.append(genFeature.getUncapName());

-					stringBuffer.append(TEXT_33);

-				}

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genFeature.getUncapName());

-				stringBuffer.append(TEXT_35);

-			}

-			if (!genModel.isSuppressNotification()) {

-				stringBuffer.append(TEXT_36);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-				stringBuffer.append(TEXT_37);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-				stringBuffer.append(TEXT_39);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(positiveOffsetCorrection);

-				stringBuffer.append(TEXT_40);

-				if (genModel.isVirtualDelegation()) {

-					stringBuffer.append(TEXT_41);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_42);

-				} else {

-					stringBuffer.append(TEXT_43);

-					stringBuffer.append(genFeature.getCapName());

-				}

-				stringBuffer.append(TEXT_44);

-				if (genModel.isVirtualDelegation()) {

-					stringBuffer.append(TEXT_45);

-				} else {

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_47);

-				}

-				stringBuffer.append(TEXT_48);

-			}

-		} else {

-			stringBuffer.append(TEXT_49);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qy3IGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/basicUnsetGenFeature.todo.override.javajetinc

-		}

-		stringBuffer.append(TEXT_50);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassbasicUnsetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ClassbasicUnsetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassbasicUnsetGenFeatureoverride result = new ClassbasicUnsetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\tpublic ";
+	protected final String TEXT_4 = " basicUnset";
+	protected final String TEXT_5 = "(";
+	protected final String TEXT_6 = " msgs)" + NL + "\t{";
+	protected final String TEXT_7 = NL + "\t\treturn eDynamicInverseRemove((";
+	protected final String TEXT_8 = ")";
+	protected final String TEXT_9 = "basicGet";
+	protected final String TEXT_10 = "(), ";
+	protected final String TEXT_11 = ", msgs);";
+	protected final String TEXT_12 = "Object old";
+	protected final String TEXT_13 = " = ";
+	protected final String TEXT_14 = "eVirtualUnset(";
+	protected final String TEXT_15 = ");";
+	protected final String TEXT_16 = NL + "\t\t";
+	protected final String TEXT_17 = " old";
+	protected final String TEXT_18 = " = ";
+	protected final String TEXT_19 = ";";
+	protected final String TEXT_20 = NL + "\t\t";
+	protected final String TEXT_21 = " = null;";
+	protected final String TEXT_22 = NL + "\t\tboolean isSetChange = old";
+	protected final String TEXT_23 = " != EVIRTUAL_NO_VALUE;";
+	protected final String TEXT_24 = NL + "\t\tboolean old";
+	protected final String TEXT_25 = "ESet = (";
+	protected final String TEXT_26 = " & ";
+	protected final String TEXT_27 = "_ESETFLAG) != 0;";
+	protected final String TEXT_28 = NL + "\t\t";
+	protected final String TEXT_29 = " &= ~";
+	protected final String TEXT_30 = "_ESETFLAG;";
+	protected final String TEXT_31 = NL + "\t\tboolean old";
+	protected final String TEXT_32 = "ESet = ";
+	protected final String TEXT_33 = "ESet;";
+	protected final String TEXT_34 = NL + "\t\t";
+	protected final String TEXT_35 = "ESet = false;";
+	protected final String TEXT_36 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_37 = " notification = new ";
+	protected final String TEXT_38 = "(this, ";
+	protected final String TEXT_39 = ".UNSET, ";
+	protected final String TEXT_40 = ", ";
+	protected final String TEXT_41 = "isSetChange ? old";
+	protected final String TEXT_42 = " : null";
+	protected final String TEXT_43 = "old";
+	protected final String TEXT_44 = ", null, ";
+	protected final String TEXT_45 = "isSetChange";
+	protected final String TEXT_46 = "old";
+	protected final String TEXT_47 = "ESet";
+	protected final String TEXT_48 = ");" + NL
+			+ "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);" + NL + "\t\t}" + NL
+			+ "\t\treturn msgs;";
+	protected final String TEXT_49 = NL;
+	protected final String TEXT_50 = NL + "\t}" + NL + NL;
+	protected final String TEXT_51 = NL;
+	protected final String TEXT_52 = NL;
+
+	public ClassbasicUnsetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_51);
+		stringBuffer.append(TEXT_52);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isJDK50) { //Class/basicUnsetGenFeature.annotations.insert.javajetinc
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qpGIGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+		}
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+		stringBuffer.append(TEXT_6);
+		if (genModel.isDynamicDelegation()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+			stringBuffer.append(TEXT_8);
+			if (genFeature.isResolveProxies()) {
+				stringBuffer.append(TEXT_9);
+				stringBuffer.append(genFeature.getAccessorName());
+			} else {
+				stringBuffer.append(genFeature.getGetAccessor());
+			}
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			stringBuffer.append(positiveOffsetCorrection);
+			stringBuffer.append(TEXT_11);
+		} else if (!genFeature.isVolatile()) {
+			if (genModel.isVirtualDelegation()) {
+				if (!genModel.isSuppressNotification()) {
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_13);
+				}
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(positiveOffsetCorrection);
+				stringBuffer.append(TEXT_15);
+			} else {
+				if (!genModel.isSuppressNotification()) {
+					stringBuffer.append(TEXT_16);
+					stringBuffer.append(genFeature.getImportedType(genClass));
+					stringBuffer.append(TEXT_17);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_18);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_19);
+				}
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_21);
+			}
+			if (genModel.isVirtualDelegation()) {
+				if (!genModel.isSuppressNotification()) {
+					stringBuffer.append(TEXT_22);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_23);
+				}
+			} else if (genClass.isESetFlag(genFeature)) {
+				if (!genModel.isSuppressNotification()) {
+					stringBuffer.append(TEXT_24);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(genClass.getESetFlagsField(genFeature));
+					stringBuffer.append(TEXT_26);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_27);
+				}
+				stringBuffer.append(TEXT_28);
+				stringBuffer.append(genClass.getESetFlagsField(genFeature));
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_30);
+			} else {
+				if (!genModel.isSuppressNotification()) {
+					stringBuffer.append(TEXT_31);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_32);
+					stringBuffer.append(genFeature.getUncapName());
+					stringBuffer.append(TEXT_33);
+				}
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genFeature.getUncapName());
+				stringBuffer.append(TEXT_35);
+			}
+			if (!genModel.isSuppressNotification()) {
+				stringBuffer.append(TEXT_36);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+				stringBuffer.append(TEXT_37);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+				stringBuffer.append(TEXT_39);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(positiveOffsetCorrection);
+				stringBuffer.append(TEXT_40);
+				if (genModel.isVirtualDelegation()) {
+					stringBuffer.append(TEXT_41);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_42);
+				} else {
+					stringBuffer.append(TEXT_43);
+					stringBuffer.append(genFeature.getCapName());
+				}
+				stringBuffer.append(TEXT_44);
+				if (genModel.isVirtualDelegation()) {
+					stringBuffer.append(TEXT_45);
+				} else {
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_47);
+				}
+				stringBuffer.append(TEXT_48);
+			}
+		} else {
+			stringBuffer.append(TEXT_49);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qy3IGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/basicUnsetGenFeature.todo.override.javajetinc
+		}
+		stringBuffer.append(TEXT_50);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureinsert.java
index ff8e20a..e269306 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassdeclaredFieldGenFeatureinsert {

-	protected static String nl;

-

-	public static synchronized ClassdeclaredFieldGenFeatureinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassdeclaredFieldGenFeatureinsert result = new ClassdeclaredFieldGenFeatureinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassdeclaredFieldGenFeatureinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassdeclaredFieldGenFeatureinsert {
+	protected static String nl;
+
+	public static synchronized ClassdeclaredFieldGenFeatureinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassdeclaredFieldGenFeatureinsert result = new ClassdeclaredFieldGenFeatureinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassdeclaredFieldGenFeatureinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureoverride.java
index c68a9d8..591f08f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassdeclaredFieldGenFeatureoverride.java
@@ -1,708 +1,703 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassdeclaredFieldGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ClassdeclaredFieldGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassdeclaredFieldGenFeatureoverride result = new ClassdeclaredFieldGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * The cached setting delegate for the '{@link #";

-	protected final String TEXT_3 = "() <em>";

-	protected final String TEXT_4 = "</em>}' ";

-	protected final String TEXT_5 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @see #";

-	protected final String TEXT_6 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_7 = NL + "\t@";

-	protected final String TEXT_8 = NL + "\tprotected ";

-	protected final String TEXT_9 = ".Internal.SettingDelegate ";

-	protected final String TEXT_10 = "__ESETTING_DELEGATE = ((";

-	protected final String TEXT_11 = ".Internal)";

-	protected final String TEXT_12 = ").getSettingDelegate();" + NL;

-	protected final String TEXT_13 = NL + "\t/**" + NL + "\t * The cached value of the '{@link #";

-	protected final String TEXT_14 = "() <em>";

-	protected final String TEXT_15 = "</em>}' ";

-	protected final String TEXT_16 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @see #";

-	protected final String TEXT_17 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_18 = NL + "\t@";

-	protected final String TEXT_19 = NL + "\tprotected ";

-	protected final String TEXT_20 = " ";

-	protected final String TEXT_21 = ";" + NL;

-	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";

-	protected final String TEXT_23 = "() <em>";

-	protected final String TEXT_24 = "</em>}' array accessor." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

-	protected final String TEXT_25 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_26 = NL + "\t@SuppressWarnings(\"rawtypes\")";

-	protected final String TEXT_27 = NL + "\tprotected static final ";

-	protected final String TEXT_28 = "[] ";

-	protected final String TEXT_29 = "_EEMPTY_ARRAY = new ";

-	protected final String TEXT_30 = " [0]";

-	protected final String TEXT_31 = ";" + NL;

-	protected final String TEXT_32 = NL + "\t/**" + NL + "\t * The default value of the '{@link #";

-	protected final String TEXT_33 = "() <em>";

-	protected final String TEXT_34 = "</em>}' ";

-	protected final String TEXT_35 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @see #";

-	protected final String TEXT_36 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_37 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_38 = NL + "\tprotected static final ";

-	protected final String TEXT_39 = " ";

-	protected final String TEXT_40 = "; // TODO The default value literal \"";

-	protected final String TEXT_41 = "\" is not valid.";

-	protected final String TEXT_42 = " = ";

-	protected final String TEXT_43 = ";";

-	protected final String TEXT_44 = NL;

-	protected final String TEXT_45 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_46 = NL + "\t@";

-	protected final String TEXT_47 = NL + "\tprotected int ";

-	protected final String TEXT_48 = " = 0;" + NL;

-	protected final String TEXT_49 = NL + "\t/**" + NL

-			+ "\t * The offset of the flags representing the value of the '{@link #";

-	protected final String TEXT_50 = "() <em>";

-	protected final String TEXT_51 = "</em>}' ";

-	protected final String TEXT_52 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\tprotected static final int ";

-	protected final String TEXT_53 = "_EFLAG_OFFSET = ";

-	protected final String TEXT_54 = ";" + NL + "" + NL + "\t/**" + NL

-			+ "\t * The flags representing the default value of the '{@link #";

-	protected final String TEXT_55 = "() <em>";

-	protected final String TEXT_56 = "</em>}' ";

-	protected final String TEXT_57 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\tprotected static final int ";

-	protected final String TEXT_58 = "_EFLAG_DEFAULT = ";

-	protected final String TEXT_59 = ".ordinal()";

-	protected final String TEXT_60 = ".VALUES.indexOf(";

-	protected final String TEXT_61 = ")";

-	protected final String TEXT_62 = " << ";

-	protected final String TEXT_63 = "_EFLAG_OFFSET;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * The array of enumeration values for '{@link ";

-	protected final String TEXT_64 = " ";

-	protected final String TEXT_65 = "}'" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\tprivate static final ";

-	protected final String TEXT_66 = "[] ";

-	protected final String TEXT_67 = "_EFLAG_VALUES = ";

-	protected final String TEXT_68 = ".values()";

-	protected final String TEXT_69 = "(";

-	protected final String TEXT_70 = "[])";

-	protected final String TEXT_71 = ".VALUES.toArray(new ";

-	protected final String TEXT_72 = "[";

-	protected final String TEXT_73 = ".VALUES.size()])";

-	protected final String TEXT_74 = ";" + NL;

-	protected final String TEXT_75 = NL + "\t/**" + NL + "\t * The flag";

-	protected final String TEXT_76 = " representing the value of the '{@link #";

-	protected final String TEXT_77 = "() <em>";

-	protected final String TEXT_78 = "</em>}' ";

-	protected final String TEXT_79 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @see #";

-	protected final String TEXT_80 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL

-			+ "\tprotected static final int ";

-	protected final String TEXT_81 = "_EFLAG = ";

-	protected final String TEXT_82 = " << ";

-	protected final String TEXT_83 = "_EFLAG_OFFSET";

-	protected final String TEXT_84 = ";" + NL;

-	protected final String TEXT_85 = NL + "\t/**" + NL + "\t * The cached value of the '{@link #";

-	protected final String TEXT_86 = "() <em>";

-	protected final String TEXT_87 = "</em>}' ";

-	protected final String TEXT_88 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @see #";

-	protected final String TEXT_89 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_90 = NL + "\t@";

-	protected final String TEXT_91 = NL + "\tprotected ";

-	protected final String TEXT_92 = " ";

-	protected final String TEXT_93 = " = ";

-	protected final String TEXT_94 = ";" + NL;

-	protected final String TEXT_95 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_96 = NL + "\t@";

-	protected final String TEXT_97 = NL + "\tprotected int ";

-	protected final String TEXT_98 = " = 0;" + NL;

-	protected final String TEXT_99 = NL + "\t/**" + NL + "\t * The flag representing whether the ";

-	protected final String TEXT_100 = " ";

-	protected final String TEXT_101 = " has been set." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL

-			+ "\tprotected static final int ";

-	protected final String TEXT_102 = "_ESETFLAG = 1 << ";

-	protected final String TEXT_103 = ";" + NL;

-	protected final String TEXT_104 = NL + "\t/**" + NL + "\t * This is true if the ";

-	protected final String TEXT_105 = " ";

-	protected final String TEXT_106 = " has been set." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_107 = NL + "\t@";

-	protected final String TEXT_108 = NL + "\tprotected boolean ";

-	protected final String TEXT_109 = "ESet;" + NL;

-	protected final String TEXT_110 = NL;

-	protected final String TEXT_111 = NL;

-	protected final String TEXT_112 = NL;

-	protected final String TEXT_113 = NL;

-

-	public ClassdeclaredFieldGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_112);

-		stringBuffer.append(TEXT_113);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genFeature.hasSettingDelegate()) {

-			stringBuffer.append(TEXT_2);

-			stringBuffer.append(genFeature.getGetAccessor());

-			stringBuffer.append(TEXT_3);

-			stringBuffer.append(genFeature.getFormattedName());

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(genFeature.getFeatureKind());

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genFeature.getGetAccessor());

-			stringBuffer.append(TEXT_6);

-			if (isGWT) {

-				stringBuffer.append(TEXT_7);

-				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-			}

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genFeature.getUpperName());

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-			stringBuffer.append(TEXT_11);

-			stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-			stringBuffer.append(TEXT_12);

-		} else if (genFeature.isListType() || genFeature.isReferenceType()) {

-			if (genClass.isField(genFeature)) {

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genFeature.getFormattedName());

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(genFeature.getFeatureKind());

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_17);

-				if (isGWT) {

-					stringBuffer.append(TEXT_18);

-					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-				}

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(genFeature.getImportedInternalType(genClass));

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_21);

-			}

-			if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()

-					&& !genFeature.isMapType()) {

-				String rawListItemType = genFeature.getRawListItemType(genClass);

-				int index = rawListItemType.indexOf('[');

-				String head = rawListItemType;

-				String tail = "";

-				if (index != -1) {

-					head = rawListItemType.substring(0, index);

-					tail = rawListItemType.substring(index);

-				}

-				stringBuffer.append(TEXT_22);

-				stringBuffer.append(genFeature.getGetArrayAccessor());

-				stringBuffer.append(TEXT_23);

-				stringBuffer.append(genFeature.getFormattedName());

-				stringBuffer.append(TEXT_24);

-				stringBuffer.append(genFeature.getGetArrayAccessor());

-				stringBuffer.append(TEXT_25);

-				if (genFeature.getQualifiedListItemType(genClass).contains("<")

-						|| genFeature.getArrayItemType(genClass).contains("<")) {

-					stringBuffer.append(TEXT_26);

-				}

-				stringBuffer.append(TEXT_27);

-				stringBuffer.append(rawListItemType);

-				stringBuffer.append(TEXT_28);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(head);

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(tail);

-				stringBuffer.append(TEXT_31);

-			}

-		} else {

-			if (genFeature.hasEDefault()

-					&& (!genFeature.isVolatile() || !genModel.isReflectiveDelegation()

-							&& (!genFeature.hasDelegateFeature() || !genFeature.isUnsettable()))) {

-				String staticDefaultValue = genFeature.getStaticDefaultValue();

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_33);

-				stringBuffer.append(genFeature.getFormattedName());

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genFeature.getFeatureKind());

-				stringBuffer.append(TEXT_35);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_36);

-				if (genModel.useGenerics() && genFeature.isListDataType() && genFeature.isSetDefaultValue()) {

-					stringBuffer.append(TEXT_37);

-				}

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_39);

-				stringBuffer.append(genFeature.getEDefault());

-				if ("".equals(staticDefaultValue)) {

-					stringBuffer.append(TEXT_40);

-					stringBuffer.append(genFeature.getEcoreFeature().getDefaultValueLiteral());

-					stringBuffer.append(TEXT_41);

-				} else {

-					stringBuffer.append(TEXT_42);

-					stringBuffer.append(staticDefaultValue);

-					stringBuffer.append(TEXT_43);

-					stringBuffer.append(genModel.getNonNLS(staticDefaultValue));

-				}

-				stringBuffer.append(TEXT_44);

-			}

-			if (genClass.isField(genFeature)) {

-				if (genClass.isFlag(genFeature)) {

-					int flagIndex = genClass.getFlagIndex(genFeature);

-					if (flagIndex > 31 && flagIndex % 32 == 0) {

-						stringBuffer.append(TEXT_45);

-						if (isGWT) {

-							stringBuffer.append(TEXT_46);

-							stringBuffer

-									.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-						}

-						stringBuffer.append(TEXT_47);

-						stringBuffer.append(genClass.getFlagsField(genFeature));

-						stringBuffer.append(TEXT_48);

-					}

-					if (genFeature.isEnumType()) {

-						stringBuffer.append(TEXT_49);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_50);

-						stringBuffer.append(genFeature.getFormattedName());

-						stringBuffer.append(TEXT_51);

-						stringBuffer.append(genFeature.getFeatureKind());

-						stringBuffer.append(TEXT_52);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_53);

-						stringBuffer.append(flagIndex % 32);

-						stringBuffer.append(TEXT_54);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(genFeature.getFormattedName());

-						stringBuffer.append(TEXT_56);

-						stringBuffer.append(genFeature.getFeatureKind());

-						stringBuffer.append(TEXT_57);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_58);

-						if (isJDK50) {

-							stringBuffer.append(genFeature.getEDefault());

-							stringBuffer.append(TEXT_59);

-						} else {

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_60);

-							stringBuffer.append(genFeature.getEDefault());

-							stringBuffer.append(TEXT_61);

-						}

-						stringBuffer.append(TEXT_62);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_63);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_64);

-						stringBuffer.append(genFeature.getTypeGenClassifier().getFormattedName());

-						stringBuffer.append(TEXT_65);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_66);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_67);

-						if (isJDK50) {

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_68);

-						} else {

-							stringBuffer.append(TEXT_69);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_70);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_71);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_72);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_73);

-						}

-						stringBuffer.append(TEXT_74);

-					}

-					stringBuffer.append(TEXT_75);

-					stringBuffer.append(genClass.getFlagSize(genFeature) > 1 ? "s" : "");

-					stringBuffer.append(TEXT_76);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_77);

-					stringBuffer.append(genFeature.getFormattedName());

-					stringBuffer.append(TEXT_78);

-					stringBuffer.append(genFeature.getFeatureKind());

-					stringBuffer.append(TEXT_79);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_80);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_81);

-					stringBuffer.append(genClass.getFlagMask(genFeature));

-					stringBuffer.append(TEXT_82);

-					if (genFeature.isEnumType()) {

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_83);

-					} else {

-						stringBuffer.append(flagIndex % 32);

-					}

-					stringBuffer.append(TEXT_84);

-				} else {

-					stringBuffer.append(TEXT_85);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_86);

-					stringBuffer.append(genFeature.getFormattedName());

-					stringBuffer.append(TEXT_87);

-					stringBuffer.append(genFeature.getFeatureKind());

-					stringBuffer.append(TEXT_88);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_89);

-					if (isGWT) {

-						stringBuffer.append(TEXT_90);

-						stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-					}

-					stringBuffer.append(TEXT_91);

-					stringBuffer.append(genFeature.getImportedType(genClass));

-					stringBuffer.append(TEXT_92);

-					stringBuffer.append(genFeature.getSafeName());

-					if (genFeature.hasEDefault()) {

-						stringBuffer.append(TEXT_93);

-						stringBuffer.append(genFeature.getEDefault());

-					}

-					stringBuffer.append(TEXT_94);

-				}

-			}

-		}

-		if (genClass.isESetField(genFeature)) {

-			if (genClass.isESetFlag(genFeature)) {

-				int flagIndex = genClass.getESetFlagIndex(genFeature);

-				if (flagIndex > 31 && flagIndex % 32 == 0) {

-					stringBuffer.append(TEXT_95);

-					if (isGWT) {

-						stringBuffer.append(TEXT_96);

-						stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-					}

-					stringBuffer.append(TEXT_97);

-					stringBuffer.append(genClass.getESetFlagsField(genFeature));

-					stringBuffer.append(TEXT_98);

-				}

-				stringBuffer.append(TEXT_99);

-				stringBuffer.append(genFeature.getFormattedName());

-				stringBuffer.append(TEXT_100);

-				stringBuffer.append(genFeature.getFeatureKind());

-				stringBuffer.append(TEXT_101);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_102);

-				stringBuffer.append(flagIndex % 32);

-				stringBuffer.append(TEXT_103);

-			} else {

-				stringBuffer.append(TEXT_104);

-				stringBuffer.append(genFeature.getFormattedName());

-				stringBuffer.append(TEXT_105);

-				stringBuffer.append(genFeature.getFeatureKind());

-				stringBuffer.append(TEXT_106);

-				if (isGWT) {

-					stringBuffer.append(TEXT_107);

-					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-				}

-				stringBuffer.append(TEXT_108);

-				stringBuffer.append(genFeature.getUncapName());

-				stringBuffer.append(TEXT_109);

-			}

-		}

-		stringBuffer.append(TEXT_110);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0jyQMGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_111);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassdeclaredFieldGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ClassdeclaredFieldGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassdeclaredFieldGenFeatureoverride result = new ClassdeclaredFieldGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * The cached setting delegate for the '{@link #";
+	protected final String TEXT_3 = "() <em>";
+	protected final String TEXT_4 = "</em>}' ";
+	protected final String TEXT_5 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @see #";
+	protected final String TEXT_6 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_7 = NL + "\t@";
+	protected final String TEXT_8 = NL + "\tprotected ";
+	protected final String TEXT_9 = ".Internal.SettingDelegate ";
+	protected final String TEXT_10 = "__ESETTING_DELEGATE = ((";
+	protected final String TEXT_11 = ".Internal)";
+	protected final String TEXT_12 = ").getSettingDelegate();" + NL;
+	protected final String TEXT_13 = NL + "\t/**" + NL + "\t * The cached value of the '{@link #";
+	protected final String TEXT_14 = "() <em>";
+	protected final String TEXT_15 = "</em>}' ";
+	protected final String TEXT_16 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @see #";
+	protected final String TEXT_17 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_18 = NL + "\t@";
+	protected final String TEXT_19 = NL + "\tprotected ";
+	protected final String TEXT_20 = " ";
+	protected final String TEXT_21 = ";" + NL;
+	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";
+	protected final String TEXT_23 = "() <em>";
+	protected final String TEXT_24 = "</em>}' array accessor." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+	protected final String TEXT_25 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_26 = NL + "\t@SuppressWarnings(\"rawtypes\")";
+	protected final String TEXT_27 = NL + "\tprotected static final ";
+	protected final String TEXT_28 = "[] ";
+	protected final String TEXT_29 = "_EEMPTY_ARRAY = new ";
+	protected final String TEXT_30 = " [0]";
+	protected final String TEXT_31 = ";" + NL;
+	protected final String TEXT_32 = NL + "\t/**" + NL + "\t * The default value of the '{@link #";
+	protected final String TEXT_33 = "() <em>";
+	protected final String TEXT_34 = "</em>}' ";
+	protected final String TEXT_35 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @see #";
+	protected final String TEXT_36 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_37 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_38 = NL + "\tprotected static final ";
+	protected final String TEXT_39 = " ";
+	protected final String TEXT_40 = "; // TODO The default value literal \"";
+	protected final String TEXT_41 = "\" is not valid.";
+	protected final String TEXT_42 = " = ";
+	protected final String TEXT_43 = ";";
+	protected final String TEXT_44 = NL;
+	protected final String TEXT_45 = NL + "\t/**" + NL
+			+ "\t * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_46 = NL + "\t@";
+	protected final String TEXT_47 = NL + "\tprotected int ";
+	protected final String TEXT_48 = " = 0;" + NL;
+	protected final String TEXT_49 = NL + "\t/**" + NL
+			+ "\t * The offset of the flags representing the value of the '{@link #";
+	protected final String TEXT_50 = "() <em>";
+	protected final String TEXT_51 = "</em>}' ";
+	protected final String TEXT_52 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\tprotected static final int ";
+	protected final String TEXT_53 = "_EFLAG_OFFSET = ";
+	protected final String TEXT_54 = ";" + NL + "" + NL + "\t/**" + NL
+			+ "\t * The flags representing the default value of the '{@link #";
+	protected final String TEXT_55 = "() <em>";
+	protected final String TEXT_56 = "</em>}' ";
+	protected final String TEXT_57 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\tprotected static final int ";
+	protected final String TEXT_58 = "_EFLAG_DEFAULT = ";
+	protected final String TEXT_59 = ".ordinal()";
+	protected final String TEXT_60 = ".VALUES.indexOf(";
+	protected final String TEXT_61 = ")";
+	protected final String TEXT_62 = " << ";
+	protected final String TEXT_63 = "_EFLAG_OFFSET;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * The array of enumeration values for '{@link ";
+	protected final String TEXT_64 = " ";
+	protected final String TEXT_65 = "}'" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\tprivate static final ";
+	protected final String TEXT_66 = "[] ";
+	protected final String TEXT_67 = "_EFLAG_VALUES = ";
+	protected final String TEXT_68 = ".values()";
+	protected final String TEXT_69 = "(";
+	protected final String TEXT_70 = "[])";
+	protected final String TEXT_71 = ".VALUES.toArray(new ";
+	protected final String TEXT_72 = "[";
+	protected final String TEXT_73 = ".VALUES.size()])";
+	protected final String TEXT_74 = ";" + NL;
+	protected final String TEXT_75 = NL + "\t/**" + NL + "\t * The flag";
+	protected final String TEXT_76 = " representing the value of the '{@link #";
+	protected final String TEXT_77 = "() <em>";
+	protected final String TEXT_78 = "</em>}' ";
+	protected final String TEXT_79 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @see #";
+	protected final String TEXT_80 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL
+			+ "\tprotected static final int ";
+	protected final String TEXT_81 = "_EFLAG = ";
+	protected final String TEXT_82 = " << ";
+	protected final String TEXT_83 = "_EFLAG_OFFSET";
+	protected final String TEXT_84 = ";" + NL;
+	protected final String TEXT_85 = NL + "\t/**" + NL + "\t * The cached value of the '{@link #";
+	protected final String TEXT_86 = "() <em>";
+	protected final String TEXT_87 = "</em>}' ";
+	protected final String TEXT_88 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @see #";
+	protected final String TEXT_89 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_90 = NL + "\t@";
+	protected final String TEXT_91 = NL + "\tprotected ";
+	protected final String TEXT_92 = " ";
+	protected final String TEXT_93 = " = ";
+	protected final String TEXT_94 = ";" + NL;
+	protected final String TEXT_95 = NL + "\t/**" + NL
+			+ "\t * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_96 = NL + "\t@";
+	protected final String TEXT_97 = NL + "\tprotected int ";
+	protected final String TEXT_98 = " = 0;" + NL;
+	protected final String TEXT_99 = NL + "\t/**" + NL + "\t * The flag representing whether the ";
+	protected final String TEXT_100 = " ";
+	protected final String TEXT_101 = " has been set." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL
+			+ "\tprotected static final int ";
+	protected final String TEXT_102 = "_ESETFLAG = 1 << ";
+	protected final String TEXT_103 = ";" + NL;
+	protected final String TEXT_104 = NL + "\t/**" + NL + "\t * This is true if the ";
+	protected final String TEXT_105 = " ";
+	protected final String TEXT_106 = " has been set." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_107 = NL + "\t@";
+	protected final String TEXT_108 = NL + "\tprotected boolean ";
+	protected final String TEXT_109 = "ESet;" + NL;
+	protected final String TEXT_110 = NL;
+	protected final String TEXT_111 = NL;
+	protected final String TEXT_112 = NL;
+	protected final String TEXT_113 = NL;
+
+	public ClassdeclaredFieldGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_112);
+		stringBuffer.append(TEXT_113);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genFeature.hasSettingDelegate()) {
+			stringBuffer.append(TEXT_2);
+			stringBuffer.append(genFeature.getGetAccessor());
+			stringBuffer.append(TEXT_3);
+			stringBuffer.append(genFeature.getFormattedName());
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(genFeature.getFeatureKind());
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genFeature.getGetAccessor());
+			stringBuffer.append(TEXT_6);
+			if (isGWT) {
+				stringBuffer.append(TEXT_7);
+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+			}
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genFeature.getUpperName());
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+			stringBuffer.append(TEXT_11);
+			stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+			stringBuffer.append(TEXT_12);
+		} else if (genFeature.isListType() || genFeature.isReferenceType()) {
+			if (genClass.isField(genFeature)) {
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genFeature.getFormattedName());
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(genFeature.getFeatureKind());
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_17);
+				if (isGWT) {
+					stringBuffer.append(TEXT_18);
+					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+				}
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(genFeature.getImportedInternalType(genClass));
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_21);
+			}
+			if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+					&& !genFeature.isMapType()) {
+				String rawListItemType = genFeature.getRawListItemType(genClass);
+				int index = rawListItemType.indexOf('[');
+				String head = rawListItemType;
+				String tail = "";
+				if (index != -1) {
+					head = rawListItemType.substring(0, index);
+					tail = rawListItemType.substring(index);
+				}
+				stringBuffer.append(TEXT_22);
+				stringBuffer.append(genFeature.getGetArrayAccessor());
+				stringBuffer.append(TEXT_23);
+				stringBuffer.append(genFeature.getFormattedName());
+				stringBuffer.append(TEXT_24);
+				stringBuffer.append(genFeature.getGetArrayAccessor());
+				stringBuffer.append(TEXT_25);
+				if (genFeature.getQualifiedListItemType(genClass).contains("<")
+						|| genFeature.getArrayItemType(genClass).contains("<")) {
+					stringBuffer.append(TEXT_26);
+				}
+				stringBuffer.append(TEXT_27);
+				stringBuffer.append(rawListItemType);
+				stringBuffer.append(TEXT_28);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(head);
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(tail);
+				stringBuffer.append(TEXT_31);
+			}
+		} else {
+			if (genFeature.hasEDefault() && (!genFeature.isVolatile() || !genModel.isReflectiveDelegation()
+					&& (!genFeature.hasDelegateFeature() || !genFeature.isUnsettable()))) {
+				String staticDefaultValue = genFeature.getStaticDefaultValue();
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_33);
+				stringBuffer.append(genFeature.getFormattedName());
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genFeature.getFeatureKind());
+				stringBuffer.append(TEXT_35);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_36);
+				if (genModel.useGenerics() && genFeature.isListDataType() && genFeature.isSetDefaultValue()) {
+					stringBuffer.append(TEXT_37);
+				}
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_39);
+				stringBuffer.append(genFeature.getEDefault());
+				if ("".equals(staticDefaultValue)) {
+					stringBuffer.append(TEXT_40);
+					stringBuffer.append(genFeature.getEcoreFeature().getDefaultValueLiteral());
+					stringBuffer.append(TEXT_41);
+				} else {
+					stringBuffer.append(TEXT_42);
+					stringBuffer.append(staticDefaultValue);
+					stringBuffer.append(TEXT_43);
+					stringBuffer.append(genModel.getNonNLS(staticDefaultValue));
+				}
+				stringBuffer.append(TEXT_44);
+			}
+			if (genClass.isField(genFeature)) {
+				if (genClass.isFlag(genFeature)) {
+					int flagIndex = genClass.getFlagIndex(genFeature);
+					if (flagIndex > 31 && flagIndex % 32 == 0) {
+						stringBuffer.append(TEXT_45);
+						if (isGWT) {
+							stringBuffer.append(TEXT_46);
+							stringBuffer
+									.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+						}
+						stringBuffer.append(TEXT_47);
+						stringBuffer.append(genClass.getFlagsField(genFeature));
+						stringBuffer.append(TEXT_48);
+					}
+					if (genFeature.isEnumType()) {
+						stringBuffer.append(TEXT_49);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_50);
+						stringBuffer.append(genFeature.getFormattedName());
+						stringBuffer.append(TEXT_51);
+						stringBuffer.append(genFeature.getFeatureKind());
+						stringBuffer.append(TEXT_52);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_53);
+						stringBuffer.append(flagIndex % 32);
+						stringBuffer.append(TEXT_54);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(genFeature.getFormattedName());
+						stringBuffer.append(TEXT_56);
+						stringBuffer.append(genFeature.getFeatureKind());
+						stringBuffer.append(TEXT_57);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_58);
+						if (isJDK50) {
+							stringBuffer.append(genFeature.getEDefault());
+							stringBuffer.append(TEXT_59);
+						} else {
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_60);
+							stringBuffer.append(genFeature.getEDefault());
+							stringBuffer.append(TEXT_61);
+						}
+						stringBuffer.append(TEXT_62);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_63);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_64);
+						stringBuffer.append(genFeature.getTypeGenClassifier().getFormattedName());
+						stringBuffer.append(TEXT_65);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_66);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_67);
+						if (isJDK50) {
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_68);
+						} else {
+							stringBuffer.append(TEXT_69);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_70);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_71);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_72);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_73);
+						}
+						stringBuffer.append(TEXT_74);
+					}
+					stringBuffer.append(TEXT_75);
+					stringBuffer.append(genClass.getFlagSize(genFeature) > 1 ? "s" : "");
+					stringBuffer.append(TEXT_76);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_77);
+					stringBuffer.append(genFeature.getFormattedName());
+					stringBuffer.append(TEXT_78);
+					stringBuffer.append(genFeature.getFeatureKind());
+					stringBuffer.append(TEXT_79);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_80);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_81);
+					stringBuffer.append(genClass.getFlagMask(genFeature));
+					stringBuffer.append(TEXT_82);
+					if (genFeature.isEnumType()) {
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_83);
+					} else {
+						stringBuffer.append(flagIndex % 32);
+					}
+					stringBuffer.append(TEXT_84);
+				} else {
+					stringBuffer.append(TEXT_85);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_86);
+					stringBuffer.append(genFeature.getFormattedName());
+					stringBuffer.append(TEXT_87);
+					stringBuffer.append(genFeature.getFeatureKind());
+					stringBuffer.append(TEXT_88);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_89);
+					if (isGWT) {
+						stringBuffer.append(TEXT_90);
+						stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+					}
+					stringBuffer.append(TEXT_91);
+					stringBuffer.append(genFeature.getImportedType(genClass));
+					stringBuffer.append(TEXT_92);
+					stringBuffer.append(genFeature.getSafeName());
+					if (genFeature.hasEDefault()) {
+						stringBuffer.append(TEXT_93);
+						stringBuffer.append(genFeature.getEDefault());
+					}
+					stringBuffer.append(TEXT_94);
+				}
+			}
+		}
+		if (genClass.isESetField(genFeature)) {
+			if (genClass.isESetFlag(genFeature)) {
+				int flagIndex = genClass.getESetFlagIndex(genFeature);
+				if (flagIndex > 31 && flagIndex % 32 == 0) {
+					stringBuffer.append(TEXT_95);
+					if (isGWT) {
+						stringBuffer.append(TEXT_96);
+						stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+					}
+					stringBuffer.append(TEXT_97);
+					stringBuffer.append(genClass.getESetFlagsField(genFeature));
+					stringBuffer.append(TEXT_98);
+				}
+				stringBuffer.append(TEXT_99);
+				stringBuffer.append(genFeature.getFormattedName());
+				stringBuffer.append(TEXT_100);
+				stringBuffer.append(genFeature.getFeatureKind());
+				stringBuffer.append(TEXT_101);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_102);
+				stringBuffer.append(flagIndex % 32);
+				stringBuffer.append(TEXT_103);
+			} else {
+				stringBuffer.append(TEXT_104);
+				stringBuffer.append(genFeature.getFormattedName());
+				stringBuffer.append(TEXT_105);
+				stringBuffer.append(genFeature.getFeatureKind());
+				stringBuffer.append(TEXT_106);
+				if (isGWT) {
+					stringBuffer.append(TEXT_107);
+					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+				}
+				stringBuffer.append(TEXT_108);
+				stringBuffer.append(genFeature.getUncapName());
+				stringBuffer.append(TEXT_109);
+			}
+		}
+		stringBuffer.append(TEXT_110);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0jyQMGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_111);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseIsSetoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseIsSetoverride.java
index 06476c0..2ab2539 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseIsSetoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseIsSetoverride.java
@@ -1,568 +1,570 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClasseIsSetoverride {

-	protected static String nl;

-

-	public static synchronized ClasseIsSetoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClasseIsSetoverride result = new ClasseIsSetoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_2 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_3 = NL + "\t@Override";

-	protected final String TEXT_4 = NL + "\tpublic boolean eIsSet(int featureID)" + NL + "\t{" + NL

-			+ "\t\tswitch (featureID";

-	protected final String TEXT_5 = ")" + NL + "\t\t{";

-	protected final String TEXT_6 = NL + "\t\t\tcase ";

-	protected final String TEXT_7 = ":";

-	protected final String TEXT_8 = NL + "\t\t\t\treturn isSet";

-	protected final String TEXT_9 = "();";

-	protected final String TEXT_10 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_11 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";

-	protected final String TEXT_12 = NL + "\t\t\t\treturn !((";

-	protected final String TEXT_13 = ".Internal.Wrapper)";

-	protected final String TEXT_14 = "()).featureMap().isEmpty();";

-	protected final String TEXT_15 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_16 = " != null && !";

-	protected final String TEXT_17 = ".featureMap().isEmpty();";

-	protected final String TEXT_18 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_19 = " != null && !";

-	protected final String TEXT_20 = ".isEmpty();";

-	protected final String TEXT_21 = NL + "\t\t\t\t";

-	protected final String TEXT_22 = " ";

-	protected final String TEXT_23 = " = (";

-	protected final String TEXT_24 = ")eVirtualGet(";

-	protected final String TEXT_25 = ");" + NL + "\t\t\t\treturn ";

-	protected final String TEXT_26 = " != null && !";

-	protected final String TEXT_27 = ".isEmpty();";

-	protected final String TEXT_28 = NL + "\t\t\t\treturn !";

-	protected final String TEXT_29 = "().isEmpty();";

-	protected final String TEXT_30 = NL + "\t\t\t\treturn isSet";

-	protected final String TEXT_31 = "();";

-	protected final String TEXT_32 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_33 = " != null;";

-	protected final String TEXT_34 = NL + "\t\t\t\treturn eVirtualGet(";

-	protected final String TEXT_35 = ") != null;";

-	protected final String TEXT_36 = NL + "\t\t\t\treturn basicGet";

-	protected final String TEXT_37 = "() != null;";

-	protected final String TEXT_38 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_39 = " != null;";

-	protected final String TEXT_40 = NL + "\t\t\t\treturn eVirtualGet(";

-	protected final String TEXT_41 = ") != null;";

-	protected final String TEXT_42 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_43 = "() != null;";

-	protected final String TEXT_44 = NL + "\t\t\t\treturn ((";

-	protected final String TEXT_45 = " & ";

-	protected final String TEXT_46 = "_EFLAG) != 0) != ";

-	protected final String TEXT_47 = ";";

-	protected final String TEXT_48 = NL + "\t\t\t\treturn (";

-	protected final String TEXT_49 = " & ";

-	protected final String TEXT_50 = "_EFLAG) != ";

-	protected final String TEXT_51 = "_EFLAG_DEFAULT;";

-	protected final String TEXT_52 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_53 = " != ";

-	protected final String TEXT_54 = ";";

-	protected final String TEXT_55 = NL + "\t\t\t\treturn eVirtualGet(";

-	protected final String TEXT_56 = ", ";

-	protected final String TEXT_57 = ") != ";

-	protected final String TEXT_58 = ";";

-	protected final String TEXT_59 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_60 = "() != ";

-	protected final String TEXT_61 = ";";

-	protected final String TEXT_62 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_63 = " == null ? ";

-	protected final String TEXT_64 = " != null : !";

-	protected final String TEXT_65 = ".equals(";

-	protected final String TEXT_66 = ");";

-	protected final String TEXT_67 = NL + "\t\t\t\t";

-	protected final String TEXT_68 = " ";

-	protected final String TEXT_69 = " = (";

-	protected final String TEXT_70 = ")eVirtualGet(";

-	protected final String TEXT_71 = ", ";

-	protected final String TEXT_72 = ");" + NL + "\t\t\t\treturn ";

-	protected final String TEXT_73 = " == null ? ";

-	protected final String TEXT_74 = " != null : !";

-	protected final String TEXT_75 = ".equals(";

-	protected final String TEXT_76 = ");";

-	protected final String TEXT_77 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_78 = " == null ? ";

-	protected final String TEXT_79 = "() != null : !";

-	protected final String TEXT_80 = ".equals(";

-	protected final String TEXT_81 = "());";

-	protected final String TEXT_82 = NL + "\t\t}";

-	protected final String TEXT_83 = NL + "\t\treturn super.eIsSet(featureID);";

-	protected final String TEXT_84 = NL + "\t\treturn eDynamicIsSet(featureID);";

-	protected final String TEXT_85 = NL + "\t}" + NL + NL;

-	protected final String TEXT_86 = NL;

-	protected final String TEXT_87 = NL;

-

-	public ClasseIsSetoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object isJDK50Parameter : isJDK50List) {

-						for (Object isInterfaceParameter : isInterfaceList) {

-							for (Object isImplementationParameter : isImplementationList) {

-								for (Object isGWTParameter : isGWTList) {

-									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-										for (Object singleWildcardParameter : singleWildcardList) {

-											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-															this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-															this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-															this.isGWT = (java.lang.Boolean) isGWTParameter;

-															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-															this.singleWildcard = (java.lang.String) singleWildcardParameter;

-															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-															if (preCondition(ctx)) {

-																ctx.setNode(new Node.Container(currentNode, getClass()));

-																orchestration(ctx);

-															}

-

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_86);

-		stringBuffer.append(TEXT_87);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genModel.useGenerics()) {

-			for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {

-				if (genFeature.isListType() && !genFeature.isUnsettable() && !genFeature.isWrappedFeatureMapType()

-						&& !genClass.isField(genFeature) && genFeature.isField()

-						&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-					stringBuffer.append(TEXT_2);

-					break;

-				}

-			}

-		}

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_3);

-		}

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(negativeOffsetCorrection);

-		stringBuffer.append(TEXT_5);

-		for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {

-			String safeNameAccessor = genFeature.getSafeName();

-			if ("featureID".equals(safeNameAccessor)) {

-				safeNameAccessor = "this." + safeNameAccessor;

-			}

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			stringBuffer.append(TEXT_7);

-			if (genFeature.hasSettingDelegate()) {

-				if (genFeature.isUnsettable()) {

-					stringBuffer.append(TEXT_8);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_9);

-				} else {

-					stringBuffer.append(TEXT_10);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_11);

-				}

-			} else if (genFeature.isListType() && !genFeature.isUnsettable()) {

-				if (genFeature.isWrappedFeatureMapType()) {

-					if (genFeature.isVolatile()) {

-						stringBuffer.append(TEXT_12);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-						stringBuffer.append(TEXT_13);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_14);

-					} else {

-						stringBuffer.append(TEXT_15);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_16);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_17);

-					}

-				} else {

-					if (genClass.isField(genFeature)) {

-						stringBuffer.append(TEXT_18);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_19);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_20);

-					} else {

-						if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-							stringBuffer.append(TEXT_21);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_22);

-							stringBuffer.append(safeNameAccessor);

-							stringBuffer.append(TEXT_23);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_24);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_25);

-							stringBuffer.append(safeNameAccessor);

-							stringBuffer.append(TEXT_26);

-							stringBuffer.append(safeNameAccessor);

-							stringBuffer.append(TEXT_27);

-						} else {

-							stringBuffer.append(TEXT_28);

-							stringBuffer.append(genFeature.getGetAccessor());

-							stringBuffer.append(TEXT_29);

-						}

-					}

-				}

-			} else if (genFeature.isUnsettable()) {

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_31);

-			} else if (genFeature.isResolveProxies()) {

-				if (genClass.isField(genFeature)) {

-					stringBuffer.append(TEXT_32);

-					stringBuffer.append(safeNameAccessor);

-					stringBuffer.append(TEXT_33);

-				} else {

-					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-						stringBuffer.append(TEXT_34);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_35);

-					} else {

-						stringBuffer.append(TEXT_36);

-						stringBuffer.append(genFeature.getAccessorName());

-						stringBuffer.append(TEXT_37);

-					}

-				}

-			} else if (!genFeature.hasEDefault()) {

-				if (genClass.isField(genFeature)) {

-					stringBuffer.append(TEXT_38);

-					stringBuffer.append(safeNameAccessor);

-					stringBuffer.append(TEXT_39);

-				} else {

-					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-						stringBuffer.append(TEXT_40);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_41);

-					} else {

-						stringBuffer.append(TEXT_42);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_43);

-					}

-				}

-			} else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {

-				if (genClass.isField(genFeature)) {

-					if (genClass.isFlag(genFeature)) {

-						if (genFeature.isBooleanType()) {

-							stringBuffer.append(TEXT_44);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_45);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_46);

-							stringBuffer.append(genFeature.getEDefault());

-							stringBuffer.append(TEXT_47);

-						} else {

-							stringBuffer.append(TEXT_48);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_49);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_50);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_51);

-						}

-					} else {

-						stringBuffer.append(TEXT_52);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_53);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_54);

-					}

-				} else {

-					if (genFeature.isEnumType() && genFeature.isField()

-							&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_56);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_57);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_58);

-					} else {

-						stringBuffer.append(TEXT_59);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_60);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_61);

-					}

-				}

-			} else {//datatype

-				if (genClass.isField(genFeature)) {

-					stringBuffer.append(TEXT_62);

-					stringBuffer.append(genFeature.getEDefault());

-					stringBuffer.append(TEXT_63);

-					stringBuffer.append(safeNameAccessor);

-					stringBuffer.append(TEXT_64);

-					stringBuffer.append(genFeature.getEDefault());

-					stringBuffer.append(TEXT_65);

-					stringBuffer.append(safeNameAccessor);

-					stringBuffer.append(TEXT_66);

-				} else {

-					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-						stringBuffer.append(TEXT_67);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_68);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_69);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_70);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_71);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_72);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_73);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_74);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_75);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_76);

-					} else {

-						stringBuffer.append(TEXT_77);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_78);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_79);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_80);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_81);

-					}

-				}

-			}

-		}

-		stringBuffer.append(TEXT_82);

-		if (genModel.isMinimalReflectiveMethods()) {

-			stringBuffer.append(TEXT_83);

-		} else {

-			stringBuffer.append(TEXT_84);

-		}

-		stringBuffer.append(TEXT_85);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasseIsSetoverride {
+	protected static String nl;
+
+	public static synchronized ClasseIsSetoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClasseIsSetoverride result = new ClasseIsSetoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_2 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_3 = NL + "\t@Override";
+	protected final String TEXT_4 = NL + "\tpublic boolean eIsSet(int featureID)" + NL + "\t{" + NL
+			+ "\t\tswitch (featureID";
+	protected final String TEXT_5 = ")" + NL + "\t\t{";
+	protected final String TEXT_6 = NL + "\t\t\tcase ";
+	protected final String TEXT_7 = ":";
+	protected final String TEXT_8 = NL + "\t\t\t\treturn isSet";
+	protected final String TEXT_9 = "();";
+	protected final String TEXT_10 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_11 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";
+	protected final String TEXT_12 = NL + "\t\t\t\treturn !((";
+	protected final String TEXT_13 = ".Internal.Wrapper)";
+	protected final String TEXT_14 = "()).featureMap().isEmpty();";
+	protected final String TEXT_15 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_16 = " != null && !";
+	protected final String TEXT_17 = ".featureMap().isEmpty();";
+	protected final String TEXT_18 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_19 = " != null && !";
+	protected final String TEXT_20 = ".isEmpty();";
+	protected final String TEXT_21 = NL + "\t\t\t\t";
+	protected final String TEXT_22 = " ";
+	protected final String TEXT_23 = " = (";
+	protected final String TEXT_24 = ")eVirtualGet(";
+	protected final String TEXT_25 = ");" + NL + "\t\t\t\treturn ";
+	protected final String TEXT_26 = " != null && !";
+	protected final String TEXT_27 = ".isEmpty();";
+	protected final String TEXT_28 = NL + "\t\t\t\treturn !";
+	protected final String TEXT_29 = "().isEmpty();";
+	protected final String TEXT_30 = NL + "\t\t\t\treturn isSet";
+	protected final String TEXT_31 = "();";
+	protected final String TEXT_32 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_33 = " != null;";
+	protected final String TEXT_34 = NL + "\t\t\t\treturn eVirtualGet(";
+	protected final String TEXT_35 = ") != null;";
+	protected final String TEXT_36 = NL + "\t\t\t\treturn basicGet";
+	protected final String TEXT_37 = "() != null;";
+	protected final String TEXT_38 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_39 = " != null;";
+	protected final String TEXT_40 = NL + "\t\t\t\treturn eVirtualGet(";
+	protected final String TEXT_41 = ") != null;";
+	protected final String TEXT_42 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_43 = "() != null;";
+	protected final String TEXT_44 = NL + "\t\t\t\treturn ((";
+	protected final String TEXT_45 = " & ";
+	protected final String TEXT_46 = "_EFLAG) != 0) != ";
+	protected final String TEXT_47 = ";";
+	protected final String TEXT_48 = NL + "\t\t\t\treturn (";
+	protected final String TEXT_49 = " & ";
+	protected final String TEXT_50 = "_EFLAG) != ";
+	protected final String TEXT_51 = "_EFLAG_DEFAULT;";
+	protected final String TEXT_52 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_53 = " != ";
+	protected final String TEXT_54 = ";";
+	protected final String TEXT_55 = NL + "\t\t\t\treturn eVirtualGet(";
+	protected final String TEXT_56 = ", ";
+	protected final String TEXT_57 = ") != ";
+	protected final String TEXT_58 = ";";
+	protected final String TEXT_59 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_60 = "() != ";
+	protected final String TEXT_61 = ";";
+	protected final String TEXT_62 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_63 = " == null ? ";
+	protected final String TEXT_64 = " != null : !";
+	protected final String TEXT_65 = ".equals(";
+	protected final String TEXT_66 = ");";
+	protected final String TEXT_67 = NL + "\t\t\t\t";
+	protected final String TEXT_68 = " ";
+	protected final String TEXT_69 = " = (";
+	protected final String TEXT_70 = ")eVirtualGet(";
+	protected final String TEXT_71 = ", ";
+	protected final String TEXT_72 = ");" + NL + "\t\t\t\treturn ";
+	protected final String TEXT_73 = " == null ? ";
+	protected final String TEXT_74 = " != null : !";
+	protected final String TEXT_75 = ".equals(";
+	protected final String TEXT_76 = ");";
+	protected final String TEXT_77 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_78 = " == null ? ";
+	protected final String TEXT_79 = "() != null : !";
+	protected final String TEXT_80 = ".equals(";
+	protected final String TEXT_81 = "());";
+	protected final String TEXT_82 = NL + "\t\t}";
+	protected final String TEXT_83 = NL + "\t\treturn super.eIsSet(featureID);";
+	protected final String TEXT_84 = NL + "\t\treturn eDynamicIsSet(featureID);";
+	protected final String TEXT_85 = NL + "\t}" + NL + NL;
+	protected final String TEXT_86 = NL;
+	protected final String TEXT_87 = NL;
+
+	public ClasseIsSetoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object isJDK50Parameter : isJDK50List) {
+						for (Object isInterfaceParameter : isInterfaceList) {
+							for (Object isImplementationParameter : isImplementationList) {
+								for (Object isGWTParameter : isGWTList) {
+									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+										for (Object singleWildcardParameter : singleWildcardList) {
+											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+															this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+															this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+															this.isGWT = (java.lang.Boolean) isGWTParameter;
+															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+															this.singleWildcard = (java.lang.String) singleWildcardParameter;
+															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+															if (preCondition(ctx)) {
+																ctx.setNode(
+																		new Node.Container(currentNode, getClass()));
+																orchestration(ctx);
+															}
+
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_86);
+		stringBuffer.append(TEXT_87);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genModel.useGenerics()) {
+			for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {
+				if (genFeature.isListType() && !genFeature.isUnsettable() && !genFeature.isWrappedFeatureMapType()
+						&& !genClass.isField(genFeature) && genFeature.isField()
+						&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+					stringBuffer.append(TEXT_2);
+					break;
+				}
+			}
+		}
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_3);
+		}
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(negativeOffsetCorrection);
+		stringBuffer.append(TEXT_5);
+		for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {
+			String safeNameAccessor = genFeature.getSafeName();
+			if ("featureID".equals(safeNameAccessor)) {
+				safeNameAccessor = "this." + safeNameAccessor;
+			}
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			stringBuffer.append(TEXT_7);
+			if (genFeature.hasSettingDelegate()) {
+				if (genFeature.isUnsettable()) {
+					stringBuffer.append(TEXT_8);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_9);
+				} else {
+					stringBuffer.append(TEXT_10);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_11);
+				}
+			} else if (genFeature.isListType() && !genFeature.isUnsettable()) {
+				if (genFeature.isWrappedFeatureMapType()) {
+					if (genFeature.isVolatile()) {
+						stringBuffer.append(TEXT_12);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+						stringBuffer.append(TEXT_13);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_14);
+					} else {
+						stringBuffer.append(TEXT_15);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_16);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_17);
+					}
+				} else {
+					if (genClass.isField(genFeature)) {
+						stringBuffer.append(TEXT_18);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_19);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_20);
+					} else {
+						if (genFeature.isField()
+								&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+							stringBuffer.append(TEXT_21);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_22);
+							stringBuffer.append(safeNameAccessor);
+							stringBuffer.append(TEXT_23);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_24);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_25);
+							stringBuffer.append(safeNameAccessor);
+							stringBuffer.append(TEXT_26);
+							stringBuffer.append(safeNameAccessor);
+							stringBuffer.append(TEXT_27);
+						} else {
+							stringBuffer.append(TEXT_28);
+							stringBuffer.append(genFeature.getGetAccessor());
+							stringBuffer.append(TEXT_29);
+						}
+					}
+				}
+			} else if (genFeature.isUnsettable()) {
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_31);
+			} else if (genFeature.isResolveProxies()) {
+				if (genClass.isField(genFeature)) {
+					stringBuffer.append(TEXT_32);
+					stringBuffer.append(safeNameAccessor);
+					stringBuffer.append(TEXT_33);
+				} else {
+					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+						stringBuffer.append(TEXT_34);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_35);
+					} else {
+						stringBuffer.append(TEXT_36);
+						stringBuffer.append(genFeature.getAccessorName());
+						stringBuffer.append(TEXT_37);
+					}
+				}
+			} else if (!genFeature.hasEDefault()) {
+				if (genClass.isField(genFeature)) {
+					stringBuffer.append(TEXT_38);
+					stringBuffer.append(safeNameAccessor);
+					stringBuffer.append(TEXT_39);
+				} else {
+					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+						stringBuffer.append(TEXT_40);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_41);
+					} else {
+						stringBuffer.append(TEXT_42);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_43);
+					}
+				}
+			} else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {
+				if (genClass.isField(genFeature)) {
+					if (genClass.isFlag(genFeature)) {
+						if (genFeature.isBooleanType()) {
+							stringBuffer.append(TEXT_44);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_45);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_46);
+							stringBuffer.append(genFeature.getEDefault());
+							stringBuffer.append(TEXT_47);
+						} else {
+							stringBuffer.append(TEXT_48);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_49);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_50);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_51);
+						}
+					} else {
+						stringBuffer.append(TEXT_52);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_53);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_54);
+					}
+				} else {
+					if (genFeature.isEnumType() && genFeature.isField()
+							&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_56);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_57);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_58);
+					} else {
+						stringBuffer.append(TEXT_59);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_60);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_61);
+					}
+				}
+			} else {//datatype
+				if (genClass.isField(genFeature)) {
+					stringBuffer.append(TEXT_62);
+					stringBuffer.append(genFeature.getEDefault());
+					stringBuffer.append(TEXT_63);
+					stringBuffer.append(safeNameAccessor);
+					stringBuffer.append(TEXT_64);
+					stringBuffer.append(genFeature.getEDefault());
+					stringBuffer.append(TEXT_65);
+					stringBuffer.append(safeNameAccessor);
+					stringBuffer.append(TEXT_66);
+				} else {
+					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+						stringBuffer.append(TEXT_67);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_68);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_69);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_70);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_71);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_72);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_73);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_74);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_75);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_76);
+					} else {
+						stringBuffer.append(TEXT_77);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_78);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_79);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_80);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_81);
+					}
+				}
+			}
+		}
+		stringBuffer.append(TEXT_82);
+		if (genModel.isMinimalReflectiveMethods()) {
+			stringBuffer.append(TEXT_83);
+		} else {
+			stringBuffer.append(TEXT_84);
+		}
+		stringBuffer.append(TEXT_85);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseUnsetoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseUnsetoverride.java
index e15c7c6..b5b8681 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseUnsetoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasseUnsetoverride.java
@@ -1,344 +1,345 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClasseUnsetoverride {

-	protected static String nl;

-

-	public static synchronized ClasseUnsetoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClasseUnsetoverride result = new ClasseUnsetoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_2 = NL + "\t@Override";

-	protected final String TEXT_3 = NL + "\tpublic void eUnset(int featureID)" + NL + "\t{" + NL

-			+ "\t\tswitch (featureID";

-	protected final String TEXT_4 = ")" + NL + "\t\t{";

-	protected final String TEXT_5 = NL + "\t\t\tcase ";

-	protected final String TEXT_6 = ":";

-	protected final String TEXT_7 = NL + "\t\t\t\t((";

-	protected final String TEXT_8 = ".Internal.Wrapper)";

-	protected final String TEXT_9 = "()).featureMap().clear();";

-	protected final String TEXT_10 = NL + "\t\t\t\t";

-	protected final String TEXT_11 = "().clear();";

-	protected final String TEXT_12 = NL + "\t\t\t\tunset";

-	protected final String TEXT_13 = "();";

-	protected final String TEXT_14 = NL + "\t\t\t\tset";

-	protected final String TEXT_15 = "((";

-	protected final String TEXT_16 = ")null);";

-	protected final String TEXT_17 = NL + "\t\t\t\t";

-	protected final String TEXT_18 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";

-	protected final String TEXT_19 = NL + "\t\t\t\tset";

-	protected final String TEXT_20 = "(";

-	protected final String TEXT_21 = ");";

-	protected final String TEXT_22 = NL + "\t\t\t\treturn;";

-	protected final String TEXT_23 = NL + "\t\t}";

-	protected final String TEXT_24 = NL + "\t\tsuper.eUnset(featureID);";

-	protected final String TEXT_25 = NL + "\t\teDynamicUnset(featureID);";

-	protected final String TEXT_26 = NL + "\t}" + NL + NL;

-	protected final String TEXT_27 = NL;

-	protected final String TEXT_28 = NL;

-

-	public ClasseUnsetoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object isJDK50Parameter : isJDK50List) {

-						for (Object isInterfaceParameter : isInterfaceList) {

-							for (Object isImplementationParameter : isImplementationList) {

-								for (Object isGWTParameter : isGWTList) {

-									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-										for (Object singleWildcardParameter : singleWildcardList) {

-											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-															this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-															this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-															this.isGWT = (java.lang.Boolean) isGWTParameter;

-															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-															this.singleWildcard = (java.lang.String) singleWildcardParameter;

-															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-															if (preCondition(ctx)) {

-																ctx.setNode(new Node.Container(currentNode, getClass()));

-																orchestration(ctx);

-															}

-

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_27);

-		stringBuffer.append(TEXT_28);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_2);

-		}

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(negativeOffsetCorrection);

-		stringBuffer.append(TEXT_4);

-		for (GenFeature genFeature : genClass.getEUnsetGenFeatures()) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			stringBuffer.append(TEXT_6);

-			if (genFeature.isListType() && !genFeature.isUnsettable()) {

-				if (genFeature.isWrappedFeatureMapType()) {

-					stringBuffer.append(TEXT_7);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_8);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_9);

-				} else {

-					stringBuffer.append(TEXT_10);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_11);

-				}

-			} else if (genFeature.isUnsettable()) {

-				stringBuffer.append(TEXT_12);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_13);

-			} else if (!genFeature.hasEDefault()) {

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_16);

-			} else if (genFeature.hasSettingDelegate()) {

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_18);

-			} else {

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genFeature.getEDefault());

-				stringBuffer.append(TEXT_21);

-			}

-			stringBuffer.append(TEXT_22);

-		}

-		stringBuffer.append(TEXT_23);

-		if (genModel.isMinimalReflectiveMethods()) {

-			stringBuffer.append(TEXT_24);

-		} else {

-			stringBuffer.append(TEXT_25);

-		}

-		stringBuffer.append(TEXT_26);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasseUnsetoverride {
+	protected static String nl;
+
+	public static synchronized ClasseUnsetoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClasseUnsetoverride result = new ClasseUnsetoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_2 = NL + "\t@Override";
+	protected final String TEXT_3 = NL + "\tpublic void eUnset(int featureID)" + NL + "\t{" + NL
+			+ "\t\tswitch (featureID";
+	protected final String TEXT_4 = ")" + NL + "\t\t{";
+	protected final String TEXT_5 = NL + "\t\t\tcase ";
+	protected final String TEXT_6 = ":";
+	protected final String TEXT_7 = NL + "\t\t\t\t((";
+	protected final String TEXT_8 = ".Internal.Wrapper)";
+	protected final String TEXT_9 = "()).featureMap().clear();";
+	protected final String TEXT_10 = NL + "\t\t\t\t";
+	protected final String TEXT_11 = "().clear();";
+	protected final String TEXT_12 = NL + "\t\t\t\tunset";
+	protected final String TEXT_13 = "();";
+	protected final String TEXT_14 = NL + "\t\t\t\tset";
+	protected final String TEXT_15 = "((";
+	protected final String TEXT_16 = ")null);";
+	protected final String TEXT_17 = NL + "\t\t\t\t";
+	protected final String TEXT_18 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";
+	protected final String TEXT_19 = NL + "\t\t\t\tset";
+	protected final String TEXT_20 = "(";
+	protected final String TEXT_21 = ");";
+	protected final String TEXT_22 = NL + "\t\t\t\treturn;";
+	protected final String TEXT_23 = NL + "\t\t}";
+	protected final String TEXT_24 = NL + "\t\tsuper.eUnset(featureID);";
+	protected final String TEXT_25 = NL + "\t\teDynamicUnset(featureID);";
+	protected final String TEXT_26 = NL + "\t}" + NL + NL;
+	protected final String TEXT_27 = NL;
+	protected final String TEXT_28 = NL;
+
+	public ClasseUnsetoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object isJDK50Parameter : isJDK50List) {
+						for (Object isInterfaceParameter : isInterfaceList) {
+							for (Object isImplementationParameter : isImplementationList) {
+								for (Object isGWTParameter : isGWTList) {
+									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+										for (Object singleWildcardParameter : singleWildcardList) {
+											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+															this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+															this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+															this.isGWT = (java.lang.Boolean) isGWTParameter;
+															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+															this.singleWildcard = (java.lang.String) singleWildcardParameter;
+															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+															if (preCondition(ctx)) {
+																ctx.setNode(
+																		new Node.Container(currentNode, getClass()));
+																orchestration(ctx);
+															}
+
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_27);
+		stringBuffer.append(TEXT_28);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_2);
+		}
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(negativeOffsetCorrection);
+		stringBuffer.append(TEXT_4);
+		for (GenFeature genFeature : genClass.getEUnsetGenFeatures()) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			stringBuffer.append(TEXT_6);
+			if (genFeature.isListType() && !genFeature.isUnsettable()) {
+				if (genFeature.isWrappedFeatureMapType()) {
+					stringBuffer.append(TEXT_7);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_8);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_9);
+				} else {
+					stringBuffer.append(TEXT_10);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_11);
+				}
+			} else if (genFeature.isUnsettable()) {
+				stringBuffer.append(TEXT_12);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_13);
+			} else if (!genFeature.hasEDefault()) {
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_16);
+			} else if (genFeature.hasSettingDelegate()) {
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_18);
+			} else {
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genFeature.getEDefault());
+				stringBuffer.append(TEXT_21);
+			}
+			stringBuffer.append(TEXT_22);
+		}
+		stringBuffer.append(TEXT_23);
+		if (genModel.isMinimalReflectiveMethods()) {
+			stringBuffer.append(TEXT_24);
+		} else {
+			stringBuffer.append(TEXT_25);
+		}
+		stringBuffer.append(TEXT_26);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureReifiedoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureReifiedoverride.java
index 0b27477..ae6e19d 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureReifiedoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureReifiedoverride.java
@@ -1,660 +1,657 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgenFeatureReifiedoverride {

-	protected static String nl;

-

-	public static synchronized ClassgenFeatureReifiedoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgenFeatureReifiedoverride result = new ClassgenFeatureReifiedoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL

-			+ "\t * This is specialized for the more specific element type known in this context." + NL

-			+ "\t * @generated" + NL + "\t */";

-	protected final String TEXT_3 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_4 = NL + "\t@Override";

-	protected final String TEXT_5 = NL + "\tpublic ";

-	protected final String TEXT_6 = "[] ";

-	protected final String TEXT_7 = "()" + NL + "\t{";

-	protected final String TEXT_8 = NL + "\t\t";

-	protected final String TEXT_9 = " list = (";

-	protected final String TEXT_10 = ")";

-	protected final String TEXT_11 = "();" + NL + "\t\tif (list.isEmpty()) return ";

-	protected final String TEXT_12 = "_EEMPTY_ARRAY;";

-	protected final String TEXT_13 = NL + "\t\tif (";

-	protected final String TEXT_14 = " == null || ";

-	protected final String TEXT_15 = ".isEmpty()) return ";

-	protected final String TEXT_16 = "_EEMPTY_ARRAY;" + NL + "\t\t";

-	protected final String TEXT_17 = " list = (";

-	protected final String TEXT_18 = ")";

-	protected final String TEXT_19 = ";";

-	protected final String TEXT_20 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";

-	protected final String TEXT_21 = "[])list.data();" + NL + "\t}" + NL;

-	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL

-			+ "\t * This is specialized for the more specific element type known in this context." + NL

-			+ "\t * @generated" + NL + "\t */";

-	protected final String TEXT_23 = NL;

-	protected final String TEXT_24 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_25 = NL + "\t@Override";

-	protected final String TEXT_26 = NL + "\tpublic ";

-	protected final String TEXT_27 = " ";

-	protected final String TEXT_28 = "_";

-	protected final String TEXT_29 = "()" + NL + "\t{";

-	protected final String TEXT_30 = NL;

-	protected final String TEXT_31 = NL + "\t\t";

-	protected final String TEXT_32 = " ";

-	protected final String TEXT_33 = " = (";

-	protected final String TEXT_34 = ")eVirtualGet(";

-	protected final String TEXT_35 = ");";

-	protected final String TEXT_36 = NL + "\t\tif (";

-	protected final String TEXT_37 = " == null)" + NL + "\t\t{";

-	protected final String TEXT_38 = NL + "\t\t\teVirtualSet(";

-	protected final String TEXT_39 = ", ";

-	protected final String TEXT_40 = " = new ";

-	protected final String TEXT_41 = ");";

-	protected final String TEXT_42 = NL + "\t\t\t";

-	protected final String TEXT_43 = " = new ";

-	protected final String TEXT_44 = ";";

-	protected final String TEXT_45 = NL + "\t\t}" + NL + "\t\treturn ";

-	protected final String TEXT_46 = ";" + NL + "\t}" + NL;

-	protected final String TEXT_47 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL

-			+ "\t * This is specialized for the more specific type known in this context." + NL + "\t * @generated"

-			+ NL + "\t */";

-	protected final String TEXT_48 = NL;

-	protected final String TEXT_49 = NL + "\t@Override";

-	protected final String TEXT_50 = NL + "\tpublic ";

-	protected final String TEXT_51 = " basicSet";

-	protected final String TEXT_52 = "(";

-	protected final String TEXT_53 = " new";

-	protected final String TEXT_54 = ", ";

-	protected final String TEXT_55 = " msgs)" + NL + "\t{" + NL + "\t\treturn super.basicSet";

-	protected final String TEXT_56 = "(new";

-	protected final String TEXT_57 = ", msgs);" + NL + "\t}" + NL;

-	protected final String TEXT_58 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL

-			+ "\t * This is specialized for the more specific type known in this context." + NL + "\t * @generated"

-			+ NL + "\t */";

-	protected final String TEXT_59 = NL;

-	protected final String TEXT_60 = NL + "\t@Override";

-	protected final String TEXT_61 = NL + "\tpublic void set";

-	protected final String TEXT_62 = "_";

-	protected final String TEXT_63 = "(";

-	protected final String TEXT_64 = " ";

-	protected final String TEXT_65 = ")" + NL + "\t{" + NL + "\t\tsuper.set";

-	protected final String TEXT_66 = "_";

-	protected final String TEXT_67 = "(";

-	protected final String TEXT_68 = ");" + NL + "\t}" + NL;

-	protected final String TEXT_69 = NL;

-	protected final String TEXT_70 = NL;

-	protected final String TEXT_71 = NL;

-

-	public ClassgenFeatureReifiedoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> classExtendsGenClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> classExtendsAllGenFeaturesList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object classExtendsGenClassParameter : classExtendsGenClassList) {

-				for (Object classExtendsAllGenFeaturesParameter : classExtendsAllGenFeaturesList) {

-					for (Object genClassParameter : genClassList) {

-						for (Object genPackageParameter : genPackageList) {

-							for (Object genModelParameter : genModelList) {

-								for (Object isJDK50Parameter : isJDK50List) {

-									for (Object isInterfaceParameter : isInterfaceList) {

-										for (Object isImplementationParameter : isImplementationList) {

-											for (Object isGWTParameter : isGWTList) {

-												for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-													for (Object singleWildcardParameter : singleWildcardList) {

-														for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-															for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-																for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-																	for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																		this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																		this.classExtendsGenClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) classExtendsGenClassParameter;

-																		this.classExtendsAllGenFeatures = (java.util.List) classExtendsAllGenFeaturesParameter;

-																		this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																		this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																		this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																		this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																		this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																		this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																		this.isGWT = (java.lang.Boolean) isGWTParameter;

-																		this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																		this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																		this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																		this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																		this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																		this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																		if (preCondition(ctx)) {

-																			ctx.setNode(new Node.Container(currentNode,

-																					getClass()));

-																			orchestration(ctx);

-																		}

-

-																	}

-																}

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_70);

-		stringBuffer.append(TEXT_71);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("classExtendsGenClass", this.classExtendsGenClass);

-			parameterValues.put("classExtendsAllGenFeatures", this.classExtendsAllGenFeatures);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass classExtendsGenClass = null;

-

-	public void set_classExtendsGenClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.classExtendsGenClass = object;

-	}

-

-	protected java.util.List classExtendsAllGenFeatures = null;

-

-	public void set_classExtendsAllGenFeatures(java.util.List object) {

-		this.classExtendsAllGenFeatures = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("classExtendsGenClass", this.classExtendsGenClass);

-		parameters.put("classExtendsAllGenFeatures", this.classExtendsAllGenFeatures);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()

-				&& !genFeature.isMapType()) {

-			String arrayElementType = genFeature.getArrayItemType(genClass);

-			stringBuffer.append(TEXT_2);

-			if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {

-				stringBuffer.append(TEXT_3);

-			}

-			if (classExtendsAllGenFeatures.contains(genFeature)) {

-				stringBuffer.append(TEXT_4);

-			}

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(arrayElementType);

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genFeature.getGetArrayAccessor());

-			stringBuffer.append(TEXT_7);

-			if (genFeature.isVolatile()) {

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-				stringBuffer.append(TEXT_9);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-				stringBuffer.append(TEXT_10);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_11);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_12);

-			} else {

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-				stringBuffer.append(TEXT_18);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_19);

-			}

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(arrayElementType);

-			stringBuffer.append(TEXT_21);

-		}

-		if (genFeature.isGet() && genFeature.isListType()) {

-			stringBuffer.append(TEXT_22);

-			if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_23);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lIUFGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-			if (genFeature.isListType() && genModel.isVirtualDelegation()) {

-				stringBuffer.append(TEXT_24);

-			}

-			if (classExtendsAllGenFeatures.contains(genFeature)) {

-				stringBuffer.append(TEXT_25);

-			}

-			stringBuffer.append(TEXT_26);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_27);

-			stringBuffer.append(genFeature.getGetAccessor());

-			if (genClass.hasCollidingGetAccessorOperation(genFeature)) {

-				stringBuffer.append(TEXT_28);

-			}

-			stringBuffer.append(TEXT_29);

-			stringBuffer.append(TEXT_30);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lSFDGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			if (genModel.isVirtualDelegation()) {

-				stringBuffer.append(TEXT_31);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_33);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(positiveOffsetCorrection);

-				stringBuffer.append(TEXT_35);

-			}

-			stringBuffer.append(TEXT_36);

-			stringBuffer.append(genFeature.getSafeName());

-			stringBuffer.append(TEXT_37);

-			if (genModel.isVirtualDelegation()) {

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(positiveOffsetCorrection);

-				stringBuffer.append(TEXT_39);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_40);

-				stringBuffer.append(genClass.getListConstructor(genFeature));

-				stringBuffer.append(TEXT_41);

-			} else {

-				stringBuffer.append(TEXT_42);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_43);

-				stringBuffer.append(genClass.getListConstructor(genFeature));

-				stringBuffer.append(TEXT_44);

-			}

-			stringBuffer.append(TEXT_45);

-			stringBuffer.append(genFeature.getSafeName());

-			stringBuffer.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");

-			stringBuffer.append(TEXT_46);

-		}

-		if (!genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {

-			stringBuffer.append(TEXT_47);

-			if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_48);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mnhwGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-			if (classExtendsAllGenFeatures.contains(genFeature)) {

-				stringBuffer.append(TEXT_49);

-			}

-			stringBuffer.append(TEXT_50);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_51);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_52);

-			stringBuffer.append(genFeature.getImportedInternalType(genClass));

-			stringBuffer.append(TEXT_53);

-			stringBuffer.append(genFeature.getCapName());

-			stringBuffer.append(TEXT_54);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_55);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_56);

-			stringBuffer.append(genFeature.getCapName());

-			stringBuffer.append(TEXT_57);

-		}

-		if (genFeature.isSet() && !(!genModel.isReflectiveDelegation() && genFeature.isBasicSet())) {

-			stringBuffer.append(TEXT_58);

-			if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_59);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nqqoGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-			{

-				GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);

-				if (classExtendsAllGenFeatures.contains(genFeature)) {

-					stringBuffer.append(TEXT_60);

-				}

-				stringBuffer.append(TEXT_61);

-				stringBuffer.append(genFeature.getAccessorName());

-				if (genClass.hasCollidingSetAccessorOperation(genFeature)) {

-					stringBuffer.append(TEXT_62);

-				}

-				stringBuffer.append(TEXT_63);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_64);

-				stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()

-						: setAccessorOperation.getGenParameters().get(0).getName());

-				stringBuffer.append(TEXT_65);

-				stringBuffer.append(genFeature.getAccessorName());

-				if (genClass.hasCollidingSetAccessorOperation(genFeature)) {

-					stringBuffer.append(TEXT_66);

-				}

-				stringBuffer.append(TEXT_67);

-				stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()

-						: setAccessorOperation.getGenParameters().get(0).getName());

-				stringBuffer.append(TEXT_68);

-			}

-		}

-		stringBuffer.append(TEXT_69);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenFeatureReifiedoverride {
+	protected static String nl;
+
+	public static synchronized ClassgenFeatureReifiedoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgenFeatureReifiedoverride result = new ClassgenFeatureReifiedoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL
+			+ "\t * This is specialized for the more specific element type known in this context." + NL
+			+ "\t * @generated" + NL + "\t */";
+	protected final String TEXT_3 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_4 = NL + "\t@Override";
+	protected final String TEXT_5 = NL + "\tpublic ";
+	protected final String TEXT_6 = "[] ";
+	protected final String TEXT_7 = "()" + NL + "\t{";
+	protected final String TEXT_8 = NL + "\t\t";
+	protected final String TEXT_9 = " list = (";
+	protected final String TEXT_10 = ")";
+	protected final String TEXT_11 = "();" + NL + "\t\tif (list.isEmpty()) return ";
+	protected final String TEXT_12 = "_EEMPTY_ARRAY;";
+	protected final String TEXT_13 = NL + "\t\tif (";
+	protected final String TEXT_14 = " == null || ";
+	protected final String TEXT_15 = ".isEmpty()) return ";
+	protected final String TEXT_16 = "_EEMPTY_ARRAY;" + NL + "\t\t";
+	protected final String TEXT_17 = " list = (";
+	protected final String TEXT_18 = ")";
+	protected final String TEXT_19 = ";";
+	protected final String TEXT_20 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";
+	protected final String TEXT_21 = "[])list.data();" + NL + "\t}" + NL;
+	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL
+			+ "\t * This is specialized for the more specific element type known in this context." + NL
+			+ "\t * @generated" + NL + "\t */";
+	protected final String TEXT_23 = NL;
+	protected final String TEXT_24 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_25 = NL + "\t@Override";
+	protected final String TEXT_26 = NL + "\tpublic ";
+	protected final String TEXT_27 = " ";
+	protected final String TEXT_28 = "_";
+	protected final String TEXT_29 = "()" + NL + "\t{";
+	protected final String TEXT_30 = NL;
+	protected final String TEXT_31 = NL + "\t\t";
+	protected final String TEXT_32 = " ";
+	protected final String TEXT_33 = " = (";
+	protected final String TEXT_34 = ")eVirtualGet(";
+	protected final String TEXT_35 = ");";
+	protected final String TEXT_36 = NL + "\t\tif (";
+	protected final String TEXT_37 = " == null)" + NL + "\t\t{";
+	protected final String TEXT_38 = NL + "\t\t\teVirtualSet(";
+	protected final String TEXT_39 = ", ";
+	protected final String TEXT_40 = " = new ";
+	protected final String TEXT_41 = ");";
+	protected final String TEXT_42 = NL + "\t\t\t";
+	protected final String TEXT_43 = " = new ";
+	protected final String TEXT_44 = ";";
+	protected final String TEXT_45 = NL + "\t\t}" + NL + "\t\treturn ";
+	protected final String TEXT_46 = ";" + NL + "\t}" + NL;
+	protected final String TEXT_47 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL
+			+ "\t * This is specialized for the more specific type known in this context." + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_48 = NL;
+	protected final String TEXT_49 = NL + "\t@Override";
+	protected final String TEXT_50 = NL + "\tpublic ";
+	protected final String TEXT_51 = " basicSet";
+	protected final String TEXT_52 = "(";
+	protected final String TEXT_53 = " new";
+	protected final String TEXT_54 = ", ";
+	protected final String TEXT_55 = " msgs)" + NL + "\t{" + NL + "\t\treturn super.basicSet";
+	protected final String TEXT_56 = "(new";
+	protected final String TEXT_57 = ", msgs);" + NL + "\t}" + NL;
+	protected final String TEXT_58 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL
+			+ "\t * This is specialized for the more specific type known in this context." + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_59 = NL;
+	protected final String TEXT_60 = NL + "\t@Override";
+	protected final String TEXT_61 = NL + "\tpublic void set";
+	protected final String TEXT_62 = "_";
+	protected final String TEXT_63 = "(";
+	protected final String TEXT_64 = " ";
+	protected final String TEXT_65 = ")" + NL + "\t{" + NL + "\t\tsuper.set";
+	protected final String TEXT_66 = "_";
+	protected final String TEXT_67 = "(";
+	protected final String TEXT_68 = ");" + NL + "\t}" + NL;
+	protected final String TEXT_69 = NL;
+	protected final String TEXT_70 = NL;
+	protected final String TEXT_71 = NL;
+
+	public ClassgenFeatureReifiedoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> classExtendsGenClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> classExtendsAllGenFeaturesList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object classExtendsGenClassParameter : classExtendsGenClassList) {
+				for (Object classExtendsAllGenFeaturesParameter : classExtendsAllGenFeaturesList) {
+					for (Object genClassParameter : genClassList) {
+						for (Object genPackageParameter : genPackageList) {
+							for (Object genModelParameter : genModelList) {
+								for (Object isJDK50Parameter : isJDK50List) {
+									for (Object isInterfaceParameter : isInterfaceList) {
+										for (Object isImplementationParameter : isImplementationList) {
+											for (Object isGWTParameter : isGWTList) {
+												for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+													for (Object singleWildcardParameter : singleWildcardList) {
+														for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+															for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+																for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+																	for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																		this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																		this.classExtendsGenClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) classExtendsGenClassParameter;
+																		this.classExtendsAllGenFeatures = (java.util.List) classExtendsAllGenFeaturesParameter;
+																		this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																		this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																		this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																		this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																		this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																		this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																		this.isGWT = (java.lang.Boolean) isGWTParameter;
+																		this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																		this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																		this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																		this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																		this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																		this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																		if (preCondition(ctx)) {
+																			ctx.setNode(new Node.Container(currentNode,
+																					getClass()));
+																			orchestration(ctx);
+																		}
+
+																	}
+																}
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_70);
+		stringBuffer.append(TEXT_71);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("classExtendsGenClass", this.classExtendsGenClass);
+			parameterValues.put("classExtendsAllGenFeatures", this.classExtendsAllGenFeatures);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass classExtendsGenClass = null;
+
+	public void set_classExtendsGenClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.classExtendsGenClass = object;
+	}
+
+	protected java.util.List classExtendsAllGenFeatures = null;
+
+	public void set_classExtendsAllGenFeatures(java.util.List object) {
+		this.classExtendsAllGenFeatures = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("classExtendsGenClass", this.classExtendsGenClass);
+		parameters.put("classExtendsAllGenFeatures", this.classExtendsAllGenFeatures);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+				&& !genFeature.isMapType()) {
+			String arrayElementType = genFeature.getArrayItemType(genClass);
+			stringBuffer.append(TEXT_2);
+			if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {
+				stringBuffer.append(TEXT_3);
+			}
+			if (classExtendsAllGenFeatures.contains(genFeature)) {
+				stringBuffer.append(TEXT_4);
+			}
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(arrayElementType);
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genFeature.getGetArrayAccessor());
+			stringBuffer.append(TEXT_7);
+			if (genFeature.isVolatile()) {
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+				stringBuffer.append(TEXT_9);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+				stringBuffer.append(TEXT_10);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_11);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_12);
+			} else {
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+				stringBuffer.append(TEXT_18);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_19);
+			}
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(arrayElementType);
+			stringBuffer.append(TEXT_21);
+		}
+		if (genFeature.isGet() && genFeature.isListType()) {
+			stringBuffer.append(TEXT_22);
+			if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_23);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lIUFGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+			if (genFeature.isListType() && genModel.isVirtualDelegation()) {
+				stringBuffer.append(TEXT_24);
+			}
+			if (classExtendsAllGenFeatures.contains(genFeature)) {
+				stringBuffer.append(TEXT_25);
+			}
+			stringBuffer.append(TEXT_26);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_27);
+			stringBuffer.append(genFeature.getGetAccessor());
+			if (genClass.hasCollidingGetAccessorOperation(genFeature)) {
+				stringBuffer.append(TEXT_28);
+			}
+			stringBuffer.append(TEXT_29);
+			stringBuffer.append(TEXT_30);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lSFDGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			if (genModel.isVirtualDelegation()) {
+				stringBuffer.append(TEXT_31);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_33);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(positiveOffsetCorrection);
+				stringBuffer.append(TEXT_35);
+			}
+			stringBuffer.append(TEXT_36);
+			stringBuffer.append(genFeature.getSafeName());
+			stringBuffer.append(TEXT_37);
+			if (genModel.isVirtualDelegation()) {
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(positiveOffsetCorrection);
+				stringBuffer.append(TEXT_39);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_40);
+				stringBuffer.append(genClass.getListConstructor(genFeature));
+				stringBuffer.append(TEXT_41);
+			} else {
+				stringBuffer.append(TEXT_42);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_43);
+				stringBuffer.append(genClass.getListConstructor(genFeature));
+				stringBuffer.append(TEXT_44);
+			}
+			stringBuffer.append(TEXT_45);
+			stringBuffer.append(genFeature.getSafeName());
+			stringBuffer.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");
+			stringBuffer.append(TEXT_46);
+		}
+		if (!genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {
+			stringBuffer.append(TEXT_47);
+			if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_48);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mnhwGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+			if (classExtendsAllGenFeatures.contains(genFeature)) {
+				stringBuffer.append(TEXT_49);
+			}
+			stringBuffer.append(TEXT_50);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_51);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_52);
+			stringBuffer.append(genFeature.getImportedInternalType(genClass));
+			stringBuffer.append(TEXT_53);
+			stringBuffer.append(genFeature.getCapName());
+			stringBuffer.append(TEXT_54);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_55);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_56);
+			stringBuffer.append(genFeature.getCapName());
+			stringBuffer.append(TEXT_57);
+		}
+		if (genFeature.isSet() && !(!genModel.isReflectiveDelegation() && genFeature.isBasicSet())) {
+			stringBuffer.append(TEXT_58);
+			if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_59);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nqqoGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+			{
+				GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);
+				if (classExtendsAllGenFeatures.contains(genFeature)) {
+					stringBuffer.append(TEXT_60);
+				}
+				stringBuffer.append(TEXT_61);
+				stringBuffer.append(genFeature.getAccessorName());
+				if (genClass.hasCollidingSetAccessorOperation(genFeature)) {
+					stringBuffer.append(TEXT_62);
+				}
+				stringBuffer.append(TEXT_63);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_64);
+				stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()
+						: setAccessorOperation.getGenParameters().get(0).getName());
+				stringBuffer.append(TEXT_65);
+				stringBuffer.append(genFeature.getAccessorName());
+				if (genClass.hasCollidingSetAccessorOperation(genFeature)) {
+					stringBuffer.append(TEXT_66);
+				}
+				stringBuffer.append(TEXT_67);
+				stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()
+						: setAccessorOperation.getGenParameters().get(0).getName());
+				stringBuffer.append(TEXT_68);
+			}
+		}
+		stringBuffer.append(TEXT_69);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureinsert.java
index 8af156b..9392ecc 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgenFeatureinsert {

-	protected static String nl;

-

-	public static synchronized ClassgenFeatureinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgenFeatureinsert result = new ClassgenFeatureinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassgenFeatureinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenFeatureinsert {
+	protected static String nl;
+
+	public static synchronized ClassgenFeatureinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgenFeatureinsert result = new ClassgenFeatureinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassgenFeatureinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureoverride.java
index ef9ec66..f4b53f7 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenFeatureoverride.java
@@ -1,750 +1,750 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ClassgenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgenFeatureoverride result = new ClassgenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_3 = NL + "\t";

-	protected final String TEXT_4 = "[] ";

-	protected final String TEXT_5 = "();" + NL;

-	protected final String TEXT_6 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_7 = NL + "\tpublic ";

-	protected final String TEXT_8 = "[] ";

-	protected final String TEXT_9 = "()" + NL + "\t{";

-	protected final String TEXT_10 = NL + "\t\t";

-	protected final String TEXT_11 = " list = (";

-	protected final String TEXT_12 = ")";

-	protected final String TEXT_13 = "();" + NL + "\t\tif (list.isEmpty()) return ";

-	protected final String TEXT_14 = "_EEMPTY_ARRAY;";

-	protected final String TEXT_15 = NL + "\t\tif (";

-	protected final String TEXT_16 = " == null || ";

-	protected final String TEXT_17 = ".isEmpty()) return ";

-	protected final String TEXT_18 = "_EEMPTY_ARRAY;" + NL + "\t\t";

-	protected final String TEXT_19 = " list = (";

-	protected final String TEXT_20 = ")";

-	protected final String TEXT_21 = ";";

-	protected final String TEXT_22 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";

-	protected final String TEXT_23 = "[])list.data();" + NL + "\t}" + NL;

-	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_25 = NL + "\t";

-	protected final String TEXT_26 = " get";

-	protected final String TEXT_27 = "(int index);" + NL;

-	protected final String TEXT_28 = NL + "\tpublic ";

-	protected final String TEXT_29 = " get";

-	protected final String TEXT_30 = "(int index)" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_31 = "(";

-	protected final String TEXT_32 = ")";

-	protected final String TEXT_33 = "().get(index);" + NL + "\t}" + NL;

-	protected final String TEXT_34 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_35 = NL + "\tint get";

-	protected final String TEXT_36 = "Length();" + NL;

-	protected final String TEXT_37 = NL + "\tpublic int get";

-	protected final String TEXT_38 = "Length()" + NL + "\t{";

-	protected final String TEXT_39 = NL + "\t\treturn ";

-	protected final String TEXT_40 = "().size();";

-	protected final String TEXT_41 = NL + "\t\treturn ";

-	protected final String TEXT_42 = " == null ? 0 : ";

-	protected final String TEXT_43 = ".size();";

-	protected final String TEXT_44 = NL + "\t}" + NL;

-	protected final String TEXT_45 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_46 = NL + "\tvoid set";

-	protected final String TEXT_47 = "(";

-	protected final String TEXT_48 = "[] new";

-	protected final String TEXT_49 = ");" + NL;

-	protected final String TEXT_50 = NL + "\tpublic void set";

-	protected final String TEXT_51 = "(";

-	protected final String TEXT_52 = "[] new";

-	protected final String TEXT_53 = ")" + NL + "\t{" + NL + "\t\t((";

-	protected final String TEXT_54 = ")";

-	protected final String TEXT_55 = "()).setData(new";

-	protected final String TEXT_56 = ".length, new";

-	protected final String TEXT_57 = ");" + NL + "\t}" + NL;

-	protected final String TEXT_58 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_59 = NL + "\tvoid set";

-	protected final String TEXT_60 = "(int index, ";

-	protected final String TEXT_61 = " element);" + NL;

-	protected final String TEXT_62 = NL + "\tpublic void set";

-	protected final String TEXT_63 = "(int index, ";

-	protected final String TEXT_64 = " element)" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_65 = "().set(index, element);" + NL + "\t}" + NL;

-	protected final String TEXT_66 = NL;

-	protected final String TEXT_67 = NL;

-	protected final String TEXT_68 = NL;

-	protected final String TEXT_69 = NL;

-	protected final String TEXT_70 = NL;

-	protected final String TEXT_71 = NL;

-	protected final String TEXT_72 = NL;

-	protected final String TEXT_73 = NL;

-	protected final String TEXT_74 = NL;

-	protected final String TEXT_75 = NL;

-	protected final String TEXT_76 = NL;

-

-	public ClassgenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_75);

-		stringBuffer.append(TEXT_76);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()

-				&& !genFeature.isMapType()) {

-			String arrayElementType = genFeature.getArrayItemType(genClass);

-			stringBuffer.append(TEXT_2);

-			if (!isImplementation) {

-				stringBuffer.append(TEXT_3);

-				stringBuffer.append(arrayElementType);

-				stringBuffer.append(TEXT_4);

-				stringBuffer.append(genFeature.getGetArrayAccessor());

-				stringBuffer.append(TEXT_5);

-			} else {

-				if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {

-					stringBuffer.append(TEXT_6);

-				}

-				stringBuffer.append(TEXT_7);

-				stringBuffer.append(arrayElementType);

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(genFeature.getGetArrayAccessor());

-				stringBuffer.append(TEXT_9);

-				if (genFeature.isVolatile()) {

-					stringBuffer.append(TEXT_10);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-					stringBuffer.append(TEXT_11);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_13);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_14);

-				} else {

-					stringBuffer.append(TEXT_15);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_16);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_17);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_18);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-					stringBuffer.append(TEXT_19);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-					stringBuffer.append(TEXT_20);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_21);

-				}

-				stringBuffer.append(TEXT_22);

-				stringBuffer.append(arrayElementType);

-				stringBuffer.append(TEXT_23);

-			}

-			stringBuffer.append(TEXT_24);

-			if (!isImplementation) {

-				stringBuffer.append(TEXT_25);

-				stringBuffer.append(genFeature.getListItemType(genClass));

-				stringBuffer.append(TEXT_26);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_27);

-			} else {

-				stringBuffer.append(TEXT_28);

-				stringBuffer.append(genFeature.getListItemType(genClass));

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_30);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_31);

-					stringBuffer.append(genFeature.getListItemType(genClass));

-					stringBuffer.append(TEXT_32);

-				}

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_33);

-			}

-			stringBuffer.append(TEXT_34);

-			if (!isImplementation) {

-				stringBuffer.append(TEXT_35);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_36);

-			} else {

-				stringBuffer.append(TEXT_37);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_38);

-				if (genFeature.isVolatile()) {

-					stringBuffer.append(TEXT_39);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_40);

-				} else {

-					stringBuffer.append(TEXT_41);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_42);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_43);

-				}

-				stringBuffer.append(TEXT_44);

-			}

-			stringBuffer.append(TEXT_45);

-			if (!isImplementation) {

-				stringBuffer.append(TEXT_46);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_47);

-				stringBuffer.append(genFeature.getListItemType(genClass));

-				stringBuffer.append(TEXT_48);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_49);

-			} else {

-				stringBuffer.append(TEXT_50);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_51);

-				stringBuffer.append(genFeature.getListItemType(genClass));

-				stringBuffer.append(TEXT_52);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_53);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-				stringBuffer.append(TEXT_54);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_55);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_56);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_57);

-			}

-			stringBuffer.append(TEXT_58);

-			if (!isImplementation) {

-				stringBuffer.append(TEXT_59);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_60);

-				stringBuffer.append(genFeature.getListItemType(genClass));

-				stringBuffer.append(TEXT_61);

-			} else {

-				stringBuffer.append(TEXT_62);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_63);

-				stringBuffer.append(genFeature.getListItemType(genClass));

-				stringBuffer.append(TEXT_64);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_65);

-			}

-		}

-		if (genFeature.isGet() && (isImplementation || !genFeature.isSuppressedGetVisibility())) {

-			stringBuffer.append(TEXT_66);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0kh3EGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/getGenFeature.override.javajetinc

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicGet()) {

-			stringBuffer.append(TEXT_67);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lk_8GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/basicGetGenFeature.override.javajetinc

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {

-			stringBuffer.append(TEXT_68);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mUm0GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/basicSetGenFeature.override.javajetinc

-		}

-		if (genFeature.isSet() && (isImplementation || !genFeature.isSuppressedSetVisibility())) {

-			stringBuffer.append(TEXT_69);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nN-sGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/setGenFeature.override.javajetinc

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicUnset()) {

-			stringBuffer.append(TEXT_70);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qfVIGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class.basicUnsetGenFeature.override.javajetinc

-		}

-		if (genFeature.isUnset() && (isImplementation || !genFeature.isSuppressedUnsetVisibility())) {

-			stringBuffer.append(TEXT_71);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0q8BEGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/unsetGenFeature.override.javajetinc

-		}

-		if (genFeature.isIsSet() && (isImplementation || !genFeature.isSuppressedIsSetVisibility())) {

-			stringBuffer.append(TEXT_72);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0sIT4GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/isSetGenFeature.override.javajetinc

-		}

-		stringBuffer.append(TEXT_73);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0s36wGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_74);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ClassgenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgenFeatureoverride result = new ClassgenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_3 = NL + "\t";
+	protected final String TEXT_4 = "[] ";
+	protected final String TEXT_5 = "();" + NL;
+	protected final String TEXT_6 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_7 = NL + "\tpublic ";
+	protected final String TEXT_8 = "[] ";
+	protected final String TEXT_9 = "()" + NL + "\t{";
+	protected final String TEXT_10 = NL + "\t\t";
+	protected final String TEXT_11 = " list = (";
+	protected final String TEXT_12 = ")";
+	protected final String TEXT_13 = "();" + NL + "\t\tif (list.isEmpty()) return ";
+	protected final String TEXT_14 = "_EEMPTY_ARRAY;";
+	protected final String TEXT_15 = NL + "\t\tif (";
+	protected final String TEXT_16 = " == null || ";
+	protected final String TEXT_17 = ".isEmpty()) return ";
+	protected final String TEXT_18 = "_EEMPTY_ARRAY;" + NL + "\t\t";
+	protected final String TEXT_19 = " list = (";
+	protected final String TEXT_20 = ")";
+	protected final String TEXT_21 = ";";
+	protected final String TEXT_22 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";
+	protected final String TEXT_23 = "[])list.data();" + NL + "\t}" + NL;
+	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_25 = NL + "\t";
+	protected final String TEXT_26 = " get";
+	protected final String TEXT_27 = "(int index);" + NL;
+	protected final String TEXT_28 = NL + "\tpublic ";
+	protected final String TEXT_29 = " get";
+	protected final String TEXT_30 = "(int index)" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_31 = "(";
+	protected final String TEXT_32 = ")";
+	protected final String TEXT_33 = "().get(index);" + NL + "\t}" + NL;
+	protected final String TEXT_34 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_35 = NL + "\tint get";
+	protected final String TEXT_36 = "Length();" + NL;
+	protected final String TEXT_37 = NL + "\tpublic int get";
+	protected final String TEXT_38 = "Length()" + NL + "\t{";
+	protected final String TEXT_39 = NL + "\t\treturn ";
+	protected final String TEXT_40 = "().size();";
+	protected final String TEXT_41 = NL + "\t\treturn ";
+	protected final String TEXT_42 = " == null ? 0 : ";
+	protected final String TEXT_43 = ".size();";
+	protected final String TEXT_44 = NL + "\t}" + NL;
+	protected final String TEXT_45 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_46 = NL + "\tvoid set";
+	protected final String TEXT_47 = "(";
+	protected final String TEXT_48 = "[] new";
+	protected final String TEXT_49 = ");" + NL;
+	protected final String TEXT_50 = NL + "\tpublic void set";
+	protected final String TEXT_51 = "(";
+	protected final String TEXT_52 = "[] new";
+	protected final String TEXT_53 = ")" + NL + "\t{" + NL + "\t\t((";
+	protected final String TEXT_54 = ")";
+	protected final String TEXT_55 = "()).setData(new";
+	protected final String TEXT_56 = ".length, new";
+	protected final String TEXT_57 = ");" + NL + "\t}" + NL;
+	protected final String TEXT_58 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_59 = NL + "\tvoid set";
+	protected final String TEXT_60 = "(int index, ";
+	protected final String TEXT_61 = " element);" + NL;
+	protected final String TEXT_62 = NL + "\tpublic void set";
+	protected final String TEXT_63 = "(int index, ";
+	protected final String TEXT_64 = " element)" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_65 = "().set(index, element);" + NL + "\t}" + NL;
+	protected final String TEXT_66 = NL;
+	protected final String TEXT_67 = NL;
+	protected final String TEXT_68 = NL;
+	protected final String TEXT_69 = NL;
+	protected final String TEXT_70 = NL;
+	protected final String TEXT_71 = NL;
+	protected final String TEXT_72 = NL;
+	protected final String TEXT_73 = NL;
+	protected final String TEXT_74 = NL;
+	protected final String TEXT_75 = NL;
+	protected final String TEXT_76 = NL;
+
+	public ClassgenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_75);
+		stringBuffer.append(TEXT_76);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+				&& !genFeature.isMapType()) {
+			String arrayElementType = genFeature.getArrayItemType(genClass);
+			stringBuffer.append(TEXT_2);
+			if (!isImplementation) {
+				stringBuffer.append(TEXT_3);
+				stringBuffer.append(arrayElementType);
+				stringBuffer.append(TEXT_4);
+				stringBuffer.append(genFeature.getGetArrayAccessor());
+				stringBuffer.append(TEXT_5);
+			} else {
+				if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {
+					stringBuffer.append(TEXT_6);
+				}
+				stringBuffer.append(TEXT_7);
+				stringBuffer.append(arrayElementType);
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(genFeature.getGetArrayAccessor());
+				stringBuffer.append(TEXT_9);
+				if (genFeature.isVolatile()) {
+					stringBuffer.append(TEXT_10);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+					stringBuffer.append(TEXT_11);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_13);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_14);
+				} else {
+					stringBuffer.append(TEXT_15);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_16);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_17);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_18);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+					stringBuffer.append(TEXT_19);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+					stringBuffer.append(TEXT_20);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_21);
+				}
+				stringBuffer.append(TEXT_22);
+				stringBuffer.append(arrayElementType);
+				stringBuffer.append(TEXT_23);
+			}
+			stringBuffer.append(TEXT_24);
+			if (!isImplementation) {
+				stringBuffer.append(TEXT_25);
+				stringBuffer.append(genFeature.getListItemType(genClass));
+				stringBuffer.append(TEXT_26);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_27);
+			} else {
+				stringBuffer.append(TEXT_28);
+				stringBuffer.append(genFeature.getListItemType(genClass));
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_30);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_31);
+					stringBuffer.append(genFeature.getListItemType(genClass));
+					stringBuffer.append(TEXT_32);
+				}
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_33);
+			}
+			stringBuffer.append(TEXT_34);
+			if (!isImplementation) {
+				stringBuffer.append(TEXT_35);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_36);
+			} else {
+				stringBuffer.append(TEXT_37);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_38);
+				if (genFeature.isVolatile()) {
+					stringBuffer.append(TEXT_39);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_40);
+				} else {
+					stringBuffer.append(TEXT_41);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_42);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_43);
+				}
+				stringBuffer.append(TEXT_44);
+			}
+			stringBuffer.append(TEXT_45);
+			if (!isImplementation) {
+				stringBuffer.append(TEXT_46);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_47);
+				stringBuffer.append(genFeature.getListItemType(genClass));
+				stringBuffer.append(TEXT_48);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_49);
+			} else {
+				stringBuffer.append(TEXT_50);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_51);
+				stringBuffer.append(genFeature.getListItemType(genClass));
+				stringBuffer.append(TEXT_52);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_53);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+				stringBuffer.append(TEXT_54);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_55);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_56);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_57);
+			}
+			stringBuffer.append(TEXT_58);
+			if (!isImplementation) {
+				stringBuffer.append(TEXT_59);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_60);
+				stringBuffer.append(genFeature.getListItemType(genClass));
+				stringBuffer.append(TEXT_61);
+			} else {
+				stringBuffer.append(TEXT_62);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_63);
+				stringBuffer.append(genFeature.getListItemType(genClass));
+				stringBuffer.append(TEXT_64);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_65);
+			}
+		}
+		if (genFeature.isGet() && (isImplementation || !genFeature.isSuppressedGetVisibility())) {
+			stringBuffer.append(TEXT_66);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0kh3EGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/getGenFeature.override.javajetinc
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicGet()) {
+			stringBuffer.append(TEXT_67);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicGetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lk_8GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/basicGetGenFeature.override.javajetinc
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {
+			stringBuffer.append(TEXT_68);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0mUm0GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/basicSetGenFeature.override.javajetinc
+		}
+		if (genFeature.isSet() && (isImplementation || !genFeature.isSuppressedSetVisibility())) {
+			stringBuffer.append(TEXT_69);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nN-sGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/setGenFeature.override.javajetinc
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicUnset()) {
+			stringBuffer.append(TEXT_70);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.basicUnsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qfVIGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class.basicUnsetGenFeature.override.javajetinc
+		}
+		if (genFeature.isUnset() && (isImplementation || !genFeature.isSuppressedUnsetVisibility())) {
+			stringBuffer.append(TEXT_71);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0q8BEGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/unsetGenFeature.override.javajetinc
+		}
+		if (genFeature.isIsSet() && (isImplementation || !genFeature.isSuppressedIsSetVisibility())) {
+			stringBuffer.append(TEXT_72);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0sIT4GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/isSetGenFeature.override.javajetinc
+		}
+		stringBuffer.append(TEXT_73);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0s36wGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_74);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationannotationsinsert.java
index 4f1c1ad..637284f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgenOperationannotationsinsert {

-	protected static String nl;

-

-	public static synchronized ClassgenOperationannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgenOperationannotationsinsert result = new ClassgenOperationannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassgenOperationannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenOperationannotationsinsert {
+	protected static String nl;
+
+	public static synchronized ClassgenOperationannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgenOperationannotationsinsert result = new ClassgenOperationannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassgenOperationannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationinsert.java
index 4a7cf6f..ba005ea 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgenOperationinsert {

-	protected static String nl;

-

-	public static synchronized ClassgenOperationinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgenOperationinsert result = new ClassgenOperationinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassgenOperationinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenOperationinsert {
+	protected static String nl;
+
+	public static synchronized ClassgenOperationinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgenOperationinsert result = new ClassgenOperationinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassgenOperationinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocinsert.java
index cbe5c2b..52060a7 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgenOperationjavadocinsert {

-	protected static String nl;

-

-	public static synchronized ClassgenOperationjavadocinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgenOperationjavadocinsert result = new ClassgenOperationjavadocinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassgenOperationjavadocinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenOperationjavadocinsert {
+	protected static String nl;
+
+	public static synchronized ClassgenOperationjavadocinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgenOperationjavadocinsert result = new ClassgenOperationjavadocinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassgenOperationjavadocinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocoverride.java
index 54ef1bf..3c411af 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationjavadocoverride.java
@@ -1,365 +1,365 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgenOperationjavadocoverride {

-	protected static String nl;

-

-	public static synchronized ClassgenOperationjavadocoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgenOperationjavadocoverride result = new ClassgenOperationjavadocoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

-	protected final String TEXT_4 = NL + "\t * <!-- begin-model-doc -->";

-	protected final String TEXT_5 = NL + "\t * ";

-	protected final String TEXT_6 = NL + "\t * @param ";

-	protected final String TEXT_7 = NL + "\t *   ";

-	protected final String TEXT_8 = NL + "\t * @param ";

-	protected final String TEXT_9 = " ";

-	protected final String TEXT_10 = NL + "\t * <!-- end-model-doc -->";

-	protected final String TEXT_11 = NL + "\t * @model ";

-	protected final String TEXT_12 = NL + "\t *        ";

-	protected final String TEXT_13 = NL + "\t * @model";

-	protected final String TEXT_14 = NL + "\t * @generated" + NL + "\t */" + NL;

-	protected final String TEXT_15 = NL;

-	protected final String TEXT_16 = NL;

-

-	public ClassgenOperationjavadocoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(TEXT_16);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.javadoc.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genOperation", genOperation);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0toIsGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_3);

-		if (genOperation.hasDocumentation() || genOperation.hasParameterDocumentation()) {

-			stringBuffer.append(TEXT_4);

-			if (genOperation.hasDocumentation()) {

-				stringBuffer.append(TEXT_5);

-				stringBuffer.append(genOperation.getDocumentation(genModel.getIndentation(stringBuffer)));

-			}

-			for (GenParameter genParameter : genOperation.getGenParameters()) {

-				if (genParameter.hasDocumentation()) {

-					String documentation = genParameter.getDocumentation("");

-					if (documentation.contains("\n") || documentation.contains("\r")) {

-						stringBuffer.append(TEXT_6);

-						stringBuffer.append(genParameter.getName());

-						stringBuffer.append(TEXT_7);

-						stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));

-					} else {

-						stringBuffer.append(TEXT_8);

-						stringBuffer.append(genParameter.getName());

-						stringBuffer.append(TEXT_9);

-						stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));

-					}

-				}

-			}

-			stringBuffer.append(TEXT_10);

-		}

-		if (!genModel.isSuppressEMFModelTags()) {

-			boolean first = true;

-			for (StringTokenizer stringTokenizer = new StringTokenizer(genOperation.getModelInfo(), "\n\r"); stringTokenizer

-					.hasMoreTokens();) {

-				String modelInfo = stringTokenizer.nextToken();

-				if (first) {

-					first = false;

-					stringBuffer.append(TEXT_11);

-					stringBuffer.append(modelInfo);

-				} else {

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(modelInfo);

-				}

-			}

-			if (first) {

-				stringBuffer.append(TEXT_13);

-			}

-		}

-		stringBuffer.append(TEXT_14);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenOperationjavadocoverride {
+	protected static String nl;
+
+	public static synchronized ClassgenOperationjavadocoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgenOperationjavadocoverride result = new ClassgenOperationjavadocoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+	protected final String TEXT_4 = NL + "\t * <!-- begin-model-doc -->";
+	protected final String TEXT_5 = NL + "\t * ";
+	protected final String TEXT_6 = NL + "\t * @param ";
+	protected final String TEXT_7 = NL + "\t *   ";
+	protected final String TEXT_8 = NL + "\t * @param ";
+	protected final String TEXT_9 = " ";
+	protected final String TEXT_10 = NL + "\t * <!-- end-model-doc -->";
+	protected final String TEXT_11 = NL + "\t * @model ";
+	protected final String TEXT_12 = NL + "\t *        ";
+	protected final String TEXT_13 = NL + "\t * @model";
+	protected final String TEXT_14 = NL + "\t * @generated" + NL + "\t */" + NL;
+	protected final String TEXT_15 = NL;
+	protected final String TEXT_16 = NL;
+
+	public ClassgenOperationjavadocoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(TEXT_16);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.javadoc.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genOperation", genOperation);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0toIsGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_3);
+		if (genOperation.hasDocumentation() || genOperation.hasParameterDocumentation()) {
+			stringBuffer.append(TEXT_4);
+			if (genOperation.hasDocumentation()) {
+				stringBuffer.append(TEXT_5);
+				stringBuffer.append(genOperation.getDocumentation(genModel.getIndentation(stringBuffer)));
+			}
+			for (GenParameter genParameter : genOperation.getGenParameters()) {
+				if (genParameter.hasDocumentation()) {
+					String documentation = genParameter.getDocumentation("");
+					if (documentation.contains("\n") || documentation.contains("\r")) {
+						stringBuffer.append(TEXT_6);
+						stringBuffer.append(genParameter.getName());
+						stringBuffer.append(TEXT_7);
+						stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));
+					} else {
+						stringBuffer.append(TEXT_8);
+						stringBuffer.append(genParameter.getName());
+						stringBuffer.append(TEXT_9);
+						stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));
+					}
+				}
+			}
+			stringBuffer.append(TEXT_10);
+		}
+		if (!genModel.isSuppressEMFModelTags()) {
+			boolean first = true;
+			for (StringTokenizer stringTokenizer = new StringTokenizer(genOperation.getModelInfo(),
+					"\n\r"); stringTokenizer.hasMoreTokens();) {
+				String modelInfo = stringTokenizer.nextToken();
+				if (first) {
+					first = false;
+					stringBuffer.append(TEXT_11);
+					stringBuffer.append(modelInfo);
+				} else {
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(modelInfo);
+				}
+			}
+			if (first) {
+				stringBuffer.append(TEXT_13);
+			}
+		}
+		stringBuffer.append(TEXT_14);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationoverride.java
index 9e4d55f..ce3e632 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgenOperationoverride.java
@@ -1,699 +1,697 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgenOperationoverride {

-	protected static String nl;

-

-	public static synchronized ClassgenOperationoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgenOperationoverride result = new ClassgenOperationoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * The cached validation expression for the '{@link #";

-	protected final String TEXT_3 = "(";

-	protected final String TEXT_4 = ") <em>";

-	protected final String TEXT_5 = "</em>}' invariant operation." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

-	protected final String TEXT_6 = "(";

-	protected final String TEXT_7 = ")" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL

-			+ "\tprotected static final ";

-	protected final String TEXT_8 = " ";

-	protected final String TEXT_9 = "__EEXPRESSION = \"";

-	protected final String TEXT_10 = "\";";

-	protected final String TEXT_11 = NL;

-	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * The cached invocation delegate for the '{@link #";

-	protected final String TEXT_13 = "(";

-	protected final String TEXT_14 = ") <em>";

-	protected final String TEXT_15 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

-	protected final String TEXT_16 = "(";

-	protected final String TEXT_17 = ")" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL

-			+ "\tprotected static final ";

-	protected final String TEXT_18 = ".Internal.InvocationDelegate ";

-	protected final String TEXT_19 = "__EINVOCATION_DELEGATE = ((";

-	protected final String TEXT_20 = ".Internal)";

-	protected final String TEXT_21 = ").getInvocationDelegate();" + NL;

-	protected final String TEXT_22 = NL;

-	protected final String TEXT_23 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_24 = NL;

-	protected final String TEXT_25 = NL + "\t";

-	protected final String TEXT_26 = " ";

-	protected final String TEXT_27 = "(";

-	protected final String TEXT_28 = ")";

-	protected final String TEXT_29 = ";" + NL;

-	protected final String TEXT_30 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_31 = NL + "\tpublic ";

-	protected final String TEXT_32 = " ";

-	protected final String TEXT_33 = "(";

-	protected final String TEXT_34 = ")";

-	protected final String TEXT_35 = NL + "\t{";

-	protected final String TEXT_36 = NL + "\t\t";

-	protected final String TEXT_37 = NL + "\t\treturn" + NL + "\t\t\t";

-	protected final String TEXT_38 = ".validate" + NL + "\t\t\t\t(";

-	protected final String TEXT_39 = "," + NL + "\t\t\t\t this," + NL + "\t\t\t\t ";

-	protected final String TEXT_40 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_41 = "," + NL + "\t\t\t\t \"";

-	protected final String TEXT_42 = "\",";

-	protected final String TEXT_43 = NL + "\t\t\t\t ";

-	protected final String TEXT_44 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_45 = "__EEXPRESSION," + NL + "\t\t\t\t ";

-	protected final String TEXT_46 = ".ERROR," + NL + "\t\t\t\t ";

-	protected final String TEXT_47 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t ";

-	protected final String TEXT_48 = ".";

-	protected final String TEXT_49 = ");";

-	protected final String TEXT_50 = NL + "\t\t// TODO: implement this method" + NL

-			+ "\t\t// -> specify the condition that violates the invariant" + NL

-			+ "\t\t// -> verify the details of the diagnostic, including severity and message" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL

-			+ "\t\t{" + NL + "\t\t\tif (";

-	protected final String TEXT_51 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_52 = ".add" + NL + "\t\t\t\t\t(new ";

-	protected final String TEXT_53 = NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_54 = ".ERROR," + NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_55 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_56 = ".";

-	protected final String TEXT_57 = "," + NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_58 = ".INSTANCE.getString(\"_UI_GenericInvariant_diagnostic\", new Object[] { \"";

-	protected final String TEXT_59 = "\", ";

-	protected final String TEXT_60 = ".getObjectLabel(this, ";

-	protected final String TEXT_61 = ") }),";

-	protected final String TEXT_62 = NL + "\t\t\t\t\t\t new Object [] { this }));" + NL + "\t\t\t}" + NL

-			+ "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn true;";

-	protected final String TEXT_63 = NL + "\t\ttry" + NL + "\t\t{";

-	protected final String TEXT_64 = NL + "\t\t\t";

-	protected final String TEXT_65 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";

-	protected final String TEXT_66 = "new ";

-	protected final String TEXT_67 = ".UnmodifiableEList<Object>(";

-	protected final String TEXT_68 = ", ";

-	protected final String TEXT_69 = ")";

-	protected final String TEXT_70 = "null";

-	protected final String TEXT_71 = ");";

-	protected final String TEXT_72 = NL + "\t\t\treturn ";

-	protected final String TEXT_73 = "(";

-	protected final String TEXT_74 = "(";

-	protected final String TEXT_75 = ")";

-	protected final String TEXT_76 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";

-	protected final String TEXT_77 = "new ";

-	protected final String TEXT_78 = ".UnmodifiableEList<Object>(";

-	protected final String TEXT_79 = ", ";

-	protected final String TEXT_80 = ")";

-	protected final String TEXT_81 = "null";

-	protected final String TEXT_82 = ")";

-	protected final String TEXT_83 = ").";

-	protected final String TEXT_84 = "()";

-	protected final String TEXT_85 = ";";

-	protected final String TEXT_86 = NL + "\t\t}" + NL + "\t\tcatch (";

-	protected final String TEXT_87 = " ite)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";

-	protected final String TEXT_88 = "(ite);" + NL + "\t\t}";

-	protected final String TEXT_89 = NL;

-	protected final String TEXT_90 = NL + "\t}" + NL;

-	protected final String TEXT_91 = NL;

-	protected final String TEXT_92 = NL;

-	protected final String TEXT_93 = NL;

-	protected final String TEXT_94 = NL;

-

-	public ClassgenOperationoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_93);

-		stringBuffer.append(TEXT_94);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isImplementation) {

-			if (genOperation.isInvariant() && genOperation.hasInvariantExpression()) {

-				stringBuffer.append(TEXT_2);

-				stringBuffer.append(genOperation.getName());

-				stringBuffer.append(TEXT_3);

-				stringBuffer.append(genOperation.getParameterTypes(", "));

-				stringBuffer.append(TEXT_4);

-				stringBuffer.append(genOperation.getFormattedName());

-				stringBuffer.append(TEXT_5);

-				stringBuffer.append(genOperation.getName());

-				stringBuffer.append(TEXT_6);

-				stringBuffer.append(genOperation.getParameterTypes(", "));

-				stringBuffer.append(TEXT_7);

-				stringBuffer.append(genModel.getImportedName("java.lang.String"));

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

-				stringBuffer.append(TEXT_9);

-				stringBuffer.append(genOperation.getInvariantExpression("\t\t"));

-				stringBuffer.append(TEXT_10);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(TEXT_11);

-			} else if (genOperation.hasInvocationDelegate()) {

-				stringBuffer.append(TEXT_12);

-				stringBuffer.append(genOperation.getName());

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(genOperation.getParameterTypes(", "));

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genOperation.getFormattedName());

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(genOperation.getName());

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genOperation.getParameterTypes(", "));

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

-				stringBuffer.append(TEXT_18);

-				stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genOperation.getQualifiedOperationAccessor());

-				stringBuffer.append(TEXT_21);

-			}

-		}

-		if (isInterface) {

-			stringBuffer.append(TEXT_22);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.javadoc.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genOperation", genOperation);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0tUmsGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/genOperation.javadoc.override.javajetinc

-		} else {

-			stringBuffer.append(TEXT_23);

-			if (isJDK50) { //Class/genOperation.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_24);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genOperation", genOperation);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0txSoGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-		}

-		if (!isImplementation) {

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genOperation.getTypeParameters(genClass));

-			stringBuffer.append(genOperation.getImportedType(genClass));

-			stringBuffer.append(TEXT_26);

-			stringBuffer.append(genOperation.getName());

-			stringBuffer.append(TEXT_27);

-			stringBuffer.append(genOperation.getParameters(genClass));

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(genOperation.getThrows(genClass));

-			stringBuffer.append(TEXT_29);

-		} else {

-			if (genModel.useGenerics() && !genOperation.hasBody() && !genOperation.isInvariant()

-					&& genOperation.hasInvocationDelegate() && genOperation.isUncheckedCast(genClass)) {

-				stringBuffer.append(TEXT_30);

-			}

-			stringBuffer.append(TEXT_31);

-			stringBuffer.append(genOperation.getTypeParameters(genClass));

-			stringBuffer.append(genOperation.getImportedType(genClass));

-			stringBuffer.append(TEXT_32);

-			stringBuffer.append(genOperation.getName());

-			stringBuffer.append(TEXT_33);

-			stringBuffer.append(genOperation.getParameters(isImplementation, genClass));

-			stringBuffer.append(TEXT_34);

-			stringBuffer.append(genOperation.getThrows(genClass));

-			stringBuffer.append(TEXT_35);

-			if (genOperation.hasBody()) {

-				stringBuffer.append(TEXT_36);

-				stringBuffer.append(genOperation.getBody(genModel.getIndentation(stringBuffer)));

-			} else if (genOperation.isInvariant()) {

-				GenClass opClass = genOperation.getGenClass();

-				String diagnostics = genOperation.getGenParameters().get(0).getName();

-				String context = genOperation.getGenParameters().get(1).getName();

-				if (genOperation.hasInvariantExpression()) {

-					stringBuffer.append(TEXT_37);

-					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

-					stringBuffer.append(TEXT_38);

-					stringBuffer.append(genClass.getQualifiedClassifierAccessor());

-					stringBuffer.append(TEXT_39);

-					stringBuffer.append(diagnostics);

-					stringBuffer.append(TEXT_40);

-					stringBuffer.append(context);

-					stringBuffer.append(TEXT_41);

-					stringBuffer.append(genOperation.getValidationDelegate());

-					stringBuffer.append(TEXT_42);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(TEXT_43);

-					stringBuffer.append(genOperation.getQualifiedOperationAccessor());

-					stringBuffer.append(TEXT_44);

-					stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation),

-							genModel.getLocale()));

-					stringBuffer.append(TEXT_45);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

-					stringBuffer.append(TEXT_47);

-					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

-					stringBuffer.append(TEXT_48);

-					stringBuffer.append(opClass.getOperationID(genOperation));

-					stringBuffer.append(TEXT_49);

-				} else {

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(diagnostics);

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(diagnostics);

-					stringBuffer.append(TEXT_52);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

-					stringBuffer.append(TEXT_53);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-					stringBuffer.append(TEXT_54);

-					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

-					stringBuffer.append(TEXT_55);

-					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

-					stringBuffer.append(TEXT_56);

-					stringBuffer.append(opClass.getOperationID(genOperation));

-					stringBuffer.append(TEXT_57);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

-					stringBuffer.append(TEXT_58);

-					stringBuffer.append(genOperation.getName());

-					stringBuffer.append(TEXT_59);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));

-					stringBuffer.append(TEXT_60);

-					stringBuffer.append(context);

-					stringBuffer.append(TEXT_61);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(genModel.getNonNLS(2));

-					stringBuffer.append(TEXT_62);

-				}

-			} else if (genOperation.hasInvocationDelegate()) {

-				int size = genOperation.getGenParameters().size();

-				stringBuffer.append(TEXT_63);

-				if (genOperation.isVoid()) {

-					stringBuffer.append(TEXT_64);

-					stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation),

-							genModel.getLocale()));

-					stringBuffer.append(TEXT_65);

-					if (size > 0) {

-						stringBuffer.append(TEXT_66);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-						stringBuffer.append(TEXT_67);

-						stringBuffer.append(size);

-						stringBuffer.append(TEXT_68);

-						stringBuffer.append(genOperation.getParametersArray(genClass));

-						stringBuffer.append(TEXT_69);

-					} else {

-						stringBuffer.append(TEXT_70);

-					}

-					stringBuffer.append(TEXT_71);

-				} else {

-					stringBuffer.append(TEXT_72);

-					if (!isJDK50 && genOperation.isPrimitiveType()) {

-						stringBuffer.append(TEXT_73);

-					}

-					stringBuffer.append(TEXT_74);

-					stringBuffer.append(genOperation.getObjectType(genClass));

-					stringBuffer.append(TEXT_75);

-					stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation),

-							genModel.getLocale()));

-					stringBuffer.append(TEXT_76);

-					if (size > 0) {

-						stringBuffer.append(TEXT_77);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-						stringBuffer.append(TEXT_78);

-						stringBuffer.append(size);

-						stringBuffer.append(TEXT_79);

-						stringBuffer.append(genOperation.getParametersArray(genClass));

-						stringBuffer.append(TEXT_80);

-					} else {

-						stringBuffer.append(TEXT_81);

-					}

-					stringBuffer.append(TEXT_82);

-					if (!isJDK50 && genOperation.isPrimitiveType()) {

-						stringBuffer.append(TEXT_83);

-						stringBuffer.append(genOperation.getPrimitiveValueFunction());

-						stringBuffer.append(TEXT_84);

-					}

-					stringBuffer.append(TEXT_85);

-				}

-				stringBuffer.append(TEXT_86);

-				stringBuffer.append(genModel

-						.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"

-								: "java.lang.reflect.InvocationTargetException"));

-				stringBuffer.append(TEXT_87);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));

-				stringBuffer.append(TEXT_88);

-			} else {

-				stringBuffer.append(TEXT_89);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genOperation", genOperation);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0t7DoGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//Class/implementedGenOperation.todo.override.javajetinc

-			}

-			stringBuffer.append(TEXT_90);

-		}

-		stringBuffer.append(TEXT_91);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genOperation", genOperation);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0uENkGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_92);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgenOperationoverride {
+	protected static String nl;
+
+	public static synchronized ClassgenOperationoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgenOperationoverride result = new ClassgenOperationoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * The cached validation expression for the '{@link #";
+	protected final String TEXT_3 = "(";
+	protected final String TEXT_4 = ") <em>";
+	protected final String TEXT_5 = "</em>}' invariant operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+	protected final String TEXT_6 = "(";
+	protected final String TEXT_7 = ")" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL
+			+ "\tprotected static final ";
+	protected final String TEXT_8 = " ";
+	protected final String TEXT_9 = "__EEXPRESSION = \"";
+	protected final String TEXT_10 = "\";";
+	protected final String TEXT_11 = NL;
+	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * The cached invocation delegate for the '{@link #";
+	protected final String TEXT_13 = "(";
+	protected final String TEXT_14 = ") <em>";
+	protected final String TEXT_15 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+	protected final String TEXT_16 = "(";
+	protected final String TEXT_17 = ")" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL
+			+ "\tprotected static final ";
+	protected final String TEXT_18 = ".Internal.InvocationDelegate ";
+	protected final String TEXT_19 = "__EINVOCATION_DELEGATE = ((";
+	protected final String TEXT_20 = ".Internal)";
+	protected final String TEXT_21 = ").getInvocationDelegate();" + NL;
+	protected final String TEXT_22 = NL;
+	protected final String TEXT_23 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_24 = NL;
+	protected final String TEXT_25 = NL + "\t";
+	protected final String TEXT_26 = " ";
+	protected final String TEXT_27 = "(";
+	protected final String TEXT_28 = ")";
+	protected final String TEXT_29 = ";" + NL;
+	protected final String TEXT_30 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_31 = NL + "\tpublic ";
+	protected final String TEXT_32 = " ";
+	protected final String TEXT_33 = "(";
+	protected final String TEXT_34 = ")";
+	protected final String TEXT_35 = NL + "\t{";
+	protected final String TEXT_36 = NL + "\t\t";
+	protected final String TEXT_37 = NL + "\t\treturn" + NL + "\t\t\t";
+	protected final String TEXT_38 = ".validate" + NL + "\t\t\t\t(";
+	protected final String TEXT_39 = "," + NL + "\t\t\t\t this," + NL + "\t\t\t\t ";
+	protected final String TEXT_40 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_41 = "," + NL + "\t\t\t\t \"";
+	protected final String TEXT_42 = "\",";
+	protected final String TEXT_43 = NL + "\t\t\t\t ";
+	protected final String TEXT_44 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_45 = "__EEXPRESSION," + NL + "\t\t\t\t ";
+	protected final String TEXT_46 = ".ERROR," + NL + "\t\t\t\t ";
+	protected final String TEXT_47 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t ";
+	protected final String TEXT_48 = ".";
+	protected final String TEXT_49 = ");";
+	protected final String TEXT_50 = NL + "\t\t// TODO: implement this method" + NL
+			+ "\t\t// -> specify the condition that violates the invariant" + NL
+			+ "\t\t// -> verify the details of the diagnostic, including severity and message" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL
+			+ "\t\t{" + NL + "\t\t\tif (";
+	protected final String TEXT_51 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_52 = ".add" + NL + "\t\t\t\t\t(new ";
+	protected final String TEXT_53 = NL + "\t\t\t\t\t\t(";
+	protected final String TEXT_54 = ".ERROR," + NL + "\t\t\t\t\t\t ";
+	protected final String TEXT_55 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t ";
+	protected final String TEXT_56 = ".";
+	protected final String TEXT_57 = "," + NL + "\t\t\t\t\t\t ";
+	protected final String TEXT_58 = ".INSTANCE.getString(\"_UI_GenericInvariant_diagnostic\", new Object[] { \"";
+	protected final String TEXT_59 = "\", ";
+	protected final String TEXT_60 = ".getObjectLabel(this, ";
+	protected final String TEXT_61 = ") }),";
+	protected final String TEXT_62 = NL + "\t\t\t\t\t\t new Object [] { this }));" + NL + "\t\t\t}" + NL
+			+ "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn true;";
+	protected final String TEXT_63 = NL + "\t\ttry" + NL + "\t\t{";
+	protected final String TEXT_64 = NL + "\t\t\t";
+	protected final String TEXT_65 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";
+	protected final String TEXT_66 = "new ";
+	protected final String TEXT_67 = ".UnmodifiableEList<Object>(";
+	protected final String TEXT_68 = ", ";
+	protected final String TEXT_69 = ")";
+	protected final String TEXT_70 = "null";
+	protected final String TEXT_71 = ");";
+	protected final String TEXT_72 = NL + "\t\t\treturn ";
+	protected final String TEXT_73 = "(";
+	protected final String TEXT_74 = "(";
+	protected final String TEXT_75 = ")";
+	protected final String TEXT_76 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";
+	protected final String TEXT_77 = "new ";
+	protected final String TEXT_78 = ".UnmodifiableEList<Object>(";
+	protected final String TEXT_79 = ", ";
+	protected final String TEXT_80 = ")";
+	protected final String TEXT_81 = "null";
+	protected final String TEXT_82 = ")";
+	protected final String TEXT_83 = ").";
+	protected final String TEXT_84 = "()";
+	protected final String TEXT_85 = ";";
+	protected final String TEXT_86 = NL + "\t\t}" + NL + "\t\tcatch (";
+	protected final String TEXT_87 = " ite)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";
+	protected final String TEXT_88 = "(ite);" + NL + "\t\t}";
+	protected final String TEXT_89 = NL;
+	protected final String TEXT_90 = NL + "\t}" + NL;
+	protected final String TEXT_91 = NL;
+	protected final String TEXT_92 = NL;
+	protected final String TEXT_93 = NL;
+	protected final String TEXT_94 = NL;
+
+	public ClassgenOperationoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_93);
+		stringBuffer.append(TEXT_94);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isImplementation) {
+			if (genOperation.isInvariant() && genOperation.hasInvariantExpression()) {
+				stringBuffer.append(TEXT_2);
+				stringBuffer.append(genOperation.getName());
+				stringBuffer.append(TEXT_3);
+				stringBuffer.append(genOperation.getParameterTypes(", "));
+				stringBuffer.append(TEXT_4);
+				stringBuffer.append(genOperation.getFormattedName());
+				stringBuffer.append(TEXT_5);
+				stringBuffer.append(genOperation.getName());
+				stringBuffer.append(TEXT_6);
+				stringBuffer.append(genOperation.getParameterTypes(", "));
+				stringBuffer.append(TEXT_7);
+				stringBuffer.append(genModel.getImportedName("java.lang.String"));
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+				stringBuffer.append(TEXT_9);
+				stringBuffer.append(genOperation.getInvariantExpression("\t\t"));
+				stringBuffer.append(TEXT_10);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(TEXT_11);
+			} else if (genOperation.hasInvocationDelegate()) {
+				stringBuffer.append(TEXT_12);
+				stringBuffer.append(genOperation.getName());
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(genOperation.getParameterTypes(", "));
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genOperation.getFormattedName());
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(genOperation.getName());
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genOperation.getParameterTypes(", "));
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+				stringBuffer.append(TEXT_18);
+				stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genOperation.getQualifiedOperationAccessor());
+				stringBuffer.append(TEXT_21);
+			}
+		}
+		if (isInterface) {
+			stringBuffer.append(TEXT_22);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.javadoc.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genOperation", genOperation);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0tUmsGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/genOperation.javadoc.override.javajetinc
+		} else {
+			stringBuffer.append(TEXT_23);
+			if (isJDK50) { //Class/genOperation.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_24);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genOperation", genOperation);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0txSoGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+		}
+		if (!isImplementation) {
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genOperation.getTypeParameters(genClass));
+			stringBuffer.append(genOperation.getImportedType(genClass));
+			stringBuffer.append(TEXT_26);
+			stringBuffer.append(genOperation.getName());
+			stringBuffer.append(TEXT_27);
+			stringBuffer.append(genOperation.getParameters(genClass));
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(genOperation.getThrows(genClass));
+			stringBuffer.append(TEXT_29);
+		} else {
+			if (genModel.useGenerics() && !genOperation.hasBody() && !genOperation.isInvariant()
+					&& genOperation.hasInvocationDelegate() && genOperation.isUncheckedCast(genClass)) {
+				stringBuffer.append(TEXT_30);
+			}
+			stringBuffer.append(TEXT_31);
+			stringBuffer.append(genOperation.getTypeParameters(genClass));
+			stringBuffer.append(genOperation.getImportedType(genClass));
+			stringBuffer.append(TEXT_32);
+			stringBuffer.append(genOperation.getName());
+			stringBuffer.append(TEXT_33);
+			stringBuffer.append(genOperation.getParameters(isImplementation, genClass));
+			stringBuffer.append(TEXT_34);
+			stringBuffer.append(genOperation.getThrows(genClass));
+			stringBuffer.append(TEXT_35);
+			if (genOperation.hasBody()) {
+				stringBuffer.append(TEXT_36);
+				stringBuffer.append(genOperation.getBody(genModel.getIndentation(stringBuffer)));
+			} else if (genOperation.isInvariant()) {
+				GenClass opClass = genOperation.getGenClass();
+				String diagnostics = genOperation.getGenParameters().get(0).getName();
+				String context = genOperation.getGenParameters().get(1).getName();
+				if (genOperation.hasInvariantExpression()) {
+					stringBuffer.append(TEXT_37);
+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+					stringBuffer.append(TEXT_38);
+					stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+					stringBuffer.append(TEXT_39);
+					stringBuffer.append(diagnostics);
+					stringBuffer.append(TEXT_40);
+					stringBuffer.append(context);
+					stringBuffer.append(TEXT_41);
+					stringBuffer.append(genOperation.getValidationDelegate());
+					stringBuffer.append(TEXT_42);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(TEXT_43);
+					stringBuffer.append(genOperation.getQualifiedOperationAccessor());
+					stringBuffer.append(TEXT_44);
+					stringBuffer
+							.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+					stringBuffer.append(TEXT_45);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+					stringBuffer.append(TEXT_47);
+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+					stringBuffer.append(TEXT_48);
+					stringBuffer.append(opClass.getOperationID(genOperation));
+					stringBuffer.append(TEXT_49);
+				} else {
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(diagnostics);
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(diagnostics);
+					stringBuffer.append(TEXT_52);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+					stringBuffer.append(TEXT_53);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+					stringBuffer.append(TEXT_54);
+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+					stringBuffer.append(TEXT_55);
+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+					stringBuffer.append(TEXT_56);
+					stringBuffer.append(opClass.getOperationID(genOperation));
+					stringBuffer.append(TEXT_57);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+					stringBuffer.append(TEXT_58);
+					stringBuffer.append(genOperation.getName());
+					stringBuffer.append(TEXT_59);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));
+					stringBuffer.append(TEXT_60);
+					stringBuffer.append(context);
+					stringBuffer.append(TEXT_61);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(genModel.getNonNLS(2));
+					stringBuffer.append(TEXT_62);
+				}
+			} else if (genOperation.hasInvocationDelegate()) {
+				int size = genOperation.getGenParameters().size();
+				stringBuffer.append(TEXT_63);
+				if (genOperation.isVoid()) {
+					stringBuffer.append(TEXT_64);
+					stringBuffer
+							.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+					stringBuffer.append(TEXT_65);
+					if (size > 0) {
+						stringBuffer.append(TEXT_66);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+						stringBuffer.append(TEXT_67);
+						stringBuffer.append(size);
+						stringBuffer.append(TEXT_68);
+						stringBuffer.append(genOperation.getParametersArray(genClass));
+						stringBuffer.append(TEXT_69);
+					} else {
+						stringBuffer.append(TEXT_70);
+					}
+					stringBuffer.append(TEXT_71);
+				} else {
+					stringBuffer.append(TEXT_72);
+					if (!isJDK50 && genOperation.isPrimitiveType()) {
+						stringBuffer.append(TEXT_73);
+					}
+					stringBuffer.append(TEXT_74);
+					stringBuffer.append(genOperation.getObjectType(genClass));
+					stringBuffer.append(TEXT_75);
+					stringBuffer
+							.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+					stringBuffer.append(TEXT_76);
+					if (size > 0) {
+						stringBuffer.append(TEXT_77);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+						stringBuffer.append(TEXT_78);
+						stringBuffer.append(size);
+						stringBuffer.append(TEXT_79);
+						stringBuffer.append(genOperation.getParametersArray(genClass));
+						stringBuffer.append(TEXT_80);
+					} else {
+						stringBuffer.append(TEXT_81);
+					}
+					stringBuffer.append(TEXT_82);
+					if (!isJDK50 && genOperation.isPrimitiveType()) {
+						stringBuffer.append(TEXT_83);
+						stringBuffer.append(genOperation.getPrimitiveValueFunction());
+						stringBuffer.append(TEXT_84);
+					}
+					stringBuffer.append(TEXT_85);
+				}
+				stringBuffer.append(TEXT_86);
+				stringBuffer
+						.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"
+								: "java.lang.reflect.InvocationTargetException"));
+				stringBuffer.append(TEXT_87);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));
+				stringBuffer.append(TEXT_88);
+			} else {
+				stringBuffer.append(TEXT_89);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genOperation", genOperation);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0t7DoGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//Class/implementedGenOperation.todo.override.javajetinc
+			}
+			stringBuffer.append(TEXT_90);
+		}
+		stringBuffer.append(TEXT_91);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genOperation", genOperation);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0uENkGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_92);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureTODOoverride.java
index 24d0d17..45b53a5 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureTODOoverride.java
@@ -1,305 +1,305 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized ClassgetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgetGenFeatureTODOoverride result = new ClassgetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return the '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT";

-	protected final String TEXT_4 = NL

-			+ "\t\t// The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting"

-			+ NL + "\t\t// so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.";

-	protected final String TEXT_5 = "EcoreEMap";

-	protected final String TEXT_6 = "BasicFeatureMap";

-	protected final String TEXT_7 = "EcoreEList";

-	protected final String TEXT_8 = " should be used.";

-	protected final String TEXT_9 = NL + "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_10 = NL;

-	protected final String TEXT_11 = NL;

-

-	public ClassgetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_10);

-		stringBuffer.append(TEXT_11);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		if (genFeature.isListType()) {

-			stringBuffer.append(TEXT_4);

-			if (genFeature.isMapType()) {

-				stringBuffer.append(TEXT_5);

-			} else if (genFeature.isFeatureMapType()) {

-				stringBuffer.append(TEXT_6);

-			} else {

-				stringBuffer.append(TEXT_7);

-			}

-			stringBuffer.append(TEXT_8);

-		}

-		stringBuffer.append(TEXT_9);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized ClassgetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgetGenFeatureTODOoverride result = new ClassgetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return the '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT";
+	protected final String TEXT_4 = NL
+			+ "\t\t// The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting"
+			+ NL + "\t\t// so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.";
+	protected final String TEXT_5 = "EcoreEMap";
+	protected final String TEXT_6 = "BasicFeatureMap";
+	protected final String TEXT_7 = "EcoreEList";
+	protected final String TEXT_8 = " should be used.";
+	protected final String TEXT_9 = NL + "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_10 = NL;
+	protected final String TEXT_11 = NL;
+
+	public ClassgetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_10);
+		stringBuffer.append(TEXT_11);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		if (genFeature.isListType()) {
+			stringBuffer.append(TEXT_4);
+			if (genFeature.isMapType()) {
+				stringBuffer.append(TEXT_5);
+			} else if (genFeature.isFeatureMapType()) {
+				stringBuffer.append(TEXT_6);
+			} else {
+				stringBuffer.append(TEXT_7);
+			}
+			stringBuffer.append(TEXT_8);
+		}
+		stringBuffer.append(TEXT_9);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureannotationsinsert.java
index 102ebd3..8e3e94a 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized ClassgetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgetGenFeatureannotationsinsert result = new ClassgetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassgetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized ClassgetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgetGenFeatureannotationsinsert result = new ClassgetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassgetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocinsert.java
index 2d2973b..98b9559 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgetGenFeaturejavadocinsert {

-	protected static String nl;

-

-	public static synchronized ClassgetGenFeaturejavadocinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgetGenFeaturejavadocinsert result = new ClassgetGenFeaturejavadocinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassgetGenFeaturejavadocinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgetGenFeaturejavadocinsert {
+	protected static String nl;
+
+	public static synchronized ClassgetGenFeaturejavadocinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgetGenFeaturejavadocinsert result = new ClassgetGenFeaturejavadocinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassgetGenFeaturejavadocinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocoverride.java
index 1804fda..014c591 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturejavadocoverride.java
@@ -1,510 +1,509 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgetGenFeaturejavadocoverride {

-	protected static String nl;

-

-	public static synchronized ClassgetGenFeaturejavadocoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgetGenFeaturejavadocoverride result = new ClassgetGenFeaturejavadocoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Returns the value of the '<em><b>";

-	protected final String TEXT_2 = "</b></em>' ";

-	protected final String TEXT_3 = ".";

-	protected final String TEXT_4 = NL + "\t * The key is of type ";

-	protected final String TEXT_5 = "list of {@link ";

-	protected final String TEXT_6 = "}";

-	protected final String TEXT_7 = "{@link ";

-	protected final String TEXT_8 = "}";

-	protected final String TEXT_9 = "," + NL + "\t * and the value is of type ";

-	protected final String TEXT_10 = "list of {@link ";

-	protected final String TEXT_11 = "}";

-	protected final String TEXT_12 = "{@link ";

-	protected final String TEXT_13 = "}";

-	protected final String TEXT_14 = ",";

-	protected final String TEXT_15 = NL + "\t * The list contents are of type {@link ";

-	protected final String TEXT_16 = "}";

-	protected final String TEXT_17 = ".";

-	protected final String TEXT_18 = NL + "\t * The default value is <code>";

-	protected final String TEXT_19 = "</code>.";

-	protected final String TEXT_20 = NL + "\t * The literals are from the enumeration {@link ";

-	protected final String TEXT_21 = "}.";

-	protected final String TEXT_22 = NL + "\t * It is bidirectional and its opposite is '{@link ";

-	protected final String TEXT_23 = "#";

-	protected final String TEXT_24 = " <em>";

-	protected final String TEXT_25 = "</em>}'.";

-	protected final String TEXT_26 = NL;

-	protected final String TEXT_27 = NL + "\t * <!-- begin-user-doc -->";

-	protected final String TEXT_28 = NL + "\t * <p>" + NL + "\t * If the meaning of the '<em>";

-	protected final String TEXT_29 = "</em>' ";

-	protected final String TEXT_30 = " isn't clear," + NL + "\t * there really should be more of a description here..."

-			+ NL + "\t * </p>";

-	protected final String TEXT_31 = NL + "\t * <!-- end-user-doc -->";

-	protected final String TEXT_32 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";

-	protected final String TEXT_33 = NL + "\t * <!-- end-model-doc -->";

-	protected final String TEXT_34 = NL + "\t * @return the value of the '<em>";

-	protected final String TEXT_35 = "</em>' ";

-	protected final String TEXT_36 = ".";

-	protected final String TEXT_37 = NL + "\t * @see ";

-	protected final String TEXT_38 = NL + "\t * @see #isSet";

-	protected final String TEXT_39 = "()";

-	protected final String TEXT_40 = NL + "\t * @see #unset";

-	protected final String TEXT_41 = "()";

-	protected final String TEXT_42 = NL + "\t * @see #set";

-	protected final String TEXT_43 = "(";

-	protected final String TEXT_44 = ")";

-	protected final String TEXT_45 = NL + "\t * @see ";

-	protected final String TEXT_46 = "#get";

-	protected final String TEXT_47 = "()";

-	protected final String TEXT_48 = NL + "\t * @see ";

-	protected final String TEXT_49 = "#";

-	protected final String TEXT_50 = NL + "\t * @model ";

-	protected final String TEXT_51 = NL + "\t *        ";

-	protected final String TEXT_52 = NL + "\t * @model";

-	protected final String TEXT_53 = NL + "\t * @generated" + NL + "\t */" + NL;

-	protected final String TEXT_54 = NL;

-	protected final String TEXT_55 = NL;

-

-	public ClassgetGenFeaturejavadocoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_54);

-		stringBuffer.append(TEXT_55);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		if (genFeature.isListType() && genFeature.getEcoreFeature().getEGenericType().getETypeParameter() == null) {

-			if (genFeature.isMapType()) {

-				GenFeature keyFeature = genFeature.getMapEntryTypeGenClass().getMapEntryKeyFeature();

-				GenFeature valueFeature = genFeature.getMapEntryTypeGenClass().getMapEntryValueFeature();

-				stringBuffer.append(TEXT_4);

-				if (keyFeature.isListType()) {

-					stringBuffer.append(TEXT_5);

-					stringBuffer.append(keyFeature.getQualifiedListItemType(genClass));

-					stringBuffer.append(TEXT_6);

-				} else {

-					stringBuffer.append(TEXT_7);

-					stringBuffer.append(keyFeature.getType(genClass));

-					stringBuffer.append(TEXT_8);

-				}

-				stringBuffer.append(TEXT_9);

-				if (valueFeature.isListType()) {

-					stringBuffer.append(TEXT_10);

-					stringBuffer.append(valueFeature.getQualifiedListItemType(genClass));

-					stringBuffer.append(TEXT_11);

-				} else {

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(valueFeature.getType(genClass));

-					stringBuffer.append(TEXT_13);

-				}

-				stringBuffer.append(TEXT_14);

-			} else if (!genFeature.isWrappedFeatureMapType()

-					&& !(genModel.isSuppressEMFMetaData() && "org.eclipse.emf.ecore.EObject".equals(genFeature

-							.getQualifiedListItemType(genClass)))) {

-				String typeName = genFeature.getQualifiedListItemType(genClass);

-				String head = typeName;

-				String tail = "";

-				int index = typeName.indexOf('<');

-				if (index == -1) {

-					index = typeName.indexOf('[');

-				}

-				if (index != -1) {

-					head = typeName.substring(0, index);

-					tail = typeName.substring(index).replaceAll("<", "&lt;");

-				}

-

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(head);

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(tail);

-				stringBuffer.append(TEXT_17);

-			}

-		} else if (genFeature.isSetDefaultValue()) {

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(genFeature.getDefaultValue());

-			stringBuffer.append(TEXT_19);

-		}

-		if (genFeature.getTypeGenEnum() != null) {

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());

-			stringBuffer.append(TEXT_21);

-		}

-		if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {

-			GenFeature reverseGenFeature = genFeature.getReverse();

-			if (!reverseGenFeature.isSuppressedGetVisibility()) {

-				stringBuffer.append(TEXT_22);

-				stringBuffer.append(reverseGenFeature.getGenClass().getQualifiedInterfaceName());

-				stringBuffer.append(TEXT_23);

-				stringBuffer.append(reverseGenFeature.getGetAccessor());

-				stringBuffer.append(TEXT_24);

-				stringBuffer.append(reverseGenFeature.getFormattedName());

-				stringBuffer.append(TEXT_25);

-			}

-		}

-		stringBuffer.append(TEXT_26);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lIUAGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_27);

-		if (!genFeature.hasDocumentation()) {

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(genFeature.getFormattedName());

-			stringBuffer.append(TEXT_29);

-			stringBuffer.append(genFeature.getFeatureKind());

-			stringBuffer.append(TEXT_30);

-		}

-		stringBuffer.append(TEXT_31);

-		if (genFeature.hasDocumentation()) {

-			stringBuffer.append(TEXT_32);

-			stringBuffer.append(genFeature.getDocumentation(genModel.getIndentation(stringBuffer)));

-			stringBuffer.append(TEXT_33);

-		}

-		stringBuffer.append(TEXT_34);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_35);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_36);

-		if (genFeature.getTypeGenEnum() != null) {

-			stringBuffer.append(TEXT_37);

-			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());

-		}

-		if (genFeature.isUnsettable()) {

-			if (!genFeature.isSuppressedIsSetVisibility()) {

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_39);

-			}

-			if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {

-				stringBuffer.append(TEXT_40);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_41);

-			}

-		}

-		if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {

-			stringBuffer.append(TEXT_42);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_43);

-			stringBuffer.append(genFeature.getRawImportedBoundType());

-			stringBuffer.append(TEXT_44);

-		}

-		if (!genModel.isSuppressEMFMetaData()) {

-			stringBuffer.append(TEXT_45);

-			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-			stringBuffer.append(TEXT_46);

-			stringBuffer.append(genFeature.getFeatureAccessorName());

-			stringBuffer.append(TEXT_47);

-		}

-		if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {

-			GenFeature reverseGenFeature = genFeature.getReverse();

-			if (!reverseGenFeature.isSuppressedGetVisibility()) {

-				stringBuffer.append(TEXT_48);

-				stringBuffer.append(reverseGenFeature.getGenClass().getQualifiedInterfaceName());

-				stringBuffer.append(TEXT_49);

-				stringBuffer.append(reverseGenFeature.getGetAccessor());

-			}

-		}

-		if (!genModel.isSuppressEMFModelTags()) {

-			boolean first = true;

-			for (StringTokenizer stringTokenizer = new StringTokenizer(genFeature.getModelInfo(), "\n\r"); stringTokenizer

-					.hasMoreTokens();) {

-				String modelInfo = stringTokenizer.nextToken();

-				if (first) {

-					first = false;

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(modelInfo);

-				} else {

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(modelInfo);

-				}

-			}

-			if (first) {

-				stringBuffer.append(TEXT_52);

-			}

-		}

-		stringBuffer.append(TEXT_53);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgetGenFeaturejavadocoverride {
+	protected static String nl;
+
+	public static synchronized ClassgetGenFeaturejavadocoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgetGenFeaturejavadocoverride result = new ClassgetGenFeaturejavadocoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Returns the value of the '<em><b>";
+	protected final String TEXT_2 = "</b></em>' ";
+	protected final String TEXT_3 = ".";
+	protected final String TEXT_4 = NL + "\t * The key is of type ";
+	protected final String TEXT_5 = "list of {@link ";
+	protected final String TEXT_6 = "}";
+	protected final String TEXT_7 = "{@link ";
+	protected final String TEXT_8 = "}";
+	protected final String TEXT_9 = "," + NL + "\t * and the value is of type ";
+	protected final String TEXT_10 = "list of {@link ";
+	protected final String TEXT_11 = "}";
+	protected final String TEXT_12 = "{@link ";
+	protected final String TEXT_13 = "}";
+	protected final String TEXT_14 = ",";
+	protected final String TEXT_15 = NL + "\t * The list contents are of type {@link ";
+	protected final String TEXT_16 = "}";
+	protected final String TEXT_17 = ".";
+	protected final String TEXT_18 = NL + "\t * The default value is <code>";
+	protected final String TEXT_19 = "</code>.";
+	protected final String TEXT_20 = NL + "\t * The literals are from the enumeration {@link ";
+	protected final String TEXT_21 = "}.";
+	protected final String TEXT_22 = NL + "\t * It is bidirectional and its opposite is '{@link ";
+	protected final String TEXT_23 = "#";
+	protected final String TEXT_24 = " <em>";
+	protected final String TEXT_25 = "</em>}'.";
+	protected final String TEXT_26 = NL;
+	protected final String TEXT_27 = NL + "\t * <!-- begin-user-doc -->";
+	protected final String TEXT_28 = NL + "\t * <p>" + NL + "\t * If the meaning of the '<em>";
+	protected final String TEXT_29 = "</em>' ";
+	protected final String TEXT_30 = " isn't clear," + NL + "\t * there really should be more of a description here..."
+			+ NL + "\t * </p>";
+	protected final String TEXT_31 = NL + "\t * <!-- end-user-doc -->";
+	protected final String TEXT_32 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";
+	protected final String TEXT_33 = NL + "\t * <!-- end-model-doc -->";
+	protected final String TEXT_34 = NL + "\t * @return the value of the '<em>";
+	protected final String TEXT_35 = "</em>' ";
+	protected final String TEXT_36 = ".";
+	protected final String TEXT_37 = NL + "\t * @see ";
+	protected final String TEXT_38 = NL + "\t * @see #isSet";
+	protected final String TEXT_39 = "()";
+	protected final String TEXT_40 = NL + "\t * @see #unset";
+	protected final String TEXT_41 = "()";
+	protected final String TEXT_42 = NL + "\t * @see #set";
+	protected final String TEXT_43 = "(";
+	protected final String TEXT_44 = ")";
+	protected final String TEXT_45 = NL + "\t * @see ";
+	protected final String TEXT_46 = "#get";
+	protected final String TEXT_47 = "()";
+	protected final String TEXT_48 = NL + "\t * @see ";
+	protected final String TEXT_49 = "#";
+	protected final String TEXT_50 = NL + "\t * @model ";
+	protected final String TEXT_51 = NL + "\t *        ";
+	protected final String TEXT_52 = NL + "\t * @model";
+	protected final String TEXT_53 = NL + "\t * @generated" + NL + "\t */" + NL;
+	protected final String TEXT_54 = NL;
+	protected final String TEXT_55 = NL;
+
+	public ClassgetGenFeaturejavadocoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_54);
+		stringBuffer.append(TEXT_55);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		if (genFeature.isListType() && genFeature.getEcoreFeature().getEGenericType().getETypeParameter() == null) {
+			if (genFeature.isMapType()) {
+				GenFeature keyFeature = genFeature.getMapEntryTypeGenClass().getMapEntryKeyFeature();
+				GenFeature valueFeature = genFeature.getMapEntryTypeGenClass().getMapEntryValueFeature();
+				stringBuffer.append(TEXT_4);
+				if (keyFeature.isListType()) {
+					stringBuffer.append(TEXT_5);
+					stringBuffer.append(keyFeature.getQualifiedListItemType(genClass));
+					stringBuffer.append(TEXT_6);
+				} else {
+					stringBuffer.append(TEXT_7);
+					stringBuffer.append(keyFeature.getType(genClass));
+					stringBuffer.append(TEXT_8);
+				}
+				stringBuffer.append(TEXT_9);
+				if (valueFeature.isListType()) {
+					stringBuffer.append(TEXT_10);
+					stringBuffer.append(valueFeature.getQualifiedListItemType(genClass));
+					stringBuffer.append(TEXT_11);
+				} else {
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(valueFeature.getType(genClass));
+					stringBuffer.append(TEXT_13);
+				}
+				stringBuffer.append(TEXT_14);
+			} else if (!genFeature.isWrappedFeatureMapType() && !(genModel.isSuppressEMFMetaData()
+					&& "org.eclipse.emf.ecore.EObject".equals(genFeature.getQualifiedListItemType(genClass)))) {
+				String typeName = genFeature.getQualifiedListItemType(genClass);
+				String head = typeName;
+				String tail = "";
+				int index = typeName.indexOf('<');
+				if (index == -1) {
+					index = typeName.indexOf('[');
+				}
+				if (index != -1) {
+					head = typeName.substring(0, index);
+					tail = typeName.substring(index).replaceAll("<", "&lt;");
+				}
+
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(head);
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(tail);
+				stringBuffer.append(TEXT_17);
+			}
+		} else if (genFeature.isSetDefaultValue()) {
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(genFeature.getDefaultValue());
+			stringBuffer.append(TEXT_19);
+		}
+		if (genFeature.getTypeGenEnum() != null) {
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
+			stringBuffer.append(TEXT_21);
+		}
+		if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {
+			GenFeature reverseGenFeature = genFeature.getReverse();
+			if (!reverseGenFeature.isSuppressedGetVisibility()) {
+				stringBuffer.append(TEXT_22);
+				stringBuffer.append(reverseGenFeature.getGenClass().getQualifiedInterfaceName());
+				stringBuffer.append(TEXT_23);
+				stringBuffer.append(reverseGenFeature.getGetAccessor());
+				stringBuffer.append(TEXT_24);
+				stringBuffer.append(reverseGenFeature.getFormattedName());
+				stringBuffer.append(TEXT_25);
+			}
+		}
+		stringBuffer.append(TEXT_26);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lIUAGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_27);
+		if (!genFeature.hasDocumentation()) {
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(genFeature.getFormattedName());
+			stringBuffer.append(TEXT_29);
+			stringBuffer.append(genFeature.getFeatureKind());
+			stringBuffer.append(TEXT_30);
+		}
+		stringBuffer.append(TEXT_31);
+		if (genFeature.hasDocumentation()) {
+			stringBuffer.append(TEXT_32);
+			stringBuffer.append(genFeature.getDocumentation(genModel.getIndentation(stringBuffer)));
+			stringBuffer.append(TEXT_33);
+		}
+		stringBuffer.append(TEXT_34);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_35);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_36);
+		if (genFeature.getTypeGenEnum() != null) {
+			stringBuffer.append(TEXT_37);
+			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
+		}
+		if (genFeature.isUnsettable()) {
+			if (!genFeature.isSuppressedIsSetVisibility()) {
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_39);
+			}
+			if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {
+				stringBuffer.append(TEXT_40);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_41);
+			}
+		}
+		if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {
+			stringBuffer.append(TEXT_42);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_43);
+			stringBuffer.append(genFeature.getRawImportedBoundType());
+			stringBuffer.append(TEXT_44);
+		}
+		if (!genModel.isSuppressEMFMetaData()) {
+			stringBuffer.append(TEXT_45);
+			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+			stringBuffer.append(TEXT_46);
+			stringBuffer.append(genFeature.getFeatureAccessorName());
+			stringBuffer.append(TEXT_47);
+		}
+		if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {
+			GenFeature reverseGenFeature = genFeature.getReverse();
+			if (!reverseGenFeature.isSuppressedGetVisibility()) {
+				stringBuffer.append(TEXT_48);
+				stringBuffer.append(reverseGenFeature.getGenClass().getQualifiedInterfaceName());
+				stringBuffer.append(TEXT_49);
+				stringBuffer.append(reverseGenFeature.getGetAccessor());
+			}
+		}
+		if (!genModel.isSuppressEMFModelTags()) {
+			boolean first = true;
+			for (StringTokenizer stringTokenizer = new StringTokenizer(genFeature.getModelInfo(),
+					"\n\r"); stringTokenizer.hasMoreTokens();) {
+				String modelInfo = stringTokenizer.nextToken();
+				if (first) {
+					first = false;
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(modelInfo);
+				} else {
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(modelInfo);
+				}
+			}
+			if (first) {
+				stringBuffer.append(TEXT_52);
+			}
+		}
+		stringBuffer.append(TEXT_53);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureoverride.java
index 915d7a6..b7723ce 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeatureoverride.java
@@ -1,1021 +1,1018 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ClassgetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgetGenFeatureoverride result = new ClassgetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL + "\t";

-	protected final String TEXT_6 = " ";

-	protected final String TEXT_7 = "();" + NL;

-	protected final String TEXT_8 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_9 = NL + "\tpublic ";

-	protected final String TEXT_10 = " ";

-	protected final String TEXT_11 = "_";

-	protected final String TEXT_12 = "()" + NL + "\t{";

-	protected final String TEXT_13 = NL;

-	protected final String TEXT_14 = NL + "\t\treturn ";

-	protected final String TEXT_15 = "(";

-	protected final String TEXT_16 = "(";

-	protected final String TEXT_17 = ")eDynamicGet(";

-	protected final String TEXT_18 = " - ESTATIC_FEATURE_COUNT";

-	protected final String TEXT_19 = ", ";

-	protected final String TEXT_20 = ", true, ";

-	protected final String TEXT_21 = ")";

-	protected final String TEXT_22 = ").";

-	protected final String TEXT_23 = "()";

-	protected final String TEXT_24 = ";";

-	protected final String TEXT_25 = NL + "\t\t";

-	protected final String TEXT_26 = NL + "\t\treturn ";

-	protected final String TEXT_27 = "(";

-	protected final String TEXT_28 = "(";

-	protected final String TEXT_29 = ")eGet(";

-	protected final String TEXT_30 = ", true)";

-	protected final String TEXT_31 = ").";

-	protected final String TEXT_32 = "()";

-	protected final String TEXT_33 = ";";

-	protected final String TEXT_34 = NL + "\t\treturn ";

-	protected final String TEXT_35 = "(";

-	protected final String TEXT_36 = "(";

-	protected final String TEXT_37 = ")";

-	protected final String TEXT_38 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)";

-	protected final String TEXT_39 = ").";

-	protected final String TEXT_40 = "()";

-	protected final String TEXT_41 = ";";

-	protected final String TEXT_42 = NL + "\t\t";

-	protected final String TEXT_43 = " ";

-	protected final String TEXT_44 = " = (";

-	protected final String TEXT_45 = ")eVirtualGet(";

-	protected final String TEXT_46 = ");";

-	protected final String TEXT_47 = NL + "\t\tif (";

-	protected final String TEXT_48 = " == null)" + NL + "\t\t{";

-	protected final String TEXT_49 = NL + "\t\t\teVirtualSet(";

-	protected final String TEXT_50 = ", ";

-	protected final String TEXT_51 = " = new ";

-	protected final String TEXT_52 = ");";

-	protected final String TEXT_53 = NL + "\t\t\t";

-	protected final String TEXT_54 = " = new ";

-	protected final String TEXT_55 = ";";

-	protected final String TEXT_56 = NL + "\t\t}" + NL + "\t\treturn ";

-	protected final String TEXT_57 = ";";

-	protected final String TEXT_58 = NL + "\t\tif (eContainerFeatureID() != ";

-	protected final String TEXT_59 = ") return null;" + NL + "\t\treturn (";

-	protected final String TEXT_60 = ")";

-	protected final String TEXT_61 = "eContainer";

-	protected final String TEXT_62 = "eInternalContainer";

-	protected final String TEXT_63 = "();";

-	protected final String TEXT_64 = NL + "\t\t";

-	protected final String TEXT_65 = " ";

-	protected final String TEXT_66 = " = (";

-	protected final String TEXT_67 = ")eVirtualGet(";

-	protected final String TEXT_68 = ", ";

-	protected final String TEXT_69 = ");";

-	protected final String TEXT_70 = NL + "\t\tif (";

-	protected final String TEXT_71 = " != null && ";

-	protected final String TEXT_72 = ".eIsProxy())" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_73 = " old";

-	protected final String TEXT_74 = " = (";

-	protected final String TEXT_75 = ")";

-	protected final String TEXT_76 = ";" + NL + "\t\t\t";

-	protected final String TEXT_77 = " = ";

-	protected final String TEXT_78 = "eResolveProxy(old";

-	protected final String TEXT_79 = ");" + NL + "\t\t\tif (";

-	protected final String TEXT_80 = " != old";

-	protected final String TEXT_81 = ")" + NL + "\t\t\t{";

-	protected final String TEXT_82 = NL + "\t\t\t\t";

-	protected final String TEXT_83 = " new";

-	protected final String TEXT_84 = " = (";

-	protected final String TEXT_85 = ")";

-	protected final String TEXT_86 = ";";

-	protected final String TEXT_87 = NL + "\t\t\t\t";

-	protected final String TEXT_88 = " msgs = old";

-	protected final String TEXT_89 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

-	protected final String TEXT_90 = ", null, null);";

-	protected final String TEXT_91 = NL + "\t\t\t\t";

-	protected final String TEXT_92 = " msgs =  old";

-	protected final String TEXT_93 = ".eInverseRemove(this, ";

-	protected final String TEXT_94 = ", ";

-	protected final String TEXT_95 = ".class, null);";

-	protected final String TEXT_96 = NL + "\t\t\t\tif (new";

-	protected final String TEXT_97 = ".eInternalContainer() == null)" + NL + "\t\t\t\t{";

-	protected final String TEXT_98 = NL + "\t\t\t\t\tmsgs = new";

-	protected final String TEXT_99 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";

-	protected final String TEXT_100 = ", null, msgs);";

-	protected final String TEXT_101 = NL + "\t\t\t\t\tmsgs =  new";

-	protected final String TEXT_102 = ".eInverseAdd(this, ";

-	protected final String TEXT_103 = ", ";

-	protected final String TEXT_104 = ".class, msgs);";

-	protected final String TEXT_105 = NL + "\t\t\t\t}" + NL + "\t\t\t\tif (msgs != null) msgs.dispatch();";

-	protected final String TEXT_106 = NL + "\t\t\t\teVirtualSet(";

-	protected final String TEXT_107 = ", ";

-	protected final String TEXT_108 = ");";

-	protected final String TEXT_109 = NL + "\t\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\t\teNotify(new ";

-	protected final String TEXT_110 = "(this, ";

-	protected final String TEXT_111 = ".RESOLVE, ";

-	protected final String TEXT_112 = ", old";

-	protected final String TEXT_113 = ", ";

-	protected final String TEXT_114 = "));";

-	protected final String TEXT_115 = NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_116 = NL + "\t\treturn (";

-	protected final String TEXT_117 = ")eVirtualGet(";

-	protected final String TEXT_118 = ", ";

-	protected final String TEXT_119 = ");";

-	protected final String TEXT_120 = NL + "\t\treturn (";

-	protected final String TEXT_121 = " & ";

-	protected final String TEXT_122 = "_EFLAG) != 0;";

-	protected final String TEXT_123 = NL + "\t\treturn ";

-	protected final String TEXT_124 = "_EFLAG_VALUES[(";

-	protected final String TEXT_125 = " & ";

-	protected final String TEXT_126 = "_EFLAG) >>> ";

-	protected final String TEXT_127 = "_EFLAG_OFFSET];";

-	protected final String TEXT_128 = NL + "\t\treturn ";

-	protected final String TEXT_129 = ";";

-	protected final String TEXT_130 = NL + "\t\t";

-	protected final String TEXT_131 = " ";

-	protected final String TEXT_132 = " = basicGet";

-	protected final String TEXT_133 = "();" + NL + "\t\treturn ";

-	protected final String TEXT_134 = " != null && ";

-	protected final String TEXT_135 = ".eIsProxy() ? ";

-	protected final String TEXT_136 = "eResolveProxy((";

-	protected final String TEXT_137 = ")";

-	protected final String TEXT_138 = ") : ";

-	protected final String TEXT_139 = ";";

-	protected final String TEXT_140 = NL + "\t\treturn new ";

-	protected final String TEXT_141 = "((";

-	protected final String TEXT_142 = ".Internal)((";

-	protected final String TEXT_143 = ".Internal.Wrapper)get";

-	protected final String TEXT_144 = "()).featureMap().";

-	protected final String TEXT_145 = "list(";

-	protected final String TEXT_146 = "));";

-	protected final String TEXT_147 = NL + "\t\treturn (";

-	protected final String TEXT_148 = ")get";

-	protected final String TEXT_149 = "().";

-	protected final String TEXT_150 = "list(";

-	protected final String TEXT_151 = ");";

-	protected final String TEXT_152 = NL + "\t\treturn ((";

-	protected final String TEXT_153 = ".Internal.Wrapper)get";

-	protected final String TEXT_154 = "()).featureMap().list(";

-	protected final String TEXT_155 = ");";

-	protected final String TEXT_156 = NL + "\t\treturn get";

-	protected final String TEXT_157 = "().list(";

-	protected final String TEXT_158 = ");";

-	protected final String TEXT_159 = NL + "\t\treturn ";

-	protected final String TEXT_160 = "(";

-	protected final String TEXT_161 = "(";

-	protected final String TEXT_162 = ")";

-	protected final String TEXT_163 = "((";

-	protected final String TEXT_164 = ".Internal.Wrapper)get";

-	protected final String TEXT_165 = "()).featureMap().get(";

-	protected final String TEXT_166 = ", true)";

-	protected final String TEXT_167 = ").";

-	protected final String TEXT_168 = "()";

-	protected final String TEXT_169 = ";";

-	protected final String TEXT_170 = NL + "\t\treturn ";

-	protected final String TEXT_171 = "(";

-	protected final String TEXT_172 = "(";

-	protected final String TEXT_173 = ")";

-	protected final String TEXT_174 = "get";

-	protected final String TEXT_175 = "().get(";

-	protected final String TEXT_176 = ", true)";

-	protected final String TEXT_177 = ").";

-	protected final String TEXT_178 = "()";

-	protected final String TEXT_179 = ";";

-	protected final String TEXT_180 = NL + "\t\t";

-	protected final String TEXT_181 = NL + "\t\t";

-	protected final String TEXT_182 = NL;

-	protected final String TEXT_183 = NL + "\t}" + NL;

-	protected final String TEXT_184 = NL;

-	protected final String TEXT_185 = NL;

-	protected final String TEXT_186 = NL;

-

-	public ClassgetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_185);

-		stringBuffer.append(TEXT_186);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isInterface) {

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0kroEGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/getGenFeature.javadoc.override.javajetinc

-		} else {

-			stringBuffer.append(TEXT_3);

-			if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_4);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lIUFGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-		}

-		if (!isImplementation) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genFeature.getGetAccessor());

-			stringBuffer.append(TEXT_7);

-		} else {

-			if (genModel.useGenerics()

-					&& ((genFeature.isContainer() || genFeature.isResolveProxies())

-							&& !genFeature.isListType()

-							&& !(genModel.isReflectiveDelegation() && genModel.isDynamicDelegation())

-							&& genFeature.isUncheckedCast(genClass)

-							|| genFeature.isListType()

-							&& !genFeature.isFeatureMapType()

-							&& (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation() || genModel

-									.isDynamicDelegation()) || genFeature.isListDataType()

-							&& genFeature.hasDelegateFeature() || genFeature.isListType()

-							&& genFeature.hasSettingDelegate())) {

-				stringBuffer.append(TEXT_8);

-			}

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genFeature.getGetAccessor());

-			if (genClass.hasCollidingGetAccessorOperation(genFeature)) {

-				stringBuffer.append(TEXT_11);

-			}

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(TEXT_13);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lSFDGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			if (genModel.isDynamicDelegation()) {

-				stringBuffer.append(TEXT_14);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_15);

-				}

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				if (genClass.hasStaticFeatures()) {

-					stringBuffer.append(TEXT_18);

-				}

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());

-				stringBuffer.append(TEXT_21);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_22);

-					stringBuffer.append(genFeature.getPrimitiveValueFunction());

-					stringBuffer.append(TEXT_23);

-				}

-				stringBuffer.append(TEXT_24);

-			} else if (genModel.isReflectiveDelegation()) {

-				if (genFeature.hasGetterBody()) {

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));

-				} else {

-					stringBuffer.append(TEXT_26);

-					if (!isJDK50 && genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_27);

-					}

-					stringBuffer.append(TEXT_28);

-					stringBuffer.append(genFeature.getObjectType(genClass));

-					stringBuffer.append(TEXT_29);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_30);

-					if (!isJDK50 && genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_31);

-						stringBuffer.append(genFeature.getPrimitiveValueFunction());

-						stringBuffer.append(TEXT_32);

-					}

-					stringBuffer.append(TEXT_33);

-				}

-			} else if (genFeature.hasSettingDelegate()) {

-				stringBuffer.append(TEXT_34);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_35);

-				}

-				stringBuffer.append(TEXT_36);

-				stringBuffer.append(genFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_37);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_38);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_39);

-					stringBuffer.append(genFeature.getPrimitiveValueFunction());

-					stringBuffer.append(TEXT_40);

-				}

-				stringBuffer.append(TEXT_41);

-			} else if (!genFeature.isVolatile()) {

-				if (genFeature.isListType()) {

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_42);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_43);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_44);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_45);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_46);

-					}

-					stringBuffer.append(TEXT_47);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_48);

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_49);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_50);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_51);

-						stringBuffer.append(genClass.getListConstructor(genFeature));

-						stringBuffer.append(TEXT_52);

-					} else {

-						stringBuffer.append(TEXT_53);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_54);

-						stringBuffer.append(genClass.getListConstructor(genFeature));

-						stringBuffer.append(TEXT_55);

-					}

-					stringBuffer.append(TEXT_56);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()"

-							: "");

-					stringBuffer.append(TEXT_57);

-				} else if (genFeature.isContainer()) {

-					stringBuffer.append(TEXT_58);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_59);

-					stringBuffer.append(genFeature.getImportedType(genClass));

-					stringBuffer.append(TEXT_60);

-					if (genFeature.isResolveProxies()) {

-						stringBuffer.append(TEXT_61);

-					} else {

-						stringBuffer.append(TEXT_62);

-					}

-					stringBuffer.append(TEXT_63);

-				} else {

-					if (genFeature.isResolveProxies()) {

-						if (genModel.isVirtualDelegation()) {

-							stringBuffer.append(TEXT_64);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_65);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_66);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_67);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							if (genFeature.hasEDefault()) {

-								stringBuffer.append(TEXT_68);

-								stringBuffer.append(genFeature.getEDefault());

-							}

-							stringBuffer.append(TEXT_69);

-						}

-						stringBuffer.append(TEXT_70);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_71);

-						stringBuffer.append(genFeature.getSafeNameAsEObject());

-						stringBuffer.append(TEXT_72);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_73);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_74);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_75);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_76);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_77);

-						stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));

-						stringBuffer.append(TEXT_78);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_79);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_80);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_81);

-						if (genFeature.isEffectiveContains()) {

-							stringBuffer.append(TEXT_82);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-							stringBuffer.append(TEXT_83);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_84);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-							stringBuffer.append(TEXT_85);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_86);

-							if (!genFeature.isBidirectional()) {

-								stringBuffer.append(TEXT_87);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-								stringBuffer.append(TEXT_88);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_89);

-								stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-								stringBuffer.append(negativeOffsetCorrection);

-								stringBuffer.append(TEXT_90);

-							} else {

-								GenFeature reverseFeature = genFeature.getReverse();

-								GenClass targetClass = reverseFeature.getGenClass();

-								String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-										+ genClass.getOffsetCorrectionField(genFeature) : "";

-								stringBuffer.append(TEXT_91);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-								stringBuffer.append(TEXT_92);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_93);

-								stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-								stringBuffer.append(reverseOffsetCorrection);

-								stringBuffer.append(TEXT_94);

-								stringBuffer.append(targetClass.getRawImportedInterfaceName());

-								stringBuffer.append(TEXT_95);

-							}

-							stringBuffer.append(TEXT_96);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_97);

-							if (!genFeature.isBidirectional()) {

-								stringBuffer.append(TEXT_98);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_99);

-								stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-								stringBuffer.append(negativeOffsetCorrection);

-								stringBuffer.append(TEXT_100);

-							} else {

-								GenFeature reverseFeature = genFeature.getReverse();

-								GenClass targetClass = reverseFeature.getGenClass();

-								String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-										+ genClass.getOffsetCorrectionField(genFeature) : "";

-								stringBuffer.append(TEXT_101);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_102);

-								stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-								stringBuffer.append(reverseOffsetCorrection);

-								stringBuffer.append(TEXT_103);

-								stringBuffer.append(targetClass.getRawImportedInterfaceName());

-								stringBuffer.append(TEXT_104);

-							}

-							stringBuffer.append(TEXT_105);

-						} else if (genModel.isVirtualDelegation()) {

-							stringBuffer.append(TEXT_106);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_107);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_108);

-						}

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_109);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_110);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_111);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_112);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_113);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_114);

-						}

-						stringBuffer.append(TEXT_115);

-					}

-					if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation()

-							&& !genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_116);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_117);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						if (genFeature.hasEDefault()) {

-							stringBuffer.append(TEXT_118);

-							stringBuffer.append(genFeature.getEDefault());

-						}

-						stringBuffer.append(TEXT_119);

-					} else if (genClass.isFlag(genFeature)) {

-						if (genFeature.isBooleanType()) {

-							stringBuffer.append(TEXT_120);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_121);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_122);

-						} else {

-							stringBuffer.append(TEXT_123);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_124);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_125);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_126);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_127);

-						}

-					} else {

-						stringBuffer.append(TEXT_128);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_129);

-					}

-				}

-			} else {//volatile

-				if (genFeature.isResolveProxies() && !genFeature.isListType()) {

-					stringBuffer.append(TEXT_130);

-					stringBuffer.append(genFeature.getImportedType(genClass));

-					stringBuffer.append(TEXT_131);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_132);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_133);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_134);

-					stringBuffer.append(genFeature.getSafeNameAsEObject());

-					stringBuffer.append(TEXT_135);

-					stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));

-					stringBuffer.append(TEXT_136);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-					stringBuffer.append(TEXT_137);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_138);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_139);

-				} else if (genFeature.hasDelegateFeature()) {

-					GenFeature delegateFeature = genFeature.getDelegateFeature();

-					if (genFeature.isFeatureMapType()) {

-						String featureMapEntryTemplateArgument = isJDK50 ? "<"

-								+ genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap") + ".Entry>" : "";

-						if (delegateFeature.isWrappedFeatureMapType()) {

-							stringBuffer.append(TEXT_140);

-							stringBuffer.append(genFeature.getImportedEffectiveFeatureMapWrapperClass());

-							stringBuffer.append(TEXT_141);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-							stringBuffer.append(TEXT_142);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-							stringBuffer.append(TEXT_143);

-							stringBuffer.append(delegateFeature.getAccessorName());

-							stringBuffer.append(TEXT_144);

-							stringBuffer.append(featureMapEntryTemplateArgument);

-							stringBuffer.append(TEXT_145);

-							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_146);

-						} else {

-							stringBuffer.append(TEXT_147);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-							stringBuffer.append(TEXT_148);

-							stringBuffer.append(delegateFeature.getAccessorName());

-							stringBuffer.append(TEXT_149);

-							stringBuffer.append(featureMapEntryTemplateArgument);

-							stringBuffer.append(TEXT_150);

-							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_151);

-						}

-					} else if (genFeature.isListType()) {

-						if (delegateFeature.isWrappedFeatureMapType()) {

-							stringBuffer.append(TEXT_152);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-							stringBuffer.append(TEXT_153);

-							stringBuffer.append(delegateFeature.getAccessorName());

-							stringBuffer.append(TEXT_154);

-							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_155);

-						} else {

-							stringBuffer.append(TEXT_156);

-							stringBuffer.append(delegateFeature.getAccessorName());

-							stringBuffer.append(TEXT_157);

-							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_158);

-						}

-					} else {

-						if (delegateFeature.isWrappedFeatureMapType()) {

-							stringBuffer.append(TEXT_159);

-							if (!isJDK50 && genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_160);

-							}

-							if (genFeature.getTypeGenDataType() == null

-									|| !genFeature.getTypeGenDataType().isObjectType()) {

-								stringBuffer.append(TEXT_161);

-								stringBuffer.append(genFeature.getObjectType(genClass));

-								stringBuffer.append(TEXT_162);

-							}

-							stringBuffer.append(TEXT_163);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-							stringBuffer.append(TEXT_164);

-							stringBuffer.append(delegateFeature.getAccessorName());

-							stringBuffer.append(TEXT_165);

-							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_166);

-							if (!isJDK50 && genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_167);

-								stringBuffer.append(genFeature.getPrimitiveValueFunction());

-								stringBuffer.append(TEXT_168);

-							}

-							stringBuffer.append(TEXT_169);

-						} else {

-							stringBuffer.append(TEXT_170);

-							if (!isJDK50 && genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_171);

-							}

-							if (genFeature.getTypeGenDataType() == null

-									|| !genFeature.getTypeGenDataType().isObjectType()) {

-								stringBuffer.append(TEXT_172);

-								stringBuffer.append(genFeature.getObjectType(genClass));

-								stringBuffer.append(TEXT_173);

-							}

-							stringBuffer.append(TEXT_174);

-							stringBuffer.append(delegateFeature.getAccessorName());

-							stringBuffer.append(TEXT_175);

-							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_176);

-							if (!isJDK50 && genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_177);

-								stringBuffer.append(genFeature.getPrimitiveValueFunction());

-								stringBuffer.append(TEXT_178);

-							}

-							stringBuffer.append(TEXT_179);

-						}

-					}

-				} else if (genClass.getGetAccessorOperation(genFeature) != null) {

-					stringBuffer.append(TEXT_180);

-					stringBuffer.append(genClass.getGetAccessorOperation(genFeature).getBody(

-							genModel.getIndentation(stringBuffer)));

-				} else if (genFeature.hasGetterBody()) {

-					stringBuffer.append(TEXT_181);

-					stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));

-				} else {

-					stringBuffer.append(TEXT_182);

-					{

-						//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-						InternalPatternContext ictx = (InternalPatternContext) ctx;

-						new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-						stringBuffer.setLength(0);

-

-						final Map<String, Object> callParameters = new HashMap<String, Object>();

-						callParameters.put("genFeature", genFeature);

-						callParameters.put("genClass", genClass);

-						callParameters.put("genPackage", genPackage);

-						callParameters.put("genModel", genModel);

-						callParameters.put("isJDK50", isJDK50);

-						callParameters.put("isInterface", isInterface);

-						callParameters.put("isImplementation", isImplementation);

-						callParameters.put("isGWT", isGWT);

-						callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-						callParameters.put("singleWildcard", singleWildcard);

-						callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-						callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-						callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-						callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-						CallHelper

-								.executeWithParameterInjection(

-										"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lbPAWJ-Ed-FqczH3ESmRw",

-										new ExecutionContext((InternalPatternContext) ctx), callParameters);

-						stringBuffer.setLength(0);

-					}

-

-					//Class/getGenFeature.todo.override.javajetinc

-				}

-			}

-			stringBuffer.append(TEXT_183);

-		}

-		stringBuffer.append(TEXT_184);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ClassgetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgetGenFeatureoverride result = new ClassgetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL + "\t";
+	protected final String TEXT_6 = " ";
+	protected final String TEXT_7 = "();" + NL;
+	protected final String TEXT_8 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_9 = NL + "\tpublic ";
+	protected final String TEXT_10 = " ";
+	protected final String TEXT_11 = "_";
+	protected final String TEXT_12 = "()" + NL + "\t{";
+	protected final String TEXT_13 = NL;
+	protected final String TEXT_14 = NL + "\t\treturn ";
+	protected final String TEXT_15 = "(";
+	protected final String TEXT_16 = "(";
+	protected final String TEXT_17 = ")eDynamicGet(";
+	protected final String TEXT_18 = " - ESTATIC_FEATURE_COUNT";
+	protected final String TEXT_19 = ", ";
+	protected final String TEXT_20 = ", true, ";
+	protected final String TEXT_21 = ")";
+	protected final String TEXT_22 = ").";
+	protected final String TEXT_23 = "()";
+	protected final String TEXT_24 = ";";
+	protected final String TEXT_25 = NL + "\t\t";
+	protected final String TEXT_26 = NL + "\t\treturn ";
+	protected final String TEXT_27 = "(";
+	protected final String TEXT_28 = "(";
+	protected final String TEXT_29 = ")eGet(";
+	protected final String TEXT_30 = ", true)";
+	protected final String TEXT_31 = ").";
+	protected final String TEXT_32 = "()";
+	protected final String TEXT_33 = ";";
+	protected final String TEXT_34 = NL + "\t\treturn ";
+	protected final String TEXT_35 = "(";
+	protected final String TEXT_36 = "(";
+	protected final String TEXT_37 = ")";
+	protected final String TEXT_38 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)";
+	protected final String TEXT_39 = ").";
+	protected final String TEXT_40 = "()";
+	protected final String TEXT_41 = ";";
+	protected final String TEXT_42 = NL + "\t\t";
+	protected final String TEXT_43 = " ";
+	protected final String TEXT_44 = " = (";
+	protected final String TEXT_45 = ")eVirtualGet(";
+	protected final String TEXT_46 = ");";
+	protected final String TEXT_47 = NL + "\t\tif (";
+	protected final String TEXT_48 = " == null)" + NL + "\t\t{";
+	protected final String TEXT_49 = NL + "\t\t\teVirtualSet(";
+	protected final String TEXT_50 = ", ";
+	protected final String TEXT_51 = " = new ";
+	protected final String TEXT_52 = ");";
+	protected final String TEXT_53 = NL + "\t\t\t";
+	protected final String TEXT_54 = " = new ";
+	protected final String TEXT_55 = ";";
+	protected final String TEXT_56 = NL + "\t\t}" + NL + "\t\treturn ";
+	protected final String TEXT_57 = ";";
+	protected final String TEXT_58 = NL + "\t\tif (eContainerFeatureID() != ";
+	protected final String TEXT_59 = ") return null;" + NL + "\t\treturn (";
+	protected final String TEXT_60 = ")";
+	protected final String TEXT_61 = "eContainer";
+	protected final String TEXT_62 = "eInternalContainer";
+	protected final String TEXT_63 = "();";
+	protected final String TEXT_64 = NL + "\t\t";
+	protected final String TEXT_65 = " ";
+	protected final String TEXT_66 = " = (";
+	protected final String TEXT_67 = ")eVirtualGet(";
+	protected final String TEXT_68 = ", ";
+	protected final String TEXT_69 = ");";
+	protected final String TEXT_70 = NL + "\t\tif (";
+	protected final String TEXT_71 = " != null && ";
+	protected final String TEXT_72 = ".eIsProxy())" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_73 = " old";
+	protected final String TEXT_74 = " = (";
+	protected final String TEXT_75 = ")";
+	protected final String TEXT_76 = ";" + NL + "\t\t\t";
+	protected final String TEXT_77 = " = ";
+	protected final String TEXT_78 = "eResolveProxy(old";
+	protected final String TEXT_79 = ");" + NL + "\t\t\tif (";
+	protected final String TEXT_80 = " != old";
+	protected final String TEXT_81 = ")" + NL + "\t\t\t{";
+	protected final String TEXT_82 = NL + "\t\t\t\t";
+	protected final String TEXT_83 = " new";
+	protected final String TEXT_84 = " = (";
+	protected final String TEXT_85 = ")";
+	protected final String TEXT_86 = ";";
+	protected final String TEXT_87 = NL + "\t\t\t\t";
+	protected final String TEXT_88 = " msgs = old";
+	protected final String TEXT_89 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+	protected final String TEXT_90 = ", null, null);";
+	protected final String TEXT_91 = NL + "\t\t\t\t";
+	protected final String TEXT_92 = " msgs =  old";
+	protected final String TEXT_93 = ".eInverseRemove(this, ";
+	protected final String TEXT_94 = ", ";
+	protected final String TEXT_95 = ".class, null);";
+	protected final String TEXT_96 = NL + "\t\t\t\tif (new";
+	protected final String TEXT_97 = ".eInternalContainer() == null)" + NL + "\t\t\t\t{";
+	protected final String TEXT_98 = NL + "\t\t\t\t\tmsgs = new";
+	protected final String TEXT_99 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";
+	protected final String TEXT_100 = ", null, msgs);";
+	protected final String TEXT_101 = NL + "\t\t\t\t\tmsgs =  new";
+	protected final String TEXT_102 = ".eInverseAdd(this, ";
+	protected final String TEXT_103 = ", ";
+	protected final String TEXT_104 = ".class, msgs);";
+	protected final String TEXT_105 = NL + "\t\t\t\t}" + NL + "\t\t\t\tif (msgs != null) msgs.dispatch();";
+	protected final String TEXT_106 = NL + "\t\t\t\teVirtualSet(";
+	protected final String TEXT_107 = ", ";
+	protected final String TEXT_108 = ");";
+	protected final String TEXT_109 = NL + "\t\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\t\teNotify(new ";
+	protected final String TEXT_110 = "(this, ";
+	protected final String TEXT_111 = ".RESOLVE, ";
+	protected final String TEXT_112 = ", old";
+	protected final String TEXT_113 = ", ";
+	protected final String TEXT_114 = "));";
+	protected final String TEXT_115 = NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_116 = NL + "\t\treturn (";
+	protected final String TEXT_117 = ")eVirtualGet(";
+	protected final String TEXT_118 = ", ";
+	protected final String TEXT_119 = ");";
+	protected final String TEXT_120 = NL + "\t\treturn (";
+	protected final String TEXT_121 = " & ";
+	protected final String TEXT_122 = "_EFLAG) != 0;";
+	protected final String TEXT_123 = NL + "\t\treturn ";
+	protected final String TEXT_124 = "_EFLAG_VALUES[(";
+	protected final String TEXT_125 = " & ";
+	protected final String TEXT_126 = "_EFLAG) >>> ";
+	protected final String TEXT_127 = "_EFLAG_OFFSET];";
+	protected final String TEXT_128 = NL + "\t\treturn ";
+	protected final String TEXT_129 = ";";
+	protected final String TEXT_130 = NL + "\t\t";
+	protected final String TEXT_131 = " ";
+	protected final String TEXT_132 = " = basicGet";
+	protected final String TEXT_133 = "();" + NL + "\t\treturn ";
+	protected final String TEXT_134 = " != null && ";
+	protected final String TEXT_135 = ".eIsProxy() ? ";
+	protected final String TEXT_136 = "eResolveProxy((";
+	protected final String TEXT_137 = ")";
+	protected final String TEXT_138 = ") : ";
+	protected final String TEXT_139 = ";";
+	protected final String TEXT_140 = NL + "\t\treturn new ";
+	protected final String TEXT_141 = "((";
+	protected final String TEXT_142 = ".Internal)((";
+	protected final String TEXT_143 = ".Internal.Wrapper)get";
+	protected final String TEXT_144 = "()).featureMap().";
+	protected final String TEXT_145 = "list(";
+	protected final String TEXT_146 = "));";
+	protected final String TEXT_147 = NL + "\t\treturn (";
+	protected final String TEXT_148 = ")get";
+	protected final String TEXT_149 = "().";
+	protected final String TEXT_150 = "list(";
+	protected final String TEXT_151 = ");";
+	protected final String TEXT_152 = NL + "\t\treturn ((";
+	protected final String TEXT_153 = ".Internal.Wrapper)get";
+	protected final String TEXT_154 = "()).featureMap().list(";
+	protected final String TEXT_155 = ");";
+	protected final String TEXT_156 = NL + "\t\treturn get";
+	protected final String TEXT_157 = "().list(";
+	protected final String TEXT_158 = ");";
+	protected final String TEXT_159 = NL + "\t\treturn ";
+	protected final String TEXT_160 = "(";
+	protected final String TEXT_161 = "(";
+	protected final String TEXT_162 = ")";
+	protected final String TEXT_163 = "((";
+	protected final String TEXT_164 = ".Internal.Wrapper)get";
+	protected final String TEXT_165 = "()).featureMap().get(";
+	protected final String TEXT_166 = ", true)";
+	protected final String TEXT_167 = ").";
+	protected final String TEXT_168 = "()";
+	protected final String TEXT_169 = ";";
+	protected final String TEXT_170 = NL + "\t\treturn ";
+	protected final String TEXT_171 = "(";
+	protected final String TEXT_172 = "(";
+	protected final String TEXT_173 = ")";
+	protected final String TEXT_174 = "get";
+	protected final String TEXT_175 = "().get(";
+	protected final String TEXT_176 = ", true)";
+	protected final String TEXT_177 = ").";
+	protected final String TEXT_178 = "()";
+	protected final String TEXT_179 = ";";
+	protected final String TEXT_180 = NL + "\t\t";
+	protected final String TEXT_181 = NL + "\t\t";
+	protected final String TEXT_182 = NL;
+	protected final String TEXT_183 = NL + "\t}" + NL;
+	protected final String TEXT_184 = NL;
+	protected final String TEXT_185 = NL;
+	protected final String TEXT_186 = NL;
+
+	public ClassgetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_185);
+		stringBuffer.append(TEXT_186);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isInterface) {
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0kroEGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/getGenFeature.javadoc.override.javajetinc
+		} else {
+			stringBuffer.append(TEXT_3);
+			if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_4);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lIUFGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+		}
+		if (!isImplementation) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genFeature.getGetAccessor());
+			stringBuffer.append(TEXT_7);
+		} else {
+			if (genModel.useGenerics()
+					&& ((genFeature.isContainer() || genFeature.isResolveProxies()) && !genFeature.isListType()
+							&& !(genModel.isReflectiveDelegation() && genModel.isDynamicDelegation())
+							&& genFeature.isUncheckedCast(genClass)
+							|| genFeature.isListType() && !genFeature.isFeatureMapType()
+									&& (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation()
+											|| genModel.isDynamicDelegation())
+					|| genFeature.isListDataType() && genFeature.hasDelegateFeature()
+					|| genFeature.isListType() && genFeature.hasSettingDelegate())) {
+				stringBuffer.append(TEXT_8);
+			}
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genFeature.getGetAccessor());
+			if (genClass.hasCollidingGetAccessorOperation(genFeature)) {
+				stringBuffer.append(TEXT_11);
+			}
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(TEXT_13);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lSFDGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			if (genModel.isDynamicDelegation()) {
+				stringBuffer.append(TEXT_14);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_15);
+				}
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				if (genClass.hasStaticFeatures()) {
+					stringBuffer.append(TEXT_18);
+				}
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());
+				stringBuffer.append(TEXT_21);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_22);
+					stringBuffer.append(genFeature.getPrimitiveValueFunction());
+					stringBuffer.append(TEXT_23);
+				}
+				stringBuffer.append(TEXT_24);
+			} else if (genModel.isReflectiveDelegation()) {
+				if (genFeature.hasGetterBody()) {
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
+				} else {
+					stringBuffer.append(TEXT_26);
+					if (!isJDK50 && genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_27);
+					}
+					stringBuffer.append(TEXT_28);
+					stringBuffer.append(genFeature.getObjectType(genClass));
+					stringBuffer.append(TEXT_29);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_30);
+					if (!isJDK50 && genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_31);
+						stringBuffer.append(genFeature.getPrimitiveValueFunction());
+						stringBuffer.append(TEXT_32);
+					}
+					stringBuffer.append(TEXT_33);
+				}
+			} else if (genFeature.hasSettingDelegate()) {
+				stringBuffer.append(TEXT_34);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_35);
+				}
+				stringBuffer.append(TEXT_36);
+				stringBuffer.append(genFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_37);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_38);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_39);
+					stringBuffer.append(genFeature.getPrimitiveValueFunction());
+					stringBuffer.append(TEXT_40);
+				}
+				stringBuffer.append(TEXT_41);
+			} else if (!genFeature.isVolatile()) {
+				if (genFeature.isListType()) {
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_42);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_43);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_44);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_45);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_46);
+					}
+					stringBuffer.append(TEXT_47);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_48);
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_49);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_50);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_51);
+						stringBuffer.append(genClass.getListConstructor(genFeature));
+						stringBuffer.append(TEXT_52);
+					} else {
+						stringBuffer.append(TEXT_53);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_54);
+						stringBuffer.append(genClass.getListConstructor(genFeature));
+						stringBuffer.append(TEXT_55);
+					}
+					stringBuffer.append(TEXT_56);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer
+							.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");
+					stringBuffer.append(TEXT_57);
+				} else if (genFeature.isContainer()) {
+					stringBuffer.append(TEXT_58);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_59);
+					stringBuffer.append(genFeature.getImportedType(genClass));
+					stringBuffer.append(TEXT_60);
+					if (genFeature.isResolveProxies()) {
+						stringBuffer.append(TEXT_61);
+					} else {
+						stringBuffer.append(TEXT_62);
+					}
+					stringBuffer.append(TEXT_63);
+				} else {
+					if (genFeature.isResolveProxies()) {
+						if (genModel.isVirtualDelegation()) {
+							stringBuffer.append(TEXT_64);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_65);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_66);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_67);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							if (genFeature.hasEDefault()) {
+								stringBuffer.append(TEXT_68);
+								stringBuffer.append(genFeature.getEDefault());
+							}
+							stringBuffer.append(TEXT_69);
+						}
+						stringBuffer.append(TEXT_70);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_71);
+						stringBuffer.append(genFeature.getSafeNameAsEObject());
+						stringBuffer.append(TEXT_72);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_73);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_74);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_75);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_76);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_77);
+						stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));
+						stringBuffer.append(TEXT_78);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_79);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_80);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_81);
+						if (genFeature.isEffectiveContains()) {
+							stringBuffer.append(TEXT_82);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+							stringBuffer.append(TEXT_83);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_84);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+							stringBuffer.append(TEXT_85);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_86);
+							if (!genFeature.isBidirectional()) {
+								stringBuffer.append(TEXT_87);
+								stringBuffer.append(
+										genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+								stringBuffer.append(TEXT_88);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_89);
+								stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+								stringBuffer.append(negativeOffsetCorrection);
+								stringBuffer.append(TEXT_90);
+							} else {
+								GenFeature reverseFeature = genFeature.getReverse();
+								GenClass targetClass = reverseFeature.getGenClass();
+								String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+										? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+								stringBuffer.append(TEXT_91);
+								stringBuffer.append(
+										genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+								stringBuffer.append(TEXT_92);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_93);
+								stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+								stringBuffer.append(reverseOffsetCorrection);
+								stringBuffer.append(TEXT_94);
+								stringBuffer.append(targetClass.getRawImportedInterfaceName());
+								stringBuffer.append(TEXT_95);
+							}
+							stringBuffer.append(TEXT_96);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_97);
+							if (!genFeature.isBidirectional()) {
+								stringBuffer.append(TEXT_98);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_99);
+								stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+								stringBuffer.append(negativeOffsetCorrection);
+								stringBuffer.append(TEXT_100);
+							} else {
+								GenFeature reverseFeature = genFeature.getReverse();
+								GenClass targetClass = reverseFeature.getGenClass();
+								String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+										? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+								stringBuffer.append(TEXT_101);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_102);
+								stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+								stringBuffer.append(reverseOffsetCorrection);
+								stringBuffer.append(TEXT_103);
+								stringBuffer.append(targetClass.getRawImportedInterfaceName());
+								stringBuffer.append(TEXT_104);
+							}
+							stringBuffer.append(TEXT_105);
+						} else if (genModel.isVirtualDelegation()) {
+							stringBuffer.append(TEXT_106);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_107);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_108);
+						}
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_109);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_110);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_111);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_112);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_113);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_114);
+						}
+						stringBuffer.append(TEXT_115);
+					}
+					if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation()
+							&& !genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_116);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_117);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						if (genFeature.hasEDefault()) {
+							stringBuffer.append(TEXT_118);
+							stringBuffer.append(genFeature.getEDefault());
+						}
+						stringBuffer.append(TEXT_119);
+					} else if (genClass.isFlag(genFeature)) {
+						if (genFeature.isBooleanType()) {
+							stringBuffer.append(TEXT_120);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_121);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_122);
+						} else {
+							stringBuffer.append(TEXT_123);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_124);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_125);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_126);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_127);
+						}
+					} else {
+						stringBuffer.append(TEXT_128);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_129);
+					}
+				}
+			} else {//volatile
+				if (genFeature.isResolveProxies() && !genFeature.isListType()) {
+					stringBuffer.append(TEXT_130);
+					stringBuffer.append(genFeature.getImportedType(genClass));
+					stringBuffer.append(TEXT_131);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_132);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_133);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_134);
+					stringBuffer.append(genFeature.getSafeNameAsEObject());
+					stringBuffer.append(TEXT_135);
+					stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));
+					stringBuffer.append(TEXT_136);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+					stringBuffer.append(TEXT_137);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_138);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_139);
+				} else if (genFeature.hasDelegateFeature()) {
+					GenFeature delegateFeature = genFeature.getDelegateFeature();
+					if (genFeature.isFeatureMapType()) {
+						String featureMapEntryTemplateArgument = isJDK50
+								? "<" + genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap") + ".Entry>"
+								: "";
+						if (delegateFeature.isWrappedFeatureMapType()) {
+							stringBuffer.append(TEXT_140);
+							stringBuffer.append(genFeature.getImportedEffectiveFeatureMapWrapperClass());
+							stringBuffer.append(TEXT_141);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+							stringBuffer.append(TEXT_142);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+							stringBuffer.append(TEXT_143);
+							stringBuffer.append(delegateFeature.getAccessorName());
+							stringBuffer.append(TEXT_144);
+							stringBuffer.append(featureMapEntryTemplateArgument);
+							stringBuffer.append(TEXT_145);
+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_146);
+						} else {
+							stringBuffer.append(TEXT_147);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+							stringBuffer.append(TEXT_148);
+							stringBuffer.append(delegateFeature.getAccessorName());
+							stringBuffer.append(TEXT_149);
+							stringBuffer.append(featureMapEntryTemplateArgument);
+							stringBuffer.append(TEXT_150);
+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_151);
+						}
+					} else if (genFeature.isListType()) {
+						if (delegateFeature.isWrappedFeatureMapType()) {
+							stringBuffer.append(TEXT_152);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+							stringBuffer.append(TEXT_153);
+							stringBuffer.append(delegateFeature.getAccessorName());
+							stringBuffer.append(TEXT_154);
+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_155);
+						} else {
+							stringBuffer.append(TEXT_156);
+							stringBuffer.append(delegateFeature.getAccessorName());
+							stringBuffer.append(TEXT_157);
+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_158);
+						}
+					} else {
+						if (delegateFeature.isWrappedFeatureMapType()) {
+							stringBuffer.append(TEXT_159);
+							if (!isJDK50 && genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_160);
+							}
+							if (genFeature.getTypeGenDataType() == null
+									|| !genFeature.getTypeGenDataType().isObjectType()) {
+								stringBuffer.append(TEXT_161);
+								stringBuffer.append(genFeature.getObjectType(genClass));
+								stringBuffer.append(TEXT_162);
+							}
+							stringBuffer.append(TEXT_163);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+							stringBuffer.append(TEXT_164);
+							stringBuffer.append(delegateFeature.getAccessorName());
+							stringBuffer.append(TEXT_165);
+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_166);
+							if (!isJDK50 && genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_167);
+								stringBuffer.append(genFeature.getPrimitiveValueFunction());
+								stringBuffer.append(TEXT_168);
+							}
+							stringBuffer.append(TEXT_169);
+						} else {
+							stringBuffer.append(TEXT_170);
+							if (!isJDK50 && genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_171);
+							}
+							if (genFeature.getTypeGenDataType() == null
+									|| !genFeature.getTypeGenDataType().isObjectType()) {
+								stringBuffer.append(TEXT_172);
+								stringBuffer.append(genFeature.getObjectType(genClass));
+								stringBuffer.append(TEXT_173);
+							}
+							stringBuffer.append(TEXT_174);
+							stringBuffer.append(delegateFeature.getAccessorName());
+							stringBuffer.append(TEXT_175);
+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_176);
+							if (!isJDK50 && genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_177);
+								stringBuffer.append(genFeature.getPrimitiveValueFunction());
+								stringBuffer.append(TEXT_178);
+							}
+							stringBuffer.append(TEXT_179);
+						}
+					}
+				} else if (genClass.getGetAccessorOperation(genFeature) != null) {
+					stringBuffer.append(TEXT_180);
+					stringBuffer.append(genClass.getGetAccessorOperation(genFeature)
+							.getBody(genModel.getIndentation(stringBuffer)));
+				} else if (genFeature.hasGetterBody()) {
+					stringBuffer.append(TEXT_181);
+					stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
+				} else {
+					stringBuffer.append(TEXT_182);
+					{
+						//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.getGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+						InternalPatternContext ictx = (InternalPatternContext) ctx;
+						new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+						stringBuffer.setLength(0);
+
+						final Map<String, Object> callParameters = new HashMap<String, Object>();
+						callParameters.put("genFeature", genFeature);
+						callParameters.put("genClass", genClass);
+						callParameters.put("genPackage", genPackage);
+						callParameters.put("genModel", genModel);
+						callParameters.put("isJDK50", isJDK50);
+						callParameters.put("isInterface", isInterface);
+						callParameters.put("isImplementation", isImplementation);
+						callParameters.put("isGWT", isGWT);
+						callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+						callParameters.put("singleWildcard", singleWildcard);
+						callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+						callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+						callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+						callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+						CallHelper.executeWithParameterInjection(
+								"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0lbPAWJ-Ed-FqczH3ESmRw",
+								new ExecutionContext((InternalPatternContext) ctx), callParameters);
+						stringBuffer.setLength(0);
+					}
+
+					//Class/getGenFeature.todo.override.javajetinc
+				}
+			}
+			stringBuffer.append(TEXT_183);
+		}
+		stringBuffer.append(TEXT_184);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturepreinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturepreinsert.java
index 00e8d58..2dd1db2 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturepreinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassgetGenFeaturepreinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassgetGenFeaturepreinsert {

-	protected static String nl;

-

-	public static synchronized ClassgetGenFeaturepreinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassgetGenFeaturepreinsert result = new ClassgetGenFeaturepreinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassgetGenFeaturepreinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassgetGenFeaturepreinsert {
+	protected static String nl;
+
+	public static synchronized ClassgetGenFeaturepreinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassgetGenFeaturepreinsert result = new ClassgetGenFeaturepreinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassgetGenFeaturepreinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassimplementedGenOperationTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassimplementedGenOperationTODOoverride.java
index 45600bf..aed3d2c 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassimplementedGenOperationTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassimplementedGenOperationTODOoverride.java
@@ -1,281 +1,281 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassimplementedGenOperationTODOoverride {

-	protected static String nl;

-

-	public static synchronized ClassimplementedGenOperationTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassimplementedGenOperationTODOoverride result = new ClassimplementedGenOperationTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL;

-

-	public ClassimplementedGenOperationTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(TEXT_3);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassimplementedGenOperationTODOoverride {
+	protected static String nl;
+
+	public static synchronized ClassimplementedGenOperationTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassimplementedGenOperationTODOoverride result = new ClassimplementedGenOperationTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL;
+
+	public ClassimplementedGenOperationTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(TEXT_3);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinsert.java
index 8772ed6..a89573f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinsert.java
@@ -1,263 +1,264 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Classinsert {

-	protected static String nl;

-

-	public static synchronized Classinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		Classinsert result = new Classinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public Classinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object isJDK50Parameter : isJDK50List) {

-						for (Object isInterfaceParameter : isInterfaceList) {

-							for (Object isImplementationParameter : isImplementationList) {

-								for (Object isGWTParameter : isGWTList) {

-									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-										for (Object singleWildcardParameter : singleWildcardList) {

-											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-															this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-															this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-															this.isGWT = (java.lang.Boolean) isGWTParameter;

-															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-															this.singleWildcard = (java.lang.String) singleWildcardParameter;

-															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-															if (preCondition(ctx)) {

-																ctx.setNode(new Node.Container(currentNode, getClass()));

-																orchestration(ctx);

-															}

-

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Classinsert {
+	protected static String nl;
+
+	public static synchronized Classinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		Classinsert result = new Classinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public Classinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object isJDK50Parameter : isJDK50List) {
+						for (Object isInterfaceParameter : isInterfaceList) {
+							for (Object isImplementationParameter : isImplementationList) {
+								for (Object isGWTParameter : isGWTList) {
+									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+										for (Object singleWildcardParameter : singleWildcardList) {
+											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+															this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+															this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+															this.isGWT = (java.lang.Boolean) isGWTParameter;
+															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+															this.singleWildcard = (java.lang.String) singleWildcardParameter;
+															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+															if (preCondition(ctx)) {
+																ctx.setNode(
+																		new Node.Container(currentNode, getClass()));
+																orchestration(ctx);
+															}
+
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinterfacejavadocoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinterfacejavadocoverride.java
index c7282a0..132a0b3 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinterfacejavadocoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/Classinterfacejavadocoverride.java
@@ -1,340 +1,341 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Classinterfacejavadocoverride {

-	protected static String nl;

-

-	public static synchronized Classinterfacejavadocoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		Classinterfacejavadocoverride result = new Classinterfacejavadocoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * A representation of the model object '<em><b>";

-	protected final String TEXT_2 = "</b></em>'." + NL + " * <!-- end-user-doc -->";

-	protected final String TEXT_3 = NL + " *" + NL + " * <!-- begin-model-doc -->" + NL + " * ";

-	protected final String TEXT_4 = NL + " * <!-- end-model-doc -->";

-	protected final String TEXT_5 = NL + " *";

-	protected final String TEXT_6 = NL + " * <p>" + NL + " * The following features are supported:" + NL + " * </p>"

-			+ NL + " * <ul>";

-	protected final String TEXT_7 = NL + " *   <li>{@link ";

-	protected final String TEXT_8 = "#";

-	protected final String TEXT_9 = " <em>";

-	protected final String TEXT_10 = "</em>}</li>";

-	protected final String TEXT_11 = NL + " * </ul>";

-	protected final String TEXT_12 = NL + " *";

-	protected final String TEXT_13 = NL + " * @see ";

-	protected final String TEXT_14 = "#get";

-	protected final String TEXT_15 = "()";

-	protected final String TEXT_16 = NL + " * @model ";

-	protected final String TEXT_17 = NL + " *        ";

-	protected final String TEXT_18 = NL + " * @model";

-	protected final String TEXT_19 = NL + " * @extends ";

-	protected final String TEXT_20 = NL + " * @generated" + NL + " */" + NL;

-	protected final String TEXT_21 = NL;

-	protected final String TEXT_22 = NL;

-

-	public Classinterfacejavadocoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object isJDK50Parameter : isJDK50List) {

-						for (Object isInterfaceParameter : isInterfaceList) {

-							for (Object isImplementationParameter : isImplementationList) {

-								for (Object isGWTParameter : isGWTList) {

-									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-										for (Object singleWildcardParameter : singleWildcardList) {

-											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-															this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-															this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-															this.isGWT = (java.lang.Boolean) isGWTParameter;

-															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-															this.singleWildcard = (java.lang.String) singleWildcardParameter;

-															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-															if (preCondition(ctx)) {

-																ctx.setNode(new Node.Container(currentNode, getClass()));

-																orchestration(ctx);

-															}

-

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_21);

-		stringBuffer.append(TEXT_22);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genClass.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		if (genClass.hasDocumentation()) {

-			stringBuffer.append(TEXT_3);

-			stringBuffer.append(genClass.getDocumentation(genModel.getIndentation(stringBuffer)));

-			stringBuffer.append(TEXT_4);

-		}

-		stringBuffer.append(TEXT_5);

-		if (!genClass.getGenFeatures().isEmpty()) {

-			stringBuffer.append(TEXT_6);

-			for (GenFeature genFeature : genClass.getGenFeatures()) {

-				if (!genFeature.isSuppressedGetVisibility()) {

-					stringBuffer.append(TEXT_7);

-					stringBuffer.append(genClass.getQualifiedInterfaceName());

-					stringBuffer.append(TEXT_8);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_9);

-					stringBuffer.append(genFeature.getFormattedName());

-					stringBuffer.append(TEXT_10);

-				}

-			}

-			stringBuffer.append(TEXT_11);

-		}

-		stringBuffer.append(TEXT_12);

-		if (!genModel.isSuppressEMFMetaData()) {

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-			stringBuffer.append(TEXT_14);

-			stringBuffer.append(genClass.getClassifierAccessorName());

-			stringBuffer.append(TEXT_15);

-		}

-		if (!genModel.isSuppressEMFModelTags()) {

-			boolean first = true;

-			for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer

-					.hasMoreTokens();) {

-				String modelInfo = stringTokenizer.nextToken();

-				if (first) {

-					first = false;

-					stringBuffer.append(TEXT_16);

-					stringBuffer.append(modelInfo);

-				} else {

-					stringBuffer.append(TEXT_17);

-					stringBuffer.append(modelInfo);

-				}

-			}

-			if (first) {

-				stringBuffer.append(TEXT_18);

-			}

-		}

-		if (genClass.needsRootExtendsInterfaceExtendsTag()) {

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genModel.getImportedName(genModel.getRootExtendsInterface()));

-		}

-		stringBuffer.append(TEXT_20);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Classinterfacejavadocoverride {
+	protected static String nl;
+
+	public static synchronized Classinterfacejavadocoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		Classinterfacejavadocoverride result = new Classinterfacejavadocoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * A representation of the model object '<em><b>";
+	protected final String TEXT_2 = "</b></em>'." + NL + " * <!-- end-user-doc -->";
+	protected final String TEXT_3 = NL + " *" + NL + " * <!-- begin-model-doc -->" + NL + " * ";
+	protected final String TEXT_4 = NL + " * <!-- end-model-doc -->";
+	protected final String TEXT_5 = NL + " *";
+	protected final String TEXT_6 = NL + " * <p>" + NL + " * The following features are supported:" + NL + " * </p>"
+			+ NL + " * <ul>";
+	protected final String TEXT_7 = NL + " *   <li>{@link ";
+	protected final String TEXT_8 = "#";
+	protected final String TEXT_9 = " <em>";
+	protected final String TEXT_10 = "</em>}</li>";
+	protected final String TEXT_11 = NL + " * </ul>";
+	protected final String TEXT_12 = NL + " *";
+	protected final String TEXT_13 = NL + " * @see ";
+	protected final String TEXT_14 = "#get";
+	protected final String TEXT_15 = "()";
+	protected final String TEXT_16 = NL + " * @model ";
+	protected final String TEXT_17 = NL + " *        ";
+	protected final String TEXT_18 = NL + " * @model";
+	protected final String TEXT_19 = NL + " * @extends ";
+	protected final String TEXT_20 = NL + " * @generated" + NL + " */" + NL;
+	protected final String TEXT_21 = NL;
+	protected final String TEXT_22 = NL;
+
+	public Classinterfacejavadocoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object isJDK50Parameter : isJDK50List) {
+						for (Object isInterfaceParameter : isInterfaceList) {
+							for (Object isImplementationParameter : isImplementationList) {
+								for (Object isGWTParameter : isGWTList) {
+									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+										for (Object singleWildcardParameter : singleWildcardList) {
+											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+															this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+															this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+															this.isGWT = (java.lang.Boolean) isGWTParameter;
+															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+															this.singleWildcard = (java.lang.String) singleWildcardParameter;
+															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+															if (preCondition(ctx)) {
+																ctx.setNode(
+																		new Node.Container(currentNode, getClass()));
+																orchestration(ctx);
+															}
+
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_21);
+		stringBuffer.append(TEXT_22);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genClass.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		if (genClass.hasDocumentation()) {
+			stringBuffer.append(TEXT_3);
+			stringBuffer.append(genClass.getDocumentation(genModel.getIndentation(stringBuffer)));
+			stringBuffer.append(TEXT_4);
+		}
+		stringBuffer.append(TEXT_5);
+		if (!genClass.getGenFeatures().isEmpty()) {
+			stringBuffer.append(TEXT_6);
+			for (GenFeature genFeature : genClass.getGenFeatures()) {
+				if (!genFeature.isSuppressedGetVisibility()) {
+					stringBuffer.append(TEXT_7);
+					stringBuffer.append(genClass.getQualifiedInterfaceName());
+					stringBuffer.append(TEXT_8);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_9);
+					stringBuffer.append(genFeature.getFormattedName());
+					stringBuffer.append(TEXT_10);
+				}
+			}
+			stringBuffer.append(TEXT_11);
+		}
+		stringBuffer.append(TEXT_12);
+		if (!genModel.isSuppressEMFMetaData()) {
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+			stringBuffer.append(TEXT_14);
+			stringBuffer.append(genClass.getClassifierAccessorName());
+			stringBuffer.append(TEXT_15);
+		}
+		if (!genModel.isSuppressEMFModelTags()) {
+			boolean first = true;
+			for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer
+					.hasMoreTokens();) {
+				String modelInfo = stringTokenizer.nextToken();
+				if (first) {
+					first = false;
+					stringBuffer.append(TEXT_16);
+					stringBuffer.append(modelInfo);
+				} else {
+					stringBuffer.append(TEXT_17);
+					stringBuffer.append(modelInfo);
+				}
+			}
+			if (first) {
+				stringBuffer.append(TEXT_18);
+			}
+		}
+		if (genClass.needsRootExtendsInterfaceExtendsTag()) {
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genModel.getImportedName(genModel.getRootExtendsInterface()));
+		}
+		stringBuffer.append(TEXT_20);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureTODOoverride.java
index 9c8465e..582efb8 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureTODOoverride.java
@@ -1,287 +1,287 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassisSetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized ClassisSetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassisSetGenFeatureTODOoverride result = new ClassisSetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return whether the '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = " is set" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public ClassisSetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassisSetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized ClassisSetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassisSetGenFeatureTODOoverride result = new ClassisSetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return whether the '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = " is set" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public ClassisSetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureannotationsinsert.java
index 5616a9a..e2d8c47 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassisSetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized ClassisSetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassisSetGenFeatureannotationsinsert result = new ClassisSetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassisSetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassisSetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized ClassisSetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassisSetGenFeatureannotationsinsert result = new ClassisSetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassisSetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocinsert.java
index 0b18afc..321f6c7 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassisSetGenFeaturejavadocinsert {

-	protected static String nl;

-

-	public static synchronized ClassisSetGenFeaturejavadocinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassisSetGenFeaturejavadocinsert result = new ClassisSetGenFeaturejavadocinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassisSetGenFeaturejavadocinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassisSetGenFeaturejavadocinsert {
+	protected static String nl;
+
+	public static synchronized ClassisSetGenFeaturejavadocinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassisSetGenFeaturejavadocinsert result = new ClassisSetGenFeaturejavadocinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassisSetGenFeaturejavadocinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocoverride.java
index d431dc0..639680c 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeaturejavadocoverride.java
@@ -1,354 +1,354 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassisSetGenFeaturejavadocoverride {

-	protected static String nl;

-

-	public static synchronized ClassisSetGenFeaturejavadocoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassisSetGenFeaturejavadocoverride result = new ClassisSetGenFeaturejavadocoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Returns whether the value of the '{@link ";

-	protected final String TEXT_2 = "#";

-	protected final String TEXT_3 = " <em>";

-	protected final String TEXT_4 = "</em>}' ";

-	protected final String TEXT_5 = " is set.";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return whether the value of the '<em>";

-	protected final String TEXT_8 = "</em>' ";

-	protected final String TEXT_9 = " is set.";

-	protected final String TEXT_10 = NL + "\t * @see #unset";

-	protected final String TEXT_11 = "()";

-	protected final String TEXT_12 = NL + "\t * @see #";

-	protected final String TEXT_13 = "()";

-	protected final String TEXT_14 = NL + "\t * @see #set";

-	protected final String TEXT_15 = "(";

-	protected final String TEXT_16 = ")";

-	protected final String TEXT_17 = NL + "\t * @generated" + NL + "\t */" + NL;

-	protected final String TEXT_18 = NL;

-	protected final String TEXT_19 = NL;

-

-	public ClassisSetGenFeaturejavadocoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_18);

-		stringBuffer.append(TEXT_19);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genClass.getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(TEXT_6);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0sb14GJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_7);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_8);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_9);

-		if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_11);

-		}

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_13);

-		if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {

-			stringBuffer.append(TEXT_14);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genFeature.getRawImportedBoundType());

-			stringBuffer.append(TEXT_16);

-		}

-		stringBuffer.append(TEXT_17);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassisSetGenFeaturejavadocoverride {
+	protected static String nl;
+
+	public static synchronized ClassisSetGenFeaturejavadocoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassisSetGenFeaturejavadocoverride result = new ClassisSetGenFeaturejavadocoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Returns whether the value of the '{@link ";
+	protected final String TEXT_2 = "#";
+	protected final String TEXT_3 = " <em>";
+	protected final String TEXT_4 = "</em>}' ";
+	protected final String TEXT_5 = " is set.";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return whether the value of the '<em>";
+	protected final String TEXT_8 = "</em>' ";
+	protected final String TEXT_9 = " is set.";
+	protected final String TEXT_10 = NL + "\t * @see #unset";
+	protected final String TEXT_11 = "()";
+	protected final String TEXT_12 = NL + "\t * @see #";
+	protected final String TEXT_13 = "()";
+	protected final String TEXT_14 = NL + "\t * @see #set";
+	protected final String TEXT_15 = "(";
+	protected final String TEXT_16 = ")";
+	protected final String TEXT_17 = NL + "\t * @generated" + NL + "\t */" + NL;
+	protected final String TEXT_18 = NL;
+	protected final String TEXT_19 = NL;
+
+	public ClassisSetGenFeaturejavadocoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_18);
+		stringBuffer.append(TEXT_19);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genClass.getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(TEXT_6);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0sb14GJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_7);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_8);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_9);
+		if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_11);
+		}
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_13);
+		if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {
+			stringBuffer.append(TEXT_14);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genFeature.getRawImportedBoundType());
+			stringBuffer.append(TEXT_16);
+		}
+		stringBuffer.append(TEXT_17);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureoverride.java
index a11112e..e6bba3d 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassisSetGenFeatureoverride.java
@@ -1,522 +1,520 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassisSetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ClassisSetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassisSetGenFeatureoverride result = new ClassisSetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL + "\tboolean isSet";

-	protected final String TEXT_6 = "();" + NL;

-	protected final String TEXT_7 = NL + "\tpublic boolean isSet";

-	protected final String TEXT_8 = "_";

-	protected final String TEXT_9 = "()" + NL + "\t{";

-	protected final String TEXT_10 = NL + "\t\treturn eDynamicIsSet(";

-	protected final String TEXT_11 = " - ESTATIC_FEATURE_COUNT";

-	protected final String TEXT_12 = ", ";

-	protected final String TEXT_13 = ");";

-	protected final String TEXT_14 = NL + "\t\treturn eIsSet(";

-	protected final String TEXT_15 = ");";

-	protected final String TEXT_16 = NL + "\t\treturn ";

-	protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";

-	protected final String TEXT_18 = NL + "\t\t";

-	protected final String TEXT_19 = " ";

-	protected final String TEXT_20 = " = (";

-	protected final String TEXT_21 = ")eVirtualGet(";

-	protected final String TEXT_22 = ");";

-	protected final String TEXT_23 = NL + "\t\treturn ";

-	protected final String TEXT_24 = " != null && ((";

-	protected final String TEXT_25 = ".Unsettable";

-	protected final String TEXT_26 = ")";

-	protected final String TEXT_27 = ").isSet();";

-	protected final String TEXT_28 = NL + "\t\treturn eVirtualIsSet(";

-	protected final String TEXT_29 = ");";

-	protected final String TEXT_30 = NL + "\t\treturn (";

-	protected final String TEXT_31 = " & ";

-	protected final String TEXT_32 = "_ESETFLAG) != 0;";

-	protected final String TEXT_33 = NL + "\t\treturn ";

-	protected final String TEXT_34 = "ESet;";

-	protected final String TEXT_35 = NL + "\t\treturn !((";

-	protected final String TEXT_36 = ".Internal)((";

-	protected final String TEXT_37 = ".Internal.Wrapper)get";

-	protected final String TEXT_38 = "()).featureMap()).isEmpty(";

-	protected final String TEXT_39 = ");";

-	protected final String TEXT_40 = NL + "\t\treturn !((";

-	protected final String TEXT_41 = ".Internal)get";

-	protected final String TEXT_42 = "()).isEmpty(";

-	protected final String TEXT_43 = ");";

-	protected final String TEXT_44 = NL + "\t\t";

-	protected final String TEXT_45 = NL;

-	protected final String TEXT_46 = NL + "\t}" + NL;

-	protected final String TEXT_47 = NL;

-	protected final String TEXT_48 = NL;

-	protected final String TEXT_49 = NL;

-

-	public ClassisSetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_48);

-		stringBuffer.append(TEXT_49);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isInterface) {

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0sSE4GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/isSetGenFeature.javadoc.override.javajetinc

-		} else {

-			stringBuffer.append(TEXT_3);

-			if (isJDK50) { //Class/isSetGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_4);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0sk_0GJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-		}

-		if (!isImplementation) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_6);

-		} else {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genFeature.getAccessorName());

-			if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {

-				stringBuffer.append(TEXT_8);

-			}

-			stringBuffer.append(TEXT_9);

-			if (genModel.isDynamicDelegation()) {

-				stringBuffer.append(TEXT_10);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				if (genClass.hasStaticFeatures()) {

-					stringBuffer.append(TEXT_11);

-				}

-				stringBuffer.append(TEXT_12);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_13);

-			} else if (genModel.isReflectiveDelegation()) {

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_15);

-			} else if (genFeature.hasSettingDelegate()) {

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_17);

-			} else if (!genFeature.isVolatile()) {

-				if (genFeature.isListType()) {

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_18);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_19);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_20);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_21);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_22);

-					}

-					stringBuffer.append(TEXT_23);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_24);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(singleWildcard);

-					stringBuffer.append(TEXT_26);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_27);

-				} else {

-					if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_28);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_29);

-					} else if (genClass.isESetFlag(genFeature)) {

-						stringBuffer.append(TEXT_30);

-						stringBuffer.append(genClass.getESetFlagsField(genFeature));

-						stringBuffer.append(TEXT_31);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_32);

-					} else {

-						stringBuffer.append(TEXT_33);

-						stringBuffer.append(genFeature.getUncapName());

-						stringBuffer.append(TEXT_34);

-					}

-				}

-			} else if (genFeature.hasDelegateFeature()) {

-				GenFeature delegateFeature = genFeature.getDelegateFeature();

-				if (delegateFeature.isWrappedFeatureMapType()) {

-					stringBuffer.append(TEXT_35);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_36);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_37);

-					stringBuffer.append(delegateFeature.getAccessorName());

-					stringBuffer.append(TEXT_38);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_39);

-				} else {

-					stringBuffer.append(TEXT_40);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_41);

-					stringBuffer.append(delegateFeature.getAccessorName());

-					stringBuffer.append(TEXT_42);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_43);

-				}

-			} else if (genClass.getIsSetAccessorOperation(genFeature) != null) {

-				stringBuffer.append(TEXT_44);

-				stringBuffer.append(genClass.getIsSetAccessorOperation(genFeature).getBody(

-						genModel.getIndentation(stringBuffer)));

-			} else {

-				stringBuffer.append(TEXT_45);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0suw0GJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//Class/isSetGenFeature.todo.override.javajetinc

-			}

-			stringBuffer.append(TEXT_46);

-		}

-		stringBuffer.append(TEXT_47);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassisSetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ClassisSetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassisSetGenFeatureoverride result = new ClassisSetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL + "\tboolean isSet";
+	protected final String TEXT_6 = "();" + NL;
+	protected final String TEXT_7 = NL + "\tpublic boolean isSet";
+	protected final String TEXT_8 = "_";
+	protected final String TEXT_9 = "()" + NL + "\t{";
+	protected final String TEXT_10 = NL + "\t\treturn eDynamicIsSet(";
+	protected final String TEXT_11 = " - ESTATIC_FEATURE_COUNT";
+	protected final String TEXT_12 = ", ";
+	protected final String TEXT_13 = ");";
+	protected final String TEXT_14 = NL + "\t\treturn eIsSet(";
+	protected final String TEXT_15 = ");";
+	protected final String TEXT_16 = NL + "\t\treturn ";
+	protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";
+	protected final String TEXT_18 = NL + "\t\t";
+	protected final String TEXT_19 = " ";
+	protected final String TEXT_20 = " = (";
+	protected final String TEXT_21 = ")eVirtualGet(";
+	protected final String TEXT_22 = ");";
+	protected final String TEXT_23 = NL + "\t\treturn ";
+	protected final String TEXT_24 = " != null && ((";
+	protected final String TEXT_25 = ".Unsettable";
+	protected final String TEXT_26 = ")";
+	protected final String TEXT_27 = ").isSet();";
+	protected final String TEXT_28 = NL + "\t\treturn eVirtualIsSet(";
+	protected final String TEXT_29 = ");";
+	protected final String TEXT_30 = NL + "\t\treturn (";
+	protected final String TEXT_31 = " & ";
+	protected final String TEXT_32 = "_ESETFLAG) != 0;";
+	protected final String TEXT_33 = NL + "\t\treturn ";
+	protected final String TEXT_34 = "ESet;";
+	protected final String TEXT_35 = NL + "\t\treturn !((";
+	protected final String TEXT_36 = ".Internal)((";
+	protected final String TEXT_37 = ".Internal.Wrapper)get";
+	protected final String TEXT_38 = "()).featureMap()).isEmpty(";
+	protected final String TEXT_39 = ");";
+	protected final String TEXT_40 = NL + "\t\treturn !((";
+	protected final String TEXT_41 = ".Internal)get";
+	protected final String TEXT_42 = "()).isEmpty(";
+	protected final String TEXT_43 = ");";
+	protected final String TEXT_44 = NL + "\t\t";
+	protected final String TEXT_45 = NL;
+	protected final String TEXT_46 = NL + "\t}" + NL;
+	protected final String TEXT_47 = NL;
+	protected final String TEXT_48 = NL;
+	protected final String TEXT_49 = NL;
+
+	public ClassisSetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_48);
+		stringBuffer.append(TEXT_49);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isInterface) {
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0sSE4GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/isSetGenFeature.javadoc.override.javajetinc
+		} else {
+			stringBuffer.append(TEXT_3);
+			if (isJDK50) { //Class/isSetGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_4);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0sk_0GJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+		}
+		if (!isImplementation) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_6);
+		} else {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genFeature.getAccessorName());
+			if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {
+				stringBuffer.append(TEXT_8);
+			}
+			stringBuffer.append(TEXT_9);
+			if (genModel.isDynamicDelegation()) {
+				stringBuffer.append(TEXT_10);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				if (genClass.hasStaticFeatures()) {
+					stringBuffer.append(TEXT_11);
+				}
+				stringBuffer.append(TEXT_12);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_13);
+			} else if (genModel.isReflectiveDelegation()) {
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_15);
+			} else if (genFeature.hasSettingDelegate()) {
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_17);
+			} else if (!genFeature.isVolatile()) {
+				if (genFeature.isListType()) {
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_18);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_19);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_20);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_21);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_22);
+					}
+					stringBuffer.append(TEXT_23);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_24);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(singleWildcard);
+					stringBuffer.append(TEXT_26);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_27);
+				} else {
+					if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_28);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_29);
+					} else if (genClass.isESetFlag(genFeature)) {
+						stringBuffer.append(TEXT_30);
+						stringBuffer.append(genClass.getESetFlagsField(genFeature));
+						stringBuffer.append(TEXT_31);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_32);
+					} else {
+						stringBuffer.append(TEXT_33);
+						stringBuffer.append(genFeature.getUncapName());
+						stringBuffer.append(TEXT_34);
+					}
+				}
+			} else if (genFeature.hasDelegateFeature()) {
+				GenFeature delegateFeature = genFeature.getDelegateFeature();
+				if (delegateFeature.isWrappedFeatureMapType()) {
+					stringBuffer.append(TEXT_35);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_36);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_37);
+					stringBuffer.append(delegateFeature.getAccessorName());
+					stringBuffer.append(TEXT_38);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_39);
+				} else {
+					stringBuffer.append(TEXT_40);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_41);
+					stringBuffer.append(delegateFeature.getAccessorName());
+					stringBuffer.append(TEXT_42);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_43);
+				}
+			} else if (genClass.getIsSetAccessorOperation(genFeature) != null) {
+				stringBuffer.append(TEXT_44);
+				stringBuffer.append(
+						genClass.getIsSetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));
+			} else {
+				stringBuffer.append(TEXT_45);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.isSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0suw0GJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//Class/isSetGenFeature.todo.override.javajetinc
+			}
+			stringBuffer.append(TEXT_46);
+		}
+		stringBuffer.append(TEXT_47);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassreflectiveDelegationoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassreflectiveDelegationoverride.java
index 9ec6481..751ba3f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassreflectiveDelegationoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassreflectiveDelegationoverride.java
@@ -1,298 +1,299 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassreflectiveDelegationoverride {

-	protected static String nl;

-

-	public static synchronized ClassreflectiveDelegationoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassreflectiveDelegationoverride result = new ClassreflectiveDelegationoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected static final int ESTATIC_FEATURE_COUNT = ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_5 = NL + "\t@Override";

-	protected final String TEXT_6 = NL + "\tprotected int eStaticFeatureCount()" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_7 = ";" + NL + "\t}" + NL;

-	protected final String TEXT_8 = NL;

-	protected final String TEXT_9 = NL;

-	protected final String TEXT_10 = NL;

-

-	public ClassreflectiveDelegationoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object isJDK50Parameter : isJDK50List) {

-						for (Object isInterfaceParameter : isInterfaceList) {

-							for (Object isImplementationParameter : isImplementationList) {

-								for (Object isGWTParameter : isGWTList) {

-									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-										for (Object singleWildcardParameter : singleWildcardList) {

-											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-															this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-															this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-															this.isGWT = (java.lang.Boolean) isGWTParameter;

-															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-															this.singleWildcard = (java.lang.String) singleWildcardParameter;

-															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-															if (preCondition(ctx)) {

-																ctx.setNode(new Node.Container(currentNode, getClass()));

-																orchestration(ctx);

-															}

-

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_9);

-		stringBuffer.append(TEXT_10);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isImplementation

-				&& (genModel.getFeatureDelegation() == GenDelegationKind.REFLECTIVE_LITERAL || genModel

-						.isDynamicDelegation())

-				&& (genClass.getClassExtendsGenClass() == null || (genClass.getClassExtendsGenClass().getGenModel()

-						.getFeatureDelegation() != GenDelegationKind.REFLECTIVE_LITERAL && !genClass

-						.getClassExtendsGenClass().getGenModel().isDynamicDelegation()))) {

-			if (genClass.hasStaticFeatures()) {

-				stringBuffer.append(TEXT_2);

-				stringBuffer.append(genClass.getClassExtendsGenClass() == null ? 0 : genClass.getClassExtendsGenClass()

-						.getAllGenFeatures().size());

-				stringBuffer.append(TEXT_3);

-			}

-			stringBuffer.append(TEXT_4);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_5);

-			}

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genClass.getClassExtendsGenClass() == null ? "0"

-					: genClass.hasStaticFeatures() ? "ESTATIC_FEATURE_COUNT" : Integer.toString(genClass

-							.getClassExtendsGenClass().getAllGenFeatures().size()));

-			stringBuffer.append(TEXT_7);

-		}

-		stringBuffer.append(TEXT_8);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassreflectiveDelegationoverride {
+	protected static String nl;
+
+	public static synchronized ClassreflectiveDelegationoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassreflectiveDelegationoverride result = new ClassreflectiveDelegationoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected static final int ESTATIC_FEATURE_COUNT = ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_5 = NL + "\t@Override";
+	protected final String TEXT_6 = NL + "\tprotected int eStaticFeatureCount()" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_7 = ";" + NL + "\t}" + NL;
+	protected final String TEXT_8 = NL;
+	protected final String TEXT_9 = NL;
+	protected final String TEXT_10 = NL;
+
+	public ClassreflectiveDelegationoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object isJDK50Parameter : isJDK50List) {
+						for (Object isInterfaceParameter : isInterfaceList) {
+							for (Object isImplementationParameter : isImplementationList) {
+								for (Object isGWTParameter : isGWTList) {
+									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+										for (Object singleWildcardParameter : singleWildcardList) {
+											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+															this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+															this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+															this.isGWT = (java.lang.Boolean) isGWTParameter;
+															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+															this.singleWildcard = (java.lang.String) singleWildcardParameter;
+															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+															if (preCondition(ctx)) {
+																ctx.setNode(
+																		new Node.Container(currentNode, getClass()));
+																orchestration(ctx);
+															}
+
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_9);
+		stringBuffer.append(TEXT_10);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isImplementation
+				&& (genModel.getFeatureDelegation() == GenDelegationKind.REFLECTIVE_LITERAL
+						|| genModel.isDynamicDelegation())
+				&& (genClass.getClassExtendsGenClass() == null || (genClass.getClassExtendsGenClass().getGenModel()
+						.getFeatureDelegation() != GenDelegationKind.REFLECTIVE_LITERAL
+						&& !genClass.getClassExtendsGenClass().getGenModel().isDynamicDelegation()))) {
+			if (genClass.hasStaticFeatures()) {
+				stringBuffer.append(TEXT_2);
+				stringBuffer.append(genClass.getClassExtendsGenClass() == null ? 0
+						: genClass.getClassExtendsGenClass().getAllGenFeatures().size());
+				stringBuffer.append(TEXT_3);
+			}
+			stringBuffer.append(TEXT_4);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_5);
+			}
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genClass.getClassExtendsGenClass() == null ? "0"
+					: genClass.hasStaticFeatures() ? "ESTATIC_FEATURE_COUNT"
+							: Integer.toString(genClass.getClassExtendsGenClass().getAllGenFeatures().size()));
+			stringBuffer.append(TEXT_7);
+		}
+		stringBuffer.append(TEXT_8);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureTODOoverride.java
index 9d7edcd..db76d15 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureTODOoverride.java
@@ -1,299 +1,299 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClasssetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized ClasssetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClasssetGenFeatureTODOoverride result = new ClasssetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to set the '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public ClasssetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> setAccessorOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object setAccessorOperationParameter : setAccessorOperationList) {

-			for (Object genFeatureParameter : genFeatureList) {

-				for (Object genClassParameter : genClassList) {

-					for (Object genPackageParameter : genPackageList) {

-						for (Object genModelParameter : genModelList) {

-							for (Object isJDK50Parameter : isJDK50List) {

-								for (Object isInterfaceParameter : isInterfaceList) {

-									for (Object isImplementationParameter : isImplementationList) {

-										for (Object isGWTParameter : isGWTList) {

-											for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-												for (Object singleWildcardParameter : singleWildcardList) {

-													for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-														for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-															for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-																for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																	this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;

-																	this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																	this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																	this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																	this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																	this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																	this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																	this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																	this.isGWT = (java.lang.Boolean) isGWTParameter;

-																	this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																	this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																	this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																	this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																	this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																	this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																	if (preCondition(ctx)) {

-																		ctx.setNode(new Node.Container(currentNode,

-																				getClass()));

-																		orchestration(ctx);

-																	}

-

-																}

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("setAccessorOperation", this.setAccessorOperation);

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;

-

-	public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.setAccessorOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("setAccessorOperation", this.setAccessorOperation);

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized ClasssetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClasssetGenFeatureTODOoverride result = new ClasssetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to set the '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public ClasssetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> setAccessorOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object setAccessorOperationParameter : setAccessorOperationList) {
+			for (Object genFeatureParameter : genFeatureList) {
+				for (Object genClassParameter : genClassList) {
+					for (Object genPackageParameter : genPackageList) {
+						for (Object genModelParameter : genModelList) {
+							for (Object isJDK50Parameter : isJDK50List) {
+								for (Object isInterfaceParameter : isInterfaceList) {
+									for (Object isImplementationParameter : isImplementationList) {
+										for (Object isGWTParameter : isGWTList) {
+											for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+												for (Object singleWildcardParameter : singleWildcardList) {
+													for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+														for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+															for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+																for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																	this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+																	this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																	this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																	this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																	this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																	this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																	this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																	this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																	this.isGWT = (java.lang.Boolean) isGWTParameter;
+																	this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																	this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																	this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																	this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																	this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																	this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																	if (preCondition(ctx)) {
+																		ctx.setNode(new Node.Container(currentNode,
+																				getClass()));
+																		orchestration(ctx);
+																	}
+
+																}
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+	public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.setAccessorOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("setAccessorOperation", this.setAccessorOperation);
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureannotationsinsert.java
index d29f52e..850d05a 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClasssetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized ClasssetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClasssetGenFeatureannotationsinsert result = new ClasssetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClasssetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized ClasssetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClasssetGenFeatureannotationsinsert result = new ClasssetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClasssetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocinsert.java
index 3f74e76..7fb0aac 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClasssetGenFeaturejavadocinsert {

-	protected static String nl;

-

-	public static synchronized ClasssetGenFeaturejavadocinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClasssetGenFeaturejavadocinsert result = new ClasssetGenFeaturejavadocinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClasssetGenFeaturejavadocinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeaturejavadocinsert {
+	protected static String nl;
+
+	public static synchronized ClasssetGenFeaturejavadocinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClasssetGenFeaturejavadocinsert result = new ClasssetGenFeaturejavadocinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClasssetGenFeaturejavadocinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocoverride.java
index a396f3b..018356b 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturejavadocoverride.java
@@ -1,356 +1,356 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClasssetGenFeaturejavadocoverride {

-	protected static String nl;

-

-	public static synchronized ClasssetGenFeaturejavadocoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClasssetGenFeaturejavadocoverride result = new ClasssetGenFeaturejavadocoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Sets the value of the '{@link ";

-	protected final String TEXT_2 = "#";

-	protected final String TEXT_3 = " <em>";

-	protected final String TEXT_4 = "</em>}' ";

-	protected final String TEXT_5 = ".";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @param value the new value of the '<em>";

-	protected final String TEXT_8 = "</em>' ";

-	protected final String TEXT_9 = ".";

-	protected final String TEXT_10 = NL + "\t * @see ";

-	protected final String TEXT_11 = NL + "\t * @see #isSet";

-	protected final String TEXT_12 = "()";

-	protected final String TEXT_13 = NL + "\t * @see #unset";

-	protected final String TEXT_14 = "()";

-	protected final String TEXT_15 = NL + "\t * @see #";

-	protected final String TEXT_16 = "()" + NL + "\t * @generated" + NL + "\t */" + NL;

-	protected final String TEXT_17 = NL;

-	protected final String TEXT_18 = NL;

-

-	public ClasssetGenFeaturejavadocoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_17);

-		stringBuffer.append(TEXT_18);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genClass.getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(TEXT_6);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0ng5oGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_7);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_8);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_9);

-		if (genFeature.isEnumType()) {

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());

-		}

-		if (genFeature.isUnsettable()) {

-			if (!genFeature.isSuppressedIsSetVisibility()) {

-				stringBuffer.append(TEXT_11);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_12);

-			}

-			if (!genFeature.isSuppressedUnsetVisibility()) {

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_14);

-			}

-		}

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_16);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeaturejavadocoverride {
+	protected static String nl;
+
+	public static synchronized ClasssetGenFeaturejavadocoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClasssetGenFeaturejavadocoverride result = new ClasssetGenFeaturejavadocoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Sets the value of the '{@link ";
+	protected final String TEXT_2 = "#";
+	protected final String TEXT_3 = " <em>";
+	protected final String TEXT_4 = "</em>}' ";
+	protected final String TEXT_5 = ".";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @param value the new value of the '<em>";
+	protected final String TEXT_8 = "</em>' ";
+	protected final String TEXT_9 = ".";
+	protected final String TEXT_10 = NL + "\t * @see ";
+	protected final String TEXT_11 = NL + "\t * @see #isSet";
+	protected final String TEXT_12 = "()";
+	protected final String TEXT_13 = NL + "\t * @see #unset";
+	protected final String TEXT_14 = "()";
+	protected final String TEXT_15 = NL + "\t * @see #";
+	protected final String TEXT_16 = "()" + NL + "\t * @generated" + NL + "\t */" + NL;
+	protected final String TEXT_17 = NL;
+	protected final String TEXT_18 = NL;
+
+	public ClasssetGenFeaturejavadocoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_17);
+		stringBuffer.append(TEXT_18);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genClass.getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(TEXT_6);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0ng5oGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_7);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_8);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_9);
+		if (genFeature.isEnumType()) {
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
+		}
+		if (genFeature.isUnsettable()) {
+			if (!genFeature.isSuppressedIsSetVisibility()) {
+				stringBuffer.append(TEXT_11);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_12);
+			}
+			if (!genFeature.isSuppressedUnsetVisibility()) {
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_14);
+			}
+		}
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_16);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureoverride.java
index 4423c34..5faafbd 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeatureoverride.java
@@ -1,1243 +1,1240 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClasssetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ClasssetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClasssetGenFeatureoverride result = new ClasssetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL + "\tvoid set";

-	protected final String TEXT_6 = "(";

-	protected final String TEXT_7 = " value);" + NL;

-	protected final String TEXT_8 = NL + "\tpublic void set";

-	protected final String TEXT_9 = "_";

-	protected final String TEXT_10 = "(";

-	protected final String TEXT_11 = " ";

-	protected final String TEXT_12 = ")" + NL + "\t{";

-	protected final String TEXT_13 = NL;

-	protected final String TEXT_14 = NL + "\t\teDynamicSet(";

-	protected final String TEXT_15 = " - ESTATIC_FEATURE_COUNT";

-	protected final String TEXT_16 = ", ";

-	protected final String TEXT_17 = ", ";

-	protected final String TEXT_18 = "new ";

-	protected final String TEXT_19 = "(";

-	protected final String TEXT_20 = "new";

-	protected final String TEXT_21 = ")";

-	protected final String TEXT_22 = ");";

-	protected final String TEXT_23 = NL + "\t\teSet(";

-	protected final String TEXT_24 = ", ";

-	protected final String TEXT_25 = "new ";

-	protected final String TEXT_26 = "(";

-	protected final String TEXT_27 = "new";

-	protected final String TEXT_28 = ")";

-	protected final String TEXT_29 = ");";

-	protected final String TEXT_30 = NL + "\t\t";

-	protected final String TEXT_31 = "__ESETTING_DELEGATE.dynamicSet(this, null, 0, ";

-	protected final String TEXT_32 = "new ";

-	protected final String TEXT_33 = "(";

-	protected final String TEXT_34 = "new";

-	protected final String TEXT_35 = ")";

-	protected final String TEXT_36 = ");";

-	protected final String TEXT_37 = NL + "\t\tif (new";

-	protected final String TEXT_38 = " != eInternalContainer() || (eContainerFeatureID() != ";

-	protected final String TEXT_39 = " && new";

-	protected final String TEXT_40 = " != null))" + NL + "\t\t{" + NL + "\t\t\tif (";

-	protected final String TEXT_41 = ".isAncestor(this, ";

-	protected final String TEXT_42 = "new";

-	protected final String TEXT_43 = "))" + NL + "\t\t\t\tthrow new ";

-	protected final String TEXT_44 = "(\"Recursive containment not allowed for \" + toString());";

-	protected final String TEXT_45 = NL + "\t\t\t";

-	protected final String TEXT_46 = " msgs = null;" + NL + "\t\t\tif (eInternalContainer() != null)" + NL

-			+ "\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);" + NL + "\t\t\tif (new";

-	protected final String TEXT_47 = " != null)" + NL + "\t\t\t\tmsgs = ((";

-	protected final String TEXT_48 = ")new";

-	protected final String TEXT_49 = ").eInverseAdd(this, ";

-	protected final String TEXT_50 = ", ";

-	protected final String TEXT_51 = ".class, msgs);" + NL + "\t\t\tmsgs = basicSet";

-	protected final String TEXT_52 = "(";

-	protected final String TEXT_53 = "new";

-	protected final String TEXT_54 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";

-	protected final String TEXT_55 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

-	protected final String TEXT_56 = "(this, ";

-	protected final String TEXT_57 = ".SET, ";

-	protected final String TEXT_58 = ", new";

-	protected final String TEXT_59 = ", new";

-	protected final String TEXT_60 = "));";

-	protected final String TEXT_61 = NL + "\t\t";

-	protected final String TEXT_62 = " ";

-	protected final String TEXT_63 = " = (";

-	protected final String TEXT_64 = ")eVirtualGet(";

-	protected final String TEXT_65 = ");";

-	protected final String TEXT_66 = NL + "\t\tif (new";

-	protected final String TEXT_67 = " != ";

-	protected final String TEXT_68 = ")" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_69 = " msgs = null;" + NL + "\t\t\tif (";

-	protected final String TEXT_70 = " != null)";

-	protected final String TEXT_71 = NL + "\t\t\t\tmsgs = ((";

-	protected final String TEXT_72 = ")";

-	protected final String TEXT_73 = ").eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

-	protected final String TEXT_74 = ", null, msgs);" + NL + "\t\t\tif (new";

-	protected final String TEXT_75 = " != null)" + NL + "\t\t\t\tmsgs = ((";

-	protected final String TEXT_76 = ")new";

-	protected final String TEXT_77 = ").eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";

-	protected final String TEXT_78 = ", null, msgs);";

-	protected final String TEXT_79 = NL + "\t\t\t\tmsgs = ((";

-	protected final String TEXT_80 = ")";

-	protected final String TEXT_81 = ").eInverseRemove(this, ";

-	protected final String TEXT_82 = ", ";

-	protected final String TEXT_83 = ".class, msgs);" + NL + "\t\t\tif (new";

-	protected final String TEXT_84 = " != null)" + NL + "\t\t\t\tmsgs = ((";

-	protected final String TEXT_85 = ")new";

-	protected final String TEXT_86 = ").eInverseAdd(this, ";

-	protected final String TEXT_87 = ", ";

-	protected final String TEXT_88 = ".class, msgs);";

-	protected final String TEXT_89 = NL + "\t\t\tmsgs = basicSet";

-	protected final String TEXT_90 = "(";

-	protected final String TEXT_91 = "new";

-	protected final String TEXT_92 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";

-	protected final String TEXT_93 = NL + "\t\telse" + NL + "\t\t{";

-	protected final String TEXT_94 = NL + "\t\t\tboolean old";

-	protected final String TEXT_95 = "ESet = eVirtualIsSet(";

-	protected final String TEXT_96 = ");";

-	protected final String TEXT_97 = NL + "\t\t\tboolean old";

-	protected final String TEXT_98 = "ESet = (";

-	protected final String TEXT_99 = " & ";

-	protected final String TEXT_100 = "_ESETFLAG) != 0;";

-	protected final String TEXT_101 = NL + "\t\t\t";

-	protected final String TEXT_102 = " |= ";

-	protected final String TEXT_103 = "_ESETFLAG;";

-	protected final String TEXT_104 = NL + "\t\t\tboolean old";

-	protected final String TEXT_105 = "ESet = ";

-	protected final String TEXT_106 = "ESet;";

-	protected final String TEXT_107 = NL + "\t\t\t";

-	protected final String TEXT_108 = "ESet = true;";

-	protected final String TEXT_109 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";

-	protected final String TEXT_110 = "(this, ";

-	protected final String TEXT_111 = ".SET, ";

-	protected final String TEXT_112 = ", new";

-	protected final String TEXT_113 = ", new";

-	protected final String TEXT_114 = ", !old";

-	protected final String TEXT_115 = "ESet));";

-	protected final String TEXT_116 = NL + "\t\t}";

-	protected final String TEXT_117 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

-	protected final String TEXT_118 = "(this, ";

-	protected final String TEXT_119 = ".SET, ";

-	protected final String TEXT_120 = ", new";

-	protected final String TEXT_121 = ", new";

-	protected final String TEXT_122 = "));";

-	protected final String TEXT_123 = NL + "\t\t";

-	protected final String TEXT_124 = " old";

-	protected final String TEXT_125 = " = (";

-	protected final String TEXT_126 = " & ";

-	protected final String TEXT_127 = "_EFLAG) != 0;";

-	protected final String TEXT_128 = NL + "\t\t";

-	protected final String TEXT_129 = " old";

-	protected final String TEXT_130 = " = ";

-	protected final String TEXT_131 = "_EFLAG_VALUES[(";

-	protected final String TEXT_132 = " & ";

-	protected final String TEXT_133 = "_EFLAG) >>> ";

-	protected final String TEXT_134 = "_EFLAG_OFFSET];";

-	protected final String TEXT_135 = NL + "\t\tif (new";

-	protected final String TEXT_136 = ") ";

-	protected final String TEXT_137 = " |= ";

-	protected final String TEXT_138 = "_EFLAG; else ";

-	protected final String TEXT_139 = " &= ~";

-	protected final String TEXT_140 = "_EFLAG;";

-	protected final String TEXT_141 = NL + "\t\tif (new";

-	protected final String TEXT_142 = " == null) new";

-	protected final String TEXT_143 = " = ";

-	protected final String TEXT_144 = "_EDEFAULT;" + NL + "\t\t";

-	protected final String TEXT_145 = " = ";

-	protected final String TEXT_146 = " & ~";

-	protected final String TEXT_147 = "_EFLAG | ";

-	protected final String TEXT_148 = "new";

-	protected final String TEXT_149 = ".ordinal()";

-	protected final String TEXT_150 = ".VALUES.indexOf(new";

-	protected final String TEXT_151 = ")";

-	protected final String TEXT_152 = " << ";

-	protected final String TEXT_153 = "_EFLAG_OFFSET;";

-	protected final String TEXT_154 = NL + "\t\t";

-	protected final String TEXT_155 = " old";

-	protected final String TEXT_156 = " = ";

-	protected final String TEXT_157 = ";";

-	protected final String TEXT_158 = NL + "\t\t";

-	protected final String TEXT_159 = " ";

-	protected final String TEXT_160 = " = new";

-	protected final String TEXT_161 = " == null ? ";

-	protected final String TEXT_162 = " : new";

-	protected final String TEXT_163 = ";";

-	protected final String TEXT_164 = NL + "\t\t";

-	protected final String TEXT_165 = " = new";

-	protected final String TEXT_166 = " == null ? ";

-	protected final String TEXT_167 = " : new";

-	protected final String TEXT_168 = ";";

-	protected final String TEXT_169 = NL + "\t\t";

-	protected final String TEXT_170 = " ";

-	protected final String TEXT_171 = " = ";

-	protected final String TEXT_172 = "new";

-	protected final String TEXT_173 = ";";

-	protected final String TEXT_174 = NL + "\t\t";

-	protected final String TEXT_175 = " = ";

-	protected final String TEXT_176 = "new";

-	protected final String TEXT_177 = ";";

-	protected final String TEXT_178 = NL + "\t\tObject old";

-	protected final String TEXT_179 = " = eVirtualSet(";

-	protected final String TEXT_180 = ", ";

-	protected final String TEXT_181 = ");";

-	protected final String TEXT_182 = NL + "\t\tboolean isSetChange = old";

-	protected final String TEXT_183 = " == EVIRTUAL_NO_VALUE;";

-	protected final String TEXT_184 = NL + "\t\tboolean old";

-	protected final String TEXT_185 = "ESet = (";

-	protected final String TEXT_186 = " & ";

-	protected final String TEXT_187 = "_ESETFLAG) != 0;";

-	protected final String TEXT_188 = NL + "\t\t";

-	protected final String TEXT_189 = " |= ";

-	protected final String TEXT_190 = "_ESETFLAG;";

-	protected final String TEXT_191 = NL + "\t\tboolean old";

-	protected final String TEXT_192 = "ESet = ";

-	protected final String TEXT_193 = "ESet;";

-	protected final String TEXT_194 = NL + "\t\t";

-	protected final String TEXT_195 = "ESet = true;";

-	protected final String TEXT_196 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

-	protected final String TEXT_197 = "(this, ";

-	protected final String TEXT_198 = ".SET, ";

-	protected final String TEXT_199 = ", ";

-	protected final String TEXT_200 = "isSetChange ? ";

-	protected final String TEXT_201 = " : old";

-	protected final String TEXT_202 = "old";

-	protected final String TEXT_203 = ", ";

-	protected final String TEXT_204 = "new";

-	protected final String TEXT_205 = ", ";

-	protected final String TEXT_206 = "isSetChange";

-	protected final String TEXT_207 = "!old";

-	protected final String TEXT_208 = "ESet";

-	protected final String TEXT_209 = "));";

-	protected final String TEXT_210 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

-	protected final String TEXT_211 = "(this, ";

-	protected final String TEXT_212 = ".SET, ";

-	protected final String TEXT_213 = ", ";

-	protected final String TEXT_214 = "old";

-	protected final String TEXT_215 = " == EVIRTUAL_NO_VALUE ? ";

-	protected final String TEXT_216 = " : old";

-	protected final String TEXT_217 = "old";

-	protected final String TEXT_218 = ", ";

-	protected final String TEXT_219 = "new";

-	protected final String TEXT_220 = "));";

-	protected final String TEXT_221 = NL;

-	protected final String TEXT_222 = NL + "\t\t((";

-	protected final String TEXT_223 = ".Internal)((";

-	protected final String TEXT_224 = ".Internal.Wrapper)get";

-	protected final String TEXT_225 = "()).featureMap()).set(";

-	protected final String TEXT_226 = ", ";

-	protected final String TEXT_227 = "new ";

-	protected final String TEXT_228 = "(";

-	protected final String TEXT_229 = "new";

-	protected final String TEXT_230 = ")";

-	protected final String TEXT_231 = ");";

-	protected final String TEXT_232 = NL + "\t\t((";

-	protected final String TEXT_233 = ".Internal)get";

-	protected final String TEXT_234 = "()).set(";

-	protected final String TEXT_235 = ", ";

-	protected final String TEXT_236 = "new ";

-	protected final String TEXT_237 = "(";

-	protected final String TEXT_238 = "new";

-	protected final String TEXT_239 = ")";

-	protected final String TEXT_240 = ");";

-	protected final String TEXT_241 = NL + "\t\t";

-	protected final String TEXT_242 = NL;

-	protected final String TEXT_243 = NL + "\t}" + NL;

-	protected final String TEXT_244 = NL;

-	protected final String TEXT_245 = NL;

-	protected final String TEXT_246 = NL;

-

-	public ClasssetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_245);

-		stringBuffer.append(TEXT_246);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isInterface) {

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nXIoGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/setGenFeature.javadoc.override.javajetinc

-		} else {

-			stringBuffer.append(TEXT_3);

-			if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_4);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nqqoGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-		}

-		if (!isImplementation) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_7);

-		} else {

-			GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genFeature.getAccessorName());

-			if (genClass.hasCollidingSetAccessorOperation(genFeature)) {

-				stringBuffer.append(TEXT_9);

-			}

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_11);

-			stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation

-					.getGenParameters().get(0).getName());

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(TEXT_13);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("setAccessorOperation", setAccessorOperation);

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nz0kGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			if (genModel.isDynamicDelegation()) {

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				if (genClass.hasStaticFeatures()) {

-					stringBuffer.append(TEXT_15);

-				}

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_17);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_18);

-					stringBuffer.append(genFeature.getObjectType(genClass));

-					stringBuffer.append(TEXT_19);

-				}

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genFeature.getCapName());

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_21);

-				}

-				stringBuffer.append(TEXT_22);

-			} else if (genModel.isReflectiveDelegation()) {

-				stringBuffer.append(TEXT_23);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_24);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(genFeature.getObjectType(genClass));

-					stringBuffer.append(TEXT_26);

-				}

-				stringBuffer.append(TEXT_27);

-				stringBuffer.append(genFeature.getCapName());

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_28);

-				}

-				stringBuffer.append(TEXT_29);

-			} else if (genFeature.hasSettingDelegate()) {

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_31);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_32);

-					stringBuffer.append(genFeature.getObjectType(genClass));

-					stringBuffer.append(TEXT_33);

-				}

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genFeature.getCapName());

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_35);

-				}

-				stringBuffer.append(TEXT_36);

-			} else if (!genFeature.isVolatile()) {

-				if (genFeature.isContainer()) {

-					GenFeature reverseFeature = genFeature.getReverse();

-					GenClass targetClass = reverseFeature.getGenClass();

-					String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-							+ genClass.getOffsetCorrectionField(genFeature) : "";

-					stringBuffer.append(TEXT_37);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_38);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_39);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_40);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));

-					stringBuffer.append(TEXT_41);

-					stringBuffer.append(genFeature.getEObjectCast());

-					stringBuffer.append(TEXT_42);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_43);

-					stringBuffer.append(genModel.getImportedName("java.lang.IllegalArgumentException"));

-					stringBuffer.append(TEXT_44);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(TEXT_45);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_47);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-					stringBuffer.append(TEXT_48);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_49);

-					stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-					stringBuffer.append(reverseOffsetCorrection);

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(targetClass.getRawImportedInterfaceName());

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_52);

-					stringBuffer.append(genFeature.getInternalTypeCast());

-					stringBuffer.append(TEXT_53);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_54);

-					if (!genModel.isSuppressNotification()) {

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-						stringBuffer.append(TEXT_56);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-						stringBuffer.append(TEXT_57);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_58);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_59);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_60);

-					}

-				} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_61);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_62);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_63);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_64);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_65);

-					}

-					stringBuffer.append(TEXT_66);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_67);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_68);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-					stringBuffer.append(TEXT_69);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_70);

-					if (!genFeature.isBidirectional()) {

-						stringBuffer.append(TEXT_71);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_72);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_73);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(negativeOffsetCorrection);

-						stringBuffer.append(TEXT_74);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_75);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_76);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_77);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(negativeOffsetCorrection);

-						stringBuffer.append(TEXT_78);

-					} else {

-						GenFeature reverseFeature = genFeature.getReverse();

-						GenClass targetClass = reverseFeature.getGenClass();

-						String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-								+ genClass.getOffsetCorrectionField(genFeature) : "";

-						stringBuffer.append(TEXT_79);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_80);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_81);

-						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-						stringBuffer.append(reverseOffsetCorrection);

-						stringBuffer.append(TEXT_82);

-						stringBuffer.append(targetClass.getRawImportedInterfaceName());

-						stringBuffer.append(TEXT_83);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_84);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_85);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_86);

-						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-						stringBuffer.append(reverseOffsetCorrection);

-						stringBuffer.append(TEXT_87);

-						stringBuffer.append(targetClass.getRawImportedInterfaceName());

-						stringBuffer.append(TEXT_88);

-					}

-					stringBuffer.append(TEXT_89);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_90);

-					stringBuffer.append(genFeature.getInternalTypeCast());

-					stringBuffer.append(TEXT_91);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_92);

-					if (genFeature.isUnsettable()) {

-						stringBuffer.append(TEXT_93);

-						if (genModel.isVirtualDelegation()) {

-							stringBuffer.append(TEXT_94);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_95);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_96);

-						} else if (genClass.isESetFlag(genFeature)) {

-							if (!genModel.isSuppressNotification()) {

-								stringBuffer.append(TEXT_97);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_98);

-								stringBuffer.append(genClass.getESetFlagsField(genFeature));

-								stringBuffer.append(TEXT_99);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_100);

-							}

-							stringBuffer.append(TEXT_101);

-							stringBuffer.append(genClass.getESetFlagsField(genFeature));

-							stringBuffer.append(TEXT_102);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_103);

-						} else {

-							if (!genModel.isSuppressNotification()) {

-								stringBuffer.append(TEXT_104);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_105);

-								stringBuffer.append(genFeature.getUncapName());

-								stringBuffer.append(TEXT_106);

-							}

-							stringBuffer.append(TEXT_107);

-							stringBuffer.append(genFeature.getUncapName());

-							stringBuffer.append(TEXT_108);

-						}

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_109);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_110);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_111);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_112);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_113);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_114);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_115);

-						}

-						stringBuffer.append(TEXT_116);

-					} else {

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_117);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_118);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_119);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_120);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_121);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_122);

-						}

-					}

-				} else {

-					if (genClass.isFlag(genFeature)) {

-						if (!genModel.isSuppressNotification()) {

-							if (genFeature.isBooleanType()) {

-								stringBuffer.append(TEXT_123);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_124);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_125);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_126);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_127);

-							} else {

-								stringBuffer.append(TEXT_128);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_129);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_130);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_131);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_132);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_133);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_134);

-							}

-						}

-						if (genFeature.isBooleanType()) {

-							stringBuffer.append(TEXT_135);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_136);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_137);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_138);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_139);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_140);

-						} else {

-							stringBuffer.append(TEXT_141);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_142);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_143);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_144);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_145);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_146);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_147);

-							if (isJDK50) {

-								stringBuffer.append(TEXT_148);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_149);

-							} else {

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_150);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_151);

-							}

-							stringBuffer.append(TEXT_152);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_153);

-						}

-					} else {

-						if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {

-							if (!genModel.isSuppressNotification()) {

-								stringBuffer.append(TEXT_154);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_155);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_156);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_157);

-							}

-						}

-						if (genFeature.isEnumType()) {

-							if (genModel.isVirtualDelegation()) {

-								stringBuffer.append(TEXT_158);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_159);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_160);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_161);

-								stringBuffer.append(genFeature.getEDefault());

-								stringBuffer.append(TEXT_162);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_163);

-							} else {

-								stringBuffer.append(TEXT_164);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_165);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_166);

-								stringBuffer.append(genFeature.getEDefault());

-								stringBuffer.append(TEXT_167);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_168);

-							}

-						} else {

-							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_169);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_170);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_171);

-								stringBuffer.append(genFeature.getInternalTypeCast());

-								stringBuffer.append(TEXT_172);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_173);

-							} else {

-								stringBuffer.append(TEXT_174);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_175);

-								stringBuffer.append(genFeature.getInternalTypeCast());

-								stringBuffer.append(TEXT_176);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_177);

-							}

-						}

-						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-							stringBuffer.append(TEXT_178);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_179);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_180);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_181);

-						}

-					}

-					if (genFeature.isUnsettable()) {

-						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-							stringBuffer.append(TEXT_182);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_183);

-						} else if (genClass.isESetFlag(genFeature)) {

-							if (!genModel.isSuppressNotification()) {

-								stringBuffer.append(TEXT_184);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_185);

-								stringBuffer.append(genClass.getESetFlagsField(genFeature));

-								stringBuffer.append(TEXT_186);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_187);

-							}

-							stringBuffer.append(TEXT_188);

-							stringBuffer.append(genClass.getESetFlagsField(genFeature));

-							stringBuffer.append(TEXT_189);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_190);

-						} else {

-							if (!genModel.isSuppressNotification()) {

-								stringBuffer.append(TEXT_191);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_192);

-								stringBuffer.append(genFeature.getUncapName());

-								stringBuffer.append(TEXT_193);

-							}

-							stringBuffer.append(TEXT_194);

-							stringBuffer.append(genFeature.getUncapName());

-							stringBuffer.append(TEXT_195);

-						}

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_196);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_197);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_198);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_199);

-							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_200);

-								stringBuffer.append(genFeature.getEDefault());

-								stringBuffer.append(TEXT_201);

-								stringBuffer.append(genFeature.getCapName());

-							} else {

-								stringBuffer.append(TEXT_202);

-								stringBuffer.append(genFeature.getCapName());

-							}

-							stringBuffer.append(TEXT_203);

-							if (genClass.isFlag(genFeature)) {

-								stringBuffer.append(TEXT_204);

-								stringBuffer.append(genFeature.getCapName());

-							} else {

-								stringBuffer.append(genFeature.getSafeName());

-							}

-							stringBuffer.append(TEXT_205);

-							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_206);

-							} else {

-								stringBuffer.append(TEXT_207);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_208);

-							}

-							stringBuffer.append(TEXT_209);

-						}

-					} else {

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_210);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_211);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_212);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_213);

-							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_214);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_215);

-								stringBuffer.append(genFeature.getEDefault());

-								stringBuffer.append(TEXT_216);

-								stringBuffer.append(genFeature.getCapName());

-							} else {

-								stringBuffer.append(TEXT_217);

-								stringBuffer.append(genFeature.getCapName());

-							}

-							stringBuffer.append(TEXT_218);

-							if (genClass.isFlag(genFeature)) {

-								stringBuffer.append(TEXT_219);

-								stringBuffer.append(genFeature.getCapName());

-							} else {

-								stringBuffer.append(genFeature.getSafeName());

-							}

-							stringBuffer.append(TEXT_220);

-						}

-					}

-				}

-				stringBuffer.append(TEXT_221);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("setAccessorOperation", setAccessorOperation);

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qMaMGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			} else if (genFeature.hasDelegateFeature()) {

-				GenFeature delegateFeature = genFeature.getDelegateFeature();

-				if (delegateFeature.isWrappedFeatureMapType()) {

-					stringBuffer.append(TEXT_222);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_223);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_224);

-					stringBuffer.append(delegateFeature.getAccessorName());

-					stringBuffer.append(TEXT_225);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_226);

-					if (!isJDK50 && genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_227);

-						stringBuffer.append(genFeature.getObjectType(genClass));

-						stringBuffer.append(TEXT_228);

-					}

-					stringBuffer.append(TEXT_229);

-					stringBuffer.append(genFeature.getCapName());

-					if (!isJDK50 && genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_230);

-					}

-					stringBuffer.append(TEXT_231);

-				} else {

-					stringBuffer.append(TEXT_232);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_233);

-					stringBuffer.append(delegateFeature.getAccessorName());

-					stringBuffer.append(TEXT_234);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_235);

-					if (!isJDK50 && genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_236);

-						stringBuffer.append(genFeature.getObjectType(genClass));

-						stringBuffer.append(TEXT_237);

-					}

-					stringBuffer.append(TEXT_238);

-					stringBuffer.append(genFeature.getCapName());

-					if (!isJDK50 && genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_239);

-					}

-					stringBuffer.append(TEXT_240);

-				}

-			} else if (setAccessorOperation != null) {

-				stringBuffer.append(TEXT_241);

-				stringBuffer.append(setAccessorOperation.getBody(genModel.getIndentation(stringBuffer)));

-			} else {

-				stringBuffer.append(TEXT_242);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.TODO.override" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("setAccessorOperation", setAccessorOperation);

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qMaRWJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//Class/setGenFeature.todo.override.javajetinc

-			}

-			stringBuffer.append(TEXT_243);

-		}

-		stringBuffer.append(TEXT_244);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ClasssetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClasssetGenFeatureoverride result = new ClasssetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL + "\tvoid set";
+	protected final String TEXT_6 = "(";
+	protected final String TEXT_7 = " value);" + NL;
+	protected final String TEXT_8 = NL + "\tpublic void set";
+	protected final String TEXT_9 = "_";
+	protected final String TEXT_10 = "(";
+	protected final String TEXT_11 = " ";
+	protected final String TEXT_12 = ")" + NL + "\t{";
+	protected final String TEXT_13 = NL;
+	protected final String TEXT_14 = NL + "\t\teDynamicSet(";
+	protected final String TEXT_15 = " - ESTATIC_FEATURE_COUNT";
+	protected final String TEXT_16 = ", ";
+	protected final String TEXT_17 = ", ";
+	protected final String TEXT_18 = "new ";
+	protected final String TEXT_19 = "(";
+	protected final String TEXT_20 = "new";
+	protected final String TEXT_21 = ")";
+	protected final String TEXT_22 = ");";
+	protected final String TEXT_23 = NL + "\t\teSet(";
+	protected final String TEXT_24 = ", ";
+	protected final String TEXT_25 = "new ";
+	protected final String TEXT_26 = "(";
+	protected final String TEXT_27 = "new";
+	protected final String TEXT_28 = ")";
+	protected final String TEXT_29 = ");";
+	protected final String TEXT_30 = NL + "\t\t";
+	protected final String TEXT_31 = "__ESETTING_DELEGATE.dynamicSet(this, null, 0, ";
+	protected final String TEXT_32 = "new ";
+	protected final String TEXT_33 = "(";
+	protected final String TEXT_34 = "new";
+	protected final String TEXT_35 = ")";
+	protected final String TEXT_36 = ");";
+	protected final String TEXT_37 = NL + "\t\tif (new";
+	protected final String TEXT_38 = " != eInternalContainer() || (eContainerFeatureID() != ";
+	protected final String TEXT_39 = " && new";
+	protected final String TEXT_40 = " != null))" + NL + "\t\t{" + NL + "\t\t\tif (";
+	protected final String TEXT_41 = ".isAncestor(this, ";
+	protected final String TEXT_42 = "new";
+	protected final String TEXT_43 = "))" + NL + "\t\t\t\tthrow new ";
+	protected final String TEXT_44 = "(\"Recursive containment not allowed for \" + toString());";
+	protected final String TEXT_45 = NL + "\t\t\t";
+	protected final String TEXT_46 = " msgs = null;" + NL + "\t\t\tif (eInternalContainer() != null)" + NL
+			+ "\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);" + NL + "\t\t\tif (new";
+	protected final String TEXT_47 = " != null)" + NL + "\t\t\t\tmsgs = ((";
+	protected final String TEXT_48 = ")new";
+	protected final String TEXT_49 = ").eInverseAdd(this, ";
+	protected final String TEXT_50 = ", ";
+	protected final String TEXT_51 = ".class, msgs);" + NL + "\t\t\tmsgs = basicSet";
+	protected final String TEXT_52 = "(";
+	protected final String TEXT_53 = "new";
+	protected final String TEXT_54 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";
+	protected final String TEXT_55 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+	protected final String TEXT_56 = "(this, ";
+	protected final String TEXT_57 = ".SET, ";
+	protected final String TEXT_58 = ", new";
+	protected final String TEXT_59 = ", new";
+	protected final String TEXT_60 = "));";
+	protected final String TEXT_61 = NL + "\t\t";
+	protected final String TEXT_62 = " ";
+	protected final String TEXT_63 = " = (";
+	protected final String TEXT_64 = ")eVirtualGet(";
+	protected final String TEXT_65 = ");";
+	protected final String TEXT_66 = NL + "\t\tif (new";
+	protected final String TEXT_67 = " != ";
+	protected final String TEXT_68 = ")" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_69 = " msgs = null;" + NL + "\t\t\tif (";
+	protected final String TEXT_70 = " != null)";
+	protected final String TEXT_71 = NL + "\t\t\t\tmsgs = ((";
+	protected final String TEXT_72 = ")";
+	protected final String TEXT_73 = ").eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+	protected final String TEXT_74 = ", null, msgs);" + NL + "\t\t\tif (new";
+	protected final String TEXT_75 = " != null)" + NL + "\t\t\t\tmsgs = ((";
+	protected final String TEXT_76 = ")new";
+	protected final String TEXT_77 = ").eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";
+	protected final String TEXT_78 = ", null, msgs);";
+	protected final String TEXT_79 = NL + "\t\t\t\tmsgs = ((";
+	protected final String TEXT_80 = ")";
+	protected final String TEXT_81 = ").eInverseRemove(this, ";
+	protected final String TEXT_82 = ", ";
+	protected final String TEXT_83 = ".class, msgs);" + NL + "\t\t\tif (new";
+	protected final String TEXT_84 = " != null)" + NL + "\t\t\t\tmsgs = ((";
+	protected final String TEXT_85 = ")new";
+	protected final String TEXT_86 = ").eInverseAdd(this, ";
+	protected final String TEXT_87 = ", ";
+	protected final String TEXT_88 = ".class, msgs);";
+	protected final String TEXT_89 = NL + "\t\t\tmsgs = basicSet";
+	protected final String TEXT_90 = "(";
+	protected final String TEXT_91 = "new";
+	protected final String TEXT_92 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";
+	protected final String TEXT_93 = NL + "\t\telse" + NL + "\t\t{";
+	protected final String TEXT_94 = NL + "\t\t\tboolean old";
+	protected final String TEXT_95 = "ESet = eVirtualIsSet(";
+	protected final String TEXT_96 = ");";
+	protected final String TEXT_97 = NL + "\t\t\tboolean old";
+	protected final String TEXT_98 = "ESet = (";
+	protected final String TEXT_99 = " & ";
+	protected final String TEXT_100 = "_ESETFLAG) != 0;";
+	protected final String TEXT_101 = NL + "\t\t\t";
+	protected final String TEXT_102 = " |= ";
+	protected final String TEXT_103 = "_ESETFLAG;";
+	protected final String TEXT_104 = NL + "\t\t\tboolean old";
+	protected final String TEXT_105 = "ESet = ";
+	protected final String TEXT_106 = "ESet;";
+	protected final String TEXT_107 = NL + "\t\t\t";
+	protected final String TEXT_108 = "ESet = true;";
+	protected final String TEXT_109 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";
+	protected final String TEXT_110 = "(this, ";
+	protected final String TEXT_111 = ".SET, ";
+	protected final String TEXT_112 = ", new";
+	protected final String TEXT_113 = ", new";
+	protected final String TEXT_114 = ", !old";
+	protected final String TEXT_115 = "ESet));";
+	protected final String TEXT_116 = NL + "\t\t}";
+	protected final String TEXT_117 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+	protected final String TEXT_118 = "(this, ";
+	protected final String TEXT_119 = ".SET, ";
+	protected final String TEXT_120 = ", new";
+	protected final String TEXT_121 = ", new";
+	protected final String TEXT_122 = "));";
+	protected final String TEXT_123 = NL + "\t\t";
+	protected final String TEXT_124 = " old";
+	protected final String TEXT_125 = " = (";
+	protected final String TEXT_126 = " & ";
+	protected final String TEXT_127 = "_EFLAG) != 0;";
+	protected final String TEXT_128 = NL + "\t\t";
+	protected final String TEXT_129 = " old";
+	protected final String TEXT_130 = " = ";
+	protected final String TEXT_131 = "_EFLAG_VALUES[(";
+	protected final String TEXT_132 = " & ";
+	protected final String TEXT_133 = "_EFLAG) >>> ";
+	protected final String TEXT_134 = "_EFLAG_OFFSET];";
+	protected final String TEXT_135 = NL + "\t\tif (new";
+	protected final String TEXT_136 = ") ";
+	protected final String TEXT_137 = " |= ";
+	protected final String TEXT_138 = "_EFLAG; else ";
+	protected final String TEXT_139 = " &= ~";
+	protected final String TEXT_140 = "_EFLAG;";
+	protected final String TEXT_141 = NL + "\t\tif (new";
+	protected final String TEXT_142 = " == null) new";
+	protected final String TEXT_143 = " = ";
+	protected final String TEXT_144 = "_EDEFAULT;" + NL + "\t\t";
+	protected final String TEXT_145 = " = ";
+	protected final String TEXT_146 = " & ~";
+	protected final String TEXT_147 = "_EFLAG | ";
+	protected final String TEXT_148 = "new";
+	protected final String TEXT_149 = ".ordinal()";
+	protected final String TEXT_150 = ".VALUES.indexOf(new";
+	protected final String TEXT_151 = ")";
+	protected final String TEXT_152 = " << ";
+	protected final String TEXT_153 = "_EFLAG_OFFSET;";
+	protected final String TEXT_154 = NL + "\t\t";
+	protected final String TEXT_155 = " old";
+	protected final String TEXT_156 = " = ";
+	protected final String TEXT_157 = ";";
+	protected final String TEXT_158 = NL + "\t\t";
+	protected final String TEXT_159 = " ";
+	protected final String TEXT_160 = " = new";
+	protected final String TEXT_161 = " == null ? ";
+	protected final String TEXT_162 = " : new";
+	protected final String TEXT_163 = ";";
+	protected final String TEXT_164 = NL + "\t\t";
+	protected final String TEXT_165 = " = new";
+	protected final String TEXT_166 = " == null ? ";
+	protected final String TEXT_167 = " : new";
+	protected final String TEXT_168 = ";";
+	protected final String TEXT_169 = NL + "\t\t";
+	protected final String TEXT_170 = " ";
+	protected final String TEXT_171 = " = ";
+	protected final String TEXT_172 = "new";
+	protected final String TEXT_173 = ";";
+	protected final String TEXT_174 = NL + "\t\t";
+	protected final String TEXT_175 = " = ";
+	protected final String TEXT_176 = "new";
+	protected final String TEXT_177 = ";";
+	protected final String TEXT_178 = NL + "\t\tObject old";
+	protected final String TEXT_179 = " = eVirtualSet(";
+	protected final String TEXT_180 = ", ";
+	protected final String TEXT_181 = ");";
+	protected final String TEXT_182 = NL + "\t\tboolean isSetChange = old";
+	protected final String TEXT_183 = " == EVIRTUAL_NO_VALUE;";
+	protected final String TEXT_184 = NL + "\t\tboolean old";
+	protected final String TEXT_185 = "ESet = (";
+	protected final String TEXT_186 = " & ";
+	protected final String TEXT_187 = "_ESETFLAG) != 0;";
+	protected final String TEXT_188 = NL + "\t\t";
+	protected final String TEXT_189 = " |= ";
+	protected final String TEXT_190 = "_ESETFLAG;";
+	protected final String TEXT_191 = NL + "\t\tboolean old";
+	protected final String TEXT_192 = "ESet = ";
+	protected final String TEXT_193 = "ESet;";
+	protected final String TEXT_194 = NL + "\t\t";
+	protected final String TEXT_195 = "ESet = true;";
+	protected final String TEXT_196 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+	protected final String TEXT_197 = "(this, ";
+	protected final String TEXT_198 = ".SET, ";
+	protected final String TEXT_199 = ", ";
+	protected final String TEXT_200 = "isSetChange ? ";
+	protected final String TEXT_201 = " : old";
+	protected final String TEXT_202 = "old";
+	protected final String TEXT_203 = ", ";
+	protected final String TEXT_204 = "new";
+	protected final String TEXT_205 = ", ";
+	protected final String TEXT_206 = "isSetChange";
+	protected final String TEXT_207 = "!old";
+	protected final String TEXT_208 = "ESet";
+	protected final String TEXT_209 = "));";
+	protected final String TEXT_210 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+	protected final String TEXT_211 = "(this, ";
+	protected final String TEXT_212 = ".SET, ";
+	protected final String TEXT_213 = ", ";
+	protected final String TEXT_214 = "old";
+	protected final String TEXT_215 = " == EVIRTUAL_NO_VALUE ? ";
+	protected final String TEXT_216 = " : old";
+	protected final String TEXT_217 = "old";
+	protected final String TEXT_218 = ", ";
+	protected final String TEXT_219 = "new";
+	protected final String TEXT_220 = "));";
+	protected final String TEXT_221 = NL;
+	protected final String TEXT_222 = NL + "\t\t((";
+	protected final String TEXT_223 = ".Internal)((";
+	protected final String TEXT_224 = ".Internal.Wrapper)get";
+	protected final String TEXT_225 = "()).featureMap()).set(";
+	protected final String TEXT_226 = ", ";
+	protected final String TEXT_227 = "new ";
+	protected final String TEXT_228 = "(";
+	protected final String TEXT_229 = "new";
+	protected final String TEXT_230 = ")";
+	protected final String TEXT_231 = ");";
+	protected final String TEXT_232 = NL + "\t\t((";
+	protected final String TEXT_233 = ".Internal)get";
+	protected final String TEXT_234 = "()).set(";
+	protected final String TEXT_235 = ", ";
+	protected final String TEXT_236 = "new ";
+	protected final String TEXT_237 = "(";
+	protected final String TEXT_238 = "new";
+	protected final String TEXT_239 = ")";
+	protected final String TEXT_240 = ");";
+	protected final String TEXT_241 = NL + "\t\t";
+	protected final String TEXT_242 = NL;
+	protected final String TEXT_243 = NL + "\t}" + NL;
+	protected final String TEXT_244 = NL;
+	protected final String TEXT_245 = NL;
+	protected final String TEXT_246 = NL;
+
+	public ClasssetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_245);
+		stringBuffer.append(TEXT_246);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isInterface) {
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nXIoGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/setGenFeature.javadoc.override.javajetinc
+		} else {
+			stringBuffer.append(TEXT_3);
+			if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_4);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nqqoGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+		}
+		if (!isImplementation) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_7);
+		} else {
+			GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genFeature.getAccessorName());
+			if (genClass.hasCollidingSetAccessorOperation(genFeature)) {
+				stringBuffer.append(TEXT_9);
+			}
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_11);
+			stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()
+					: setAccessorOperation.getGenParameters().get(0).getName());
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(TEXT_13);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("setAccessorOperation", setAccessorOperation);
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0nz0kGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			if (genModel.isDynamicDelegation()) {
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				if (genClass.hasStaticFeatures()) {
+					stringBuffer.append(TEXT_15);
+				}
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_17);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_18);
+					stringBuffer.append(genFeature.getObjectType(genClass));
+					stringBuffer.append(TEXT_19);
+				}
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genFeature.getCapName());
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_21);
+				}
+				stringBuffer.append(TEXT_22);
+			} else if (genModel.isReflectiveDelegation()) {
+				stringBuffer.append(TEXT_23);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_24);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(genFeature.getObjectType(genClass));
+					stringBuffer.append(TEXT_26);
+				}
+				stringBuffer.append(TEXT_27);
+				stringBuffer.append(genFeature.getCapName());
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_28);
+				}
+				stringBuffer.append(TEXT_29);
+			} else if (genFeature.hasSettingDelegate()) {
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_31);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_32);
+					stringBuffer.append(genFeature.getObjectType(genClass));
+					stringBuffer.append(TEXT_33);
+				}
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genFeature.getCapName());
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_35);
+				}
+				stringBuffer.append(TEXT_36);
+			} else if (!genFeature.isVolatile()) {
+				if (genFeature.isContainer()) {
+					GenFeature reverseFeature = genFeature.getReverse();
+					GenClass targetClass = reverseFeature.getGenClass();
+					String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+							? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+					stringBuffer.append(TEXT_37);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_38);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_39);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_40);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));
+					stringBuffer.append(TEXT_41);
+					stringBuffer.append(genFeature.getEObjectCast());
+					stringBuffer.append(TEXT_42);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_43);
+					stringBuffer.append(genModel.getImportedName("java.lang.IllegalArgumentException"));
+					stringBuffer.append(TEXT_44);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(TEXT_45);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_47);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+					stringBuffer.append(TEXT_48);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_49);
+					stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+					stringBuffer.append(reverseOffsetCorrection);
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(targetClass.getRawImportedInterfaceName());
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_52);
+					stringBuffer.append(genFeature.getInternalTypeCast());
+					stringBuffer.append(TEXT_53);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_54);
+					if (!genModel.isSuppressNotification()) {
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+						stringBuffer.append(TEXT_56);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+						stringBuffer.append(TEXT_57);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_58);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_59);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_60);
+					}
+				} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_61);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_62);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_63);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_64);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_65);
+					}
+					stringBuffer.append(TEXT_66);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_67);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_68);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+					stringBuffer.append(TEXT_69);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_70);
+					if (!genFeature.isBidirectional()) {
+						stringBuffer.append(TEXT_71);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_72);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_73);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(negativeOffsetCorrection);
+						stringBuffer.append(TEXT_74);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_75);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_76);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_77);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(negativeOffsetCorrection);
+						stringBuffer.append(TEXT_78);
+					} else {
+						GenFeature reverseFeature = genFeature.getReverse();
+						GenClass targetClass = reverseFeature.getGenClass();
+						String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+								? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+						stringBuffer.append(TEXT_79);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_80);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_81);
+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+						stringBuffer.append(reverseOffsetCorrection);
+						stringBuffer.append(TEXT_82);
+						stringBuffer.append(targetClass.getRawImportedInterfaceName());
+						stringBuffer.append(TEXT_83);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_84);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_85);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_86);
+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+						stringBuffer.append(reverseOffsetCorrection);
+						stringBuffer.append(TEXT_87);
+						stringBuffer.append(targetClass.getRawImportedInterfaceName());
+						stringBuffer.append(TEXT_88);
+					}
+					stringBuffer.append(TEXT_89);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_90);
+					stringBuffer.append(genFeature.getInternalTypeCast());
+					stringBuffer.append(TEXT_91);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_92);
+					if (genFeature.isUnsettable()) {
+						stringBuffer.append(TEXT_93);
+						if (genModel.isVirtualDelegation()) {
+							stringBuffer.append(TEXT_94);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_95);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_96);
+						} else if (genClass.isESetFlag(genFeature)) {
+							if (!genModel.isSuppressNotification()) {
+								stringBuffer.append(TEXT_97);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_98);
+								stringBuffer.append(genClass.getESetFlagsField(genFeature));
+								stringBuffer.append(TEXT_99);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_100);
+							}
+							stringBuffer.append(TEXT_101);
+							stringBuffer.append(genClass.getESetFlagsField(genFeature));
+							stringBuffer.append(TEXT_102);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_103);
+						} else {
+							if (!genModel.isSuppressNotification()) {
+								stringBuffer.append(TEXT_104);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_105);
+								stringBuffer.append(genFeature.getUncapName());
+								stringBuffer.append(TEXT_106);
+							}
+							stringBuffer.append(TEXT_107);
+							stringBuffer.append(genFeature.getUncapName());
+							stringBuffer.append(TEXT_108);
+						}
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_109);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_110);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_111);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_112);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_113);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_114);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_115);
+						}
+						stringBuffer.append(TEXT_116);
+					} else {
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_117);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_118);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_119);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_120);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_121);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_122);
+						}
+					}
+				} else {
+					if (genClass.isFlag(genFeature)) {
+						if (!genModel.isSuppressNotification()) {
+							if (genFeature.isBooleanType()) {
+								stringBuffer.append(TEXT_123);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_124);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_125);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_126);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_127);
+							} else {
+								stringBuffer.append(TEXT_128);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_129);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_130);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_131);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_132);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_133);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_134);
+							}
+						}
+						if (genFeature.isBooleanType()) {
+							stringBuffer.append(TEXT_135);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_136);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_137);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_138);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_139);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_140);
+						} else {
+							stringBuffer.append(TEXT_141);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_142);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_143);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_144);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_145);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_146);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_147);
+							if (isJDK50) {
+								stringBuffer.append(TEXT_148);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_149);
+							} else {
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_150);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_151);
+							}
+							stringBuffer.append(TEXT_152);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_153);
+						}
+					} else {
+						if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
+							if (!genModel.isSuppressNotification()) {
+								stringBuffer.append(TEXT_154);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_155);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_156);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_157);
+							}
+						}
+						if (genFeature.isEnumType()) {
+							if (genModel.isVirtualDelegation()) {
+								stringBuffer.append(TEXT_158);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_159);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_160);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_161);
+								stringBuffer.append(genFeature.getEDefault());
+								stringBuffer.append(TEXT_162);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_163);
+							} else {
+								stringBuffer.append(TEXT_164);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_165);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_166);
+								stringBuffer.append(genFeature.getEDefault());
+								stringBuffer.append(TEXT_167);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_168);
+							}
+						} else {
+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_169);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_170);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_171);
+								stringBuffer.append(genFeature.getInternalTypeCast());
+								stringBuffer.append(TEXT_172);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_173);
+							} else {
+								stringBuffer.append(TEXT_174);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_175);
+								stringBuffer.append(genFeature.getInternalTypeCast());
+								stringBuffer.append(TEXT_176);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_177);
+							}
+						}
+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+							stringBuffer.append(TEXT_178);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_179);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_180);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_181);
+						}
+					}
+					if (genFeature.isUnsettable()) {
+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+							stringBuffer.append(TEXT_182);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_183);
+						} else if (genClass.isESetFlag(genFeature)) {
+							if (!genModel.isSuppressNotification()) {
+								stringBuffer.append(TEXT_184);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_185);
+								stringBuffer.append(genClass.getESetFlagsField(genFeature));
+								stringBuffer.append(TEXT_186);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_187);
+							}
+							stringBuffer.append(TEXT_188);
+							stringBuffer.append(genClass.getESetFlagsField(genFeature));
+							stringBuffer.append(TEXT_189);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_190);
+						} else {
+							if (!genModel.isSuppressNotification()) {
+								stringBuffer.append(TEXT_191);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_192);
+								stringBuffer.append(genFeature.getUncapName());
+								stringBuffer.append(TEXT_193);
+							}
+							stringBuffer.append(TEXT_194);
+							stringBuffer.append(genFeature.getUncapName());
+							stringBuffer.append(TEXT_195);
+						}
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_196);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_197);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_198);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_199);
+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_200);
+								stringBuffer.append(genFeature.getEDefault());
+								stringBuffer.append(TEXT_201);
+								stringBuffer.append(genFeature.getCapName());
+							} else {
+								stringBuffer.append(TEXT_202);
+								stringBuffer.append(genFeature.getCapName());
+							}
+							stringBuffer.append(TEXT_203);
+							if (genClass.isFlag(genFeature)) {
+								stringBuffer.append(TEXT_204);
+								stringBuffer.append(genFeature.getCapName());
+							} else {
+								stringBuffer.append(genFeature.getSafeName());
+							}
+							stringBuffer.append(TEXT_205);
+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_206);
+							} else {
+								stringBuffer.append(TEXT_207);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_208);
+							}
+							stringBuffer.append(TEXT_209);
+						}
+					} else {
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_210);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_211);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_212);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_213);
+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_214);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_215);
+								stringBuffer.append(genFeature.getEDefault());
+								stringBuffer.append(TEXT_216);
+								stringBuffer.append(genFeature.getCapName());
+							} else {
+								stringBuffer.append(TEXT_217);
+								stringBuffer.append(genFeature.getCapName());
+							}
+							stringBuffer.append(TEXT_218);
+							if (genClass.isFlag(genFeature)) {
+								stringBuffer.append(TEXT_219);
+								stringBuffer.append(genFeature.getCapName());
+							} else {
+								stringBuffer.append(genFeature.getSafeName());
+							}
+							stringBuffer.append(TEXT_220);
+						}
+					}
+				}
+				stringBuffer.append(TEXT_221);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("setAccessorOperation", setAccessorOperation);
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qMaMGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			} else if (genFeature.hasDelegateFeature()) {
+				GenFeature delegateFeature = genFeature.getDelegateFeature();
+				if (delegateFeature.isWrappedFeatureMapType()) {
+					stringBuffer.append(TEXT_222);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_223);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_224);
+					stringBuffer.append(delegateFeature.getAccessorName());
+					stringBuffer.append(TEXT_225);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_226);
+					if (!isJDK50 && genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_227);
+						stringBuffer.append(genFeature.getObjectType(genClass));
+						stringBuffer.append(TEXT_228);
+					}
+					stringBuffer.append(TEXT_229);
+					stringBuffer.append(genFeature.getCapName());
+					if (!isJDK50 && genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_230);
+					}
+					stringBuffer.append(TEXT_231);
+				} else {
+					stringBuffer.append(TEXT_232);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_233);
+					stringBuffer.append(delegateFeature.getAccessorName());
+					stringBuffer.append(TEXT_234);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_235);
+					if (!isJDK50 && genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_236);
+						stringBuffer.append(genFeature.getObjectType(genClass));
+						stringBuffer.append(TEXT_237);
+					}
+					stringBuffer.append(TEXT_238);
+					stringBuffer.append(genFeature.getCapName());
+					if (!isJDK50 && genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_239);
+					}
+					stringBuffer.append(TEXT_240);
+				}
+			} else if (setAccessorOperation != null) {
+				stringBuffer.append(TEXT_241);
+				stringBuffer.append(setAccessorOperation.getBody(genModel.getIndentation(stringBuffer)));
+			} else {
+				stringBuffer.append(TEXT_242);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.setGenFeature.TODO.override" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("setAccessorOperation", setAccessorOperation);
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0qMaRWJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//Class/setGenFeature.todo.override.javajetinc
+			}
+			stringBuffer.append(TEXT_243);
+		}
+		stringBuffer.append(TEXT_244);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepostinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepostinsert.java
index 169f556..ac03130 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepostinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepostinsert.java
@@ -1,290 +1,290 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClasssetGenFeaturepostinsert {

-	protected static String nl;

-

-	public static synchronized ClasssetGenFeaturepostinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClasssetGenFeaturepostinsert result = new ClasssetGenFeaturepostinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClasssetGenFeaturepostinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> setAccessorOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object setAccessorOperationParameter : setAccessorOperationList) {

-			for (Object genFeatureParameter : genFeatureList) {

-				for (Object genClassParameter : genClassList) {

-					for (Object genPackageParameter : genPackageList) {

-						for (Object genModelParameter : genModelList) {

-							for (Object isJDK50Parameter : isJDK50List) {

-								for (Object isInterfaceParameter : isInterfaceList) {

-									for (Object isImplementationParameter : isImplementationList) {

-										for (Object isGWTParameter : isGWTList) {

-											for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-												for (Object singleWildcardParameter : singleWildcardList) {

-													for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-														for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-															for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-																for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																	this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;

-																	this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																	this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																	this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																	this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																	this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																	this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																	this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																	this.isGWT = (java.lang.Boolean) isGWTParameter;

-																	this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																	this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																	this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																	this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																	this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																	this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																	if (preCondition(ctx)) {

-																		ctx.setNode(new Node.Container(currentNode,

-																				getClass()));

-																		orchestration(ctx);

-																	}

-

-																}

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("setAccessorOperation", this.setAccessorOperation);

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;

-

-	public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.setAccessorOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("setAccessorOperation", this.setAccessorOperation);

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeaturepostinsert {
+	protected static String nl;
+
+	public static synchronized ClasssetGenFeaturepostinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClasssetGenFeaturepostinsert result = new ClasssetGenFeaturepostinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClasssetGenFeaturepostinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> setAccessorOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object setAccessorOperationParameter : setAccessorOperationList) {
+			for (Object genFeatureParameter : genFeatureList) {
+				for (Object genClassParameter : genClassList) {
+					for (Object genPackageParameter : genPackageList) {
+						for (Object genModelParameter : genModelList) {
+							for (Object isJDK50Parameter : isJDK50List) {
+								for (Object isInterfaceParameter : isInterfaceList) {
+									for (Object isImplementationParameter : isImplementationList) {
+										for (Object isGWTParameter : isGWTList) {
+											for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+												for (Object singleWildcardParameter : singleWildcardList) {
+													for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+														for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+															for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+																for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																	this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+																	this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																	this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																	this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																	this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																	this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																	this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																	this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																	this.isGWT = (java.lang.Boolean) isGWTParameter;
+																	this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																	this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																	this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																	this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																	this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																	this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																	if (preCondition(ctx)) {
+																		ctx.setNode(new Node.Container(currentNode,
+																				getClass()));
+																		orchestration(ctx);
+																	}
+
+																}
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+	public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.setAccessorOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("setAccessorOperation", this.setAccessorOperation);
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepreinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepreinsert.java
index 2c2f934..9f12e3e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepreinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClasssetGenFeaturepreinsert.java
@@ -1,290 +1,290 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClasssetGenFeaturepreinsert {

-	protected static String nl;

-

-	public static synchronized ClasssetGenFeaturepreinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClasssetGenFeaturepreinsert result = new ClasssetGenFeaturepreinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClasssetGenFeaturepreinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> setAccessorOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object setAccessorOperationParameter : setAccessorOperationList) {

-			for (Object genFeatureParameter : genFeatureList) {

-				for (Object genClassParameter : genClassList) {

-					for (Object genPackageParameter : genPackageList) {

-						for (Object genModelParameter : genModelList) {

-							for (Object isJDK50Parameter : isJDK50List) {

-								for (Object isInterfaceParameter : isInterfaceList) {

-									for (Object isImplementationParameter : isImplementationList) {

-										for (Object isGWTParameter : isGWTList) {

-											for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-												for (Object singleWildcardParameter : singleWildcardList) {

-													for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-														for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-															for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-																for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																	this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;

-																	this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																	this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																	this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																	this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																	this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																	this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																	this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																	this.isGWT = (java.lang.Boolean) isGWTParameter;

-																	this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																	this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																	this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																	this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																	this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																	this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																	if (preCondition(ctx)) {

-																		ctx.setNode(new Node.Container(currentNode,

-																				getClass()));

-																		orchestration(ctx);

-																	}

-

-																}

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("setAccessorOperation", this.setAccessorOperation);

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;

-

-	public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.setAccessorOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("setAccessorOperation", this.setAccessorOperation);

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClasssetGenFeaturepreinsert {
+	protected static String nl;
+
+	public static synchronized ClasssetGenFeaturepreinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClasssetGenFeaturepreinsert result = new ClasssetGenFeaturepreinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClasssetGenFeaturepreinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> setAccessorOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object setAccessorOperationParameter : setAccessorOperationList) {
+			for (Object genFeatureParameter : genFeatureList) {
+				for (Object genClassParameter : genClassList) {
+					for (Object genPackageParameter : genPackageList) {
+						for (Object genModelParameter : genModelList) {
+							for (Object isJDK50Parameter : isJDK50List) {
+								for (Object isInterfaceParameter : isInterfaceList) {
+									for (Object isImplementationParameter : isImplementationList) {
+										for (Object isGWTParameter : isGWTList) {
+											for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+												for (Object singleWildcardParameter : singleWildcardList) {
+													for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+														for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+															for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+																for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																	this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+																	this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																	this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																	this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																	this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																	this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																	this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																	this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																	this.isGWT = (java.lang.Boolean) isGWTParameter;
+																	this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																	this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																	this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																	this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																	this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																	this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																	if (preCondition(ctx)) {
+																		ctx.setNode(new Node.Container(currentNode,
+																				getClass()));
+																		orchestration(ctx);
+																	}
+
+																}
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+	public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.setAccessorOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("setAccessorOperation", this.setAccessorOperation);
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureTODOoverride.java
index a1ef2e0..eee0566 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureTODOoverride.java
@@ -1,286 +1,286 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassunsetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized ClassunsetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassunsetGenFeatureTODOoverride result = new ClassunsetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to unset the '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public ClassunsetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassunsetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized ClassunsetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassunsetGenFeatureTODOoverride result = new ClassunsetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to unset the '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public ClassunsetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureannotationsinsert.java
index b031268..b4f101f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassunsetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized ClassunsetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassunsetGenFeatureannotationsinsert result = new ClassunsetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassunsetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassunsetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized ClassunsetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassunsetGenFeatureannotationsinsert result = new ClassunsetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassunsetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocinsert.java
index 4606c62..75df0d9 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassunsetGenFeaturejavadocinsert {

-	protected static String nl;

-

-	public static synchronized ClassunsetGenFeaturejavadocinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassunsetGenFeaturejavadocinsert result = new ClassunsetGenFeaturejavadocinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ClassunsetGenFeaturejavadocinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassunsetGenFeaturejavadocinsert {
+	protected static String nl;
+
+	public static synchronized ClassunsetGenFeaturejavadocinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassunsetGenFeaturejavadocinsert result = new ClassunsetGenFeaturejavadocinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ClassunsetGenFeaturejavadocinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocoverride.java
index 3ff3519..a0e45a4 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeaturejavadocoverride.java
@@ -1,347 +1,347 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassunsetGenFeaturejavadocoverride {

-	protected static String nl;

-

-	public static synchronized ClassunsetGenFeaturejavadocoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassunsetGenFeaturejavadocoverride result = new ClassunsetGenFeaturejavadocoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Unsets the value of the '{@link ";

-	protected final String TEXT_2 = "#";

-	protected final String TEXT_3 = " <em>";

-	protected final String TEXT_4 = "</em>}' ";

-	protected final String TEXT_5 = ".";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

-	protected final String TEXT_8 = NL + "\t * @see #isSet";

-	protected final String TEXT_9 = "()";

-	protected final String TEXT_10 = NL + "\t * @see #";

-	protected final String TEXT_11 = "()";

-	protected final String TEXT_12 = NL + "\t * @see #set";

-	protected final String TEXT_13 = "(";

-	protected final String TEXT_14 = ")";

-	protected final String TEXT_15 = NL + "\t * @generated" + NL + "\t */" + NL;

-	protected final String TEXT_16 = NL;

-	protected final String TEXT_17 = NL;

-

-	public ClassunsetGenFeaturejavadocoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_16);

-		stringBuffer.append(TEXT_17);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genClass.getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(TEXT_6);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0rieAGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_7);

-		if (!genFeature.isSuppressedIsSetVisibility()) {

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_9);

-		}

-		stringBuffer.append(TEXT_10);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_11);

-		if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(genFeature.getRawImportedBoundType());

-			stringBuffer.append(TEXT_14);

-		}

-		stringBuffer.append(TEXT_15);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassunsetGenFeaturejavadocoverride {
+	protected static String nl;
+
+	public static synchronized ClassunsetGenFeaturejavadocoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassunsetGenFeaturejavadocoverride result = new ClassunsetGenFeaturejavadocoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Unsets the value of the '{@link ";
+	protected final String TEXT_2 = "#";
+	protected final String TEXT_3 = " <em>";
+	protected final String TEXT_4 = "</em>}' ";
+	protected final String TEXT_5 = ".";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+	protected final String TEXT_8 = NL + "\t * @see #isSet";
+	protected final String TEXT_9 = "()";
+	protected final String TEXT_10 = NL + "\t * @see #";
+	protected final String TEXT_11 = "()";
+	protected final String TEXT_12 = NL + "\t * @see #set";
+	protected final String TEXT_13 = "(";
+	protected final String TEXT_14 = ")";
+	protected final String TEXT_15 = NL + "\t * @generated" + NL + "\t */" + NL;
+	protected final String TEXT_16 = NL;
+	protected final String TEXT_17 = NL;
+
+	public ClassunsetGenFeaturejavadocoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_16);
+		stringBuffer.append(TEXT_17);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genClass.getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(TEXT_6);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0rieAGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_7);
+		if (!genFeature.isSuppressedIsSetVisibility()) {
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_9);
+		}
+		stringBuffer.append(TEXT_10);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_11);
+		if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(genFeature.getRawImportedBoundType());
+			stringBuffer.append(TEXT_14);
+		}
+		stringBuffer.append(TEXT_15);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureoverride.java
index 9536666..cbe2071 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Class/ClassunsetGenFeatureoverride.java
@@ -1,901 +1,899 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Class;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ClassunsetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized ClassunsetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ClassunsetGenFeatureoverride result = new ClassunsetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL + "\tvoid unset";

-	protected final String TEXT_6 = "();" + NL;

-	protected final String TEXT_7 = NL + "\tpublic void unset";

-	protected final String TEXT_8 = "_";

-	protected final String TEXT_9 = "()" + NL + "\t{";

-	protected final String TEXT_10 = NL + "\t\teDynamicUnset(";

-	protected final String TEXT_11 = " - ESTATIC_FEATURE_COUNT";

-	protected final String TEXT_12 = ", ";

-	protected final String TEXT_13 = ");";

-	protected final String TEXT_14 = NL + "\t\teUnset(";

-	protected final String TEXT_15 = ");";

-	protected final String TEXT_16 = NL + "\t\t";

-	protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";

-	protected final String TEXT_18 = NL + "\t\t";

-	protected final String TEXT_19 = " ";

-	protected final String TEXT_20 = " = (";

-	protected final String TEXT_21 = ")eVirtualGet(";

-	protected final String TEXT_22 = ");";

-	protected final String TEXT_23 = NL + "\t\tif (";

-	protected final String TEXT_24 = " != null) ((";

-	protected final String TEXT_25 = ".Unsettable";

-	protected final String TEXT_26 = ")";

-	protected final String TEXT_27 = ").unset();";

-	protected final String TEXT_28 = NL + "\t\t";

-	protected final String TEXT_29 = " ";

-	protected final String TEXT_30 = " = (";

-	protected final String TEXT_31 = ")eVirtualGet(";

-	protected final String TEXT_32 = ");";

-	protected final String TEXT_33 = NL + "\t\tif (";

-	protected final String TEXT_34 = " != null)" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_35 = " msgs = null;";

-	protected final String TEXT_36 = NL + "\t\t\tmsgs = ((";

-	protected final String TEXT_37 = ")";

-	protected final String TEXT_38 = ").eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

-	protected final String TEXT_39 = ", null, msgs);";

-	protected final String TEXT_40 = NL + "\t\t\tmsgs = ((";

-	protected final String TEXT_41 = ")";

-	protected final String TEXT_42 = ").eInverseRemove(this, ";

-	protected final String TEXT_43 = ", ";

-	protected final String TEXT_44 = ".class, msgs);";

-	protected final String TEXT_45 = NL + "\t\t\tmsgs = basicUnset";

-	protected final String TEXT_46 = "(msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}" + NL

-			+ "\t\telse" + NL + "\t\t{";

-	protected final String TEXT_47 = NL + "\t\t\tboolean old";

-	protected final String TEXT_48 = "ESet = eVirtualIsSet(";

-	protected final String TEXT_49 = ");";

-	protected final String TEXT_50 = NL + "\t\t\tboolean old";

-	protected final String TEXT_51 = "ESet = (";

-	protected final String TEXT_52 = " & ";

-	protected final String TEXT_53 = "_ESETFLAG) != 0;";

-	protected final String TEXT_54 = NL + "\t\t\t";

-	protected final String TEXT_55 = " &= ~";

-	protected final String TEXT_56 = "_ESETFLAG;";

-	protected final String TEXT_57 = NL + "\t\t\tboolean old";

-	protected final String TEXT_58 = "ESet = ";

-	protected final String TEXT_59 = "ESet;";

-	protected final String TEXT_60 = NL + "\t\t\t";

-	protected final String TEXT_61 = "ESet = false;";

-	protected final String TEXT_62 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";

-	protected final String TEXT_63 = "(this, ";

-	protected final String TEXT_64 = ".UNSET, ";

-	protected final String TEXT_65 = ", null, null, old";

-	protected final String TEXT_66 = "ESet));";

-	protected final String TEXT_67 = NL + "\t\t}";

-	protected final String TEXT_68 = NL + "\t\t";

-	protected final String TEXT_69 = " old";

-	protected final String TEXT_70 = " = (";

-	protected final String TEXT_71 = " & ";

-	protected final String TEXT_72 = "_EFLAG) != 0;";

-	protected final String TEXT_73 = NL + "\t\t";

-	protected final String TEXT_74 = " old";

-	protected final String TEXT_75 = " = ";

-	protected final String TEXT_76 = "_EFLAG_VALUES[(";

-	protected final String TEXT_77 = " & ";

-	protected final String TEXT_78 = "_EFLAG) >>> ";

-	protected final String TEXT_79 = "_EFLAG_OFFSET];";

-	protected final String TEXT_80 = NL + "\t\tObject old";

-	protected final String TEXT_81 = " = eVirtualUnset(";

-	protected final String TEXT_82 = ");";

-	protected final String TEXT_83 = NL + "\t\t";

-	protected final String TEXT_84 = " old";

-	protected final String TEXT_85 = " = ";

-	protected final String TEXT_86 = ";";

-	protected final String TEXT_87 = NL + "\t\tboolean isSetChange = old";

-	protected final String TEXT_88 = " != EVIRTUAL_NO_VALUE;";

-	protected final String TEXT_89 = NL + "\t\tboolean old";

-	protected final String TEXT_90 = "ESet = (";

-	protected final String TEXT_91 = " & ";

-	protected final String TEXT_92 = "_ESETFLAG) != 0;";

-	protected final String TEXT_93 = NL + "\t\tboolean old";

-	protected final String TEXT_94 = "ESet = ";

-	protected final String TEXT_95 = "ESet;";

-	protected final String TEXT_96 = NL + "\t\t";

-	protected final String TEXT_97 = " = null;";

-	protected final String TEXT_98 = NL + "\t\t";

-	protected final String TEXT_99 = " &= ~";

-	protected final String TEXT_100 = "_ESETFLAG;";

-	protected final String TEXT_101 = NL + "\t\t";

-	protected final String TEXT_102 = "ESet = false;";

-	protected final String TEXT_103 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

-	protected final String TEXT_104 = "(this, ";

-	protected final String TEXT_105 = ".UNSET, ";

-	protected final String TEXT_106 = ", ";

-	protected final String TEXT_107 = "isSetChange ? old";

-	protected final String TEXT_108 = " : null";

-	protected final String TEXT_109 = "old";

-	protected final String TEXT_110 = ", null, ";

-	protected final String TEXT_111 = "isSetChange";

-	protected final String TEXT_112 = "old";

-	protected final String TEXT_113 = "ESet";

-	protected final String TEXT_114 = "));";

-	protected final String TEXT_115 = NL + "\t\tif (";

-	protected final String TEXT_116 = ") ";

-	protected final String TEXT_117 = " |= ";

-	protected final String TEXT_118 = "_EFLAG; else ";

-	protected final String TEXT_119 = " &= ~";

-	protected final String TEXT_120 = "_EFLAG;";

-	protected final String TEXT_121 = NL + "\t\t";

-	protected final String TEXT_122 = " = ";

-	protected final String TEXT_123 = " & ~";

-	protected final String TEXT_124 = "_EFLAG | ";

-	protected final String TEXT_125 = "_EFLAG_DEFAULT;";

-	protected final String TEXT_126 = NL + "\t\t";

-	protected final String TEXT_127 = " = ";

-	protected final String TEXT_128 = ";";

-	protected final String TEXT_129 = NL + "\t\t";

-	protected final String TEXT_130 = " &= ~";

-	protected final String TEXT_131 = "_ESETFLAG;";

-	protected final String TEXT_132 = NL + "\t\t";

-	protected final String TEXT_133 = "ESet = false;";

-	protected final String TEXT_134 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

-	protected final String TEXT_135 = "(this, ";

-	protected final String TEXT_136 = ".UNSET, ";

-	protected final String TEXT_137 = ", ";

-	protected final String TEXT_138 = "isSetChange ? old";

-	protected final String TEXT_139 = " : ";

-	protected final String TEXT_140 = "old";

-	protected final String TEXT_141 = ", ";

-	protected final String TEXT_142 = ", ";

-	protected final String TEXT_143 = "isSetChange";

-	protected final String TEXT_144 = "old";

-	protected final String TEXT_145 = "ESet";

-	protected final String TEXT_146 = "));";

-	protected final String TEXT_147 = NL + "\t\t((";

-	protected final String TEXT_148 = ".Internal)((";

-	protected final String TEXT_149 = ".Internal.Wrapper)get";

-	protected final String TEXT_150 = "()).featureMap()).clear(";

-	protected final String TEXT_151 = ");";

-	protected final String TEXT_152 = NL + "\t\t((";

-	protected final String TEXT_153 = ".Internal)get";

-	protected final String TEXT_154 = "()).clear(";

-	protected final String TEXT_155 = ");";

-	protected final String TEXT_156 = NL + "\t\t";

-	protected final String TEXT_157 = NL;

-	protected final String TEXT_158 = NL + "\t}" + NL;

-	protected final String TEXT_159 = NL;

-	protected final String TEXT_160 = NL;

-	protected final String TEXT_161 = NL;

-

-	public ClassunsetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_160);

-		stringBuffer.append(TEXT_161);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isInterface) {

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0rPjEGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/unsetGenFeature.javadoc.override.javajetinc

-		} else {

-			stringBuffer.append(TEXT_3);

-			if (isJDK50) { //Class/unsetGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_4);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0rrn8GJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-		}

-		if (!isImplementation) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_6);

-		} else {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genFeature.getAccessorName());

-			if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {

-				stringBuffer.append(TEXT_8);

-			}

-			stringBuffer.append(TEXT_9);

-			if (genModel.isDynamicDelegation()) {

-				stringBuffer.append(TEXT_10);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				if (genClass.hasStaticFeatures()) {

-					stringBuffer.append(TEXT_11);

-				}

-				stringBuffer.append(TEXT_12);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_13);

-			} else if (genModel.isReflectiveDelegation()) {

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_15);

-			} else if (genFeature.hasSettingDelegate()) {

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_17);

-			} else if (!genFeature.isVolatile()) {

-				if (genFeature.isListType()) {

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_18);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_19);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_20);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_21);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_22);

-					}

-					stringBuffer.append(TEXT_23);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_24);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(singleWildcard);

-					stringBuffer.append(TEXT_26);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_27);

-				} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_28);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_29);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_30);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_31);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_32);

-					}

-					stringBuffer.append(TEXT_33);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_34);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-					stringBuffer.append(TEXT_35);

-					if (!genFeature.isBidirectional()) {

-						stringBuffer.append(TEXT_36);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_37);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_38);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(negativeOffsetCorrection);

-						stringBuffer.append(TEXT_39);

-					} else {

-						GenFeature reverseFeature = genFeature.getReverse();

-						GenClass targetClass = reverseFeature.getGenClass();

-						String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-								+ genClass.getOffsetCorrectionField(genFeature) : "";

-						stringBuffer.append(TEXT_40);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_41);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_42);

-						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-						stringBuffer.append(reverseOffsetCorrection);

-						stringBuffer.append(TEXT_43);

-						stringBuffer.append(targetClass.getRawImportedInterfaceName());

-						stringBuffer.append(TEXT_44);

-					}

-					stringBuffer.append(TEXT_45);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_46);

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_47);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_48);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_49);

-					} else if (genClass.isESetFlag(genFeature)) {

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_50);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_51);

-							stringBuffer.append(genClass.getESetFlagsField(genFeature));

-							stringBuffer.append(TEXT_52);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_53);

-						}

-						stringBuffer.append(TEXT_54);

-						stringBuffer.append(genClass.getESetFlagsField(genFeature));

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_56);

-					} else {

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_57);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_58);

-							stringBuffer.append(genFeature.getUncapName());

-							stringBuffer.append(TEXT_59);

-						}

-						stringBuffer.append(TEXT_60);

-						stringBuffer.append(genFeature.getUncapName());

-						stringBuffer.append(TEXT_61);

-					}

-					if (!genModel.isSuppressNotification()) {

-						stringBuffer.append(TEXT_62);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-						stringBuffer.append(TEXT_63);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-						stringBuffer.append(TEXT_64);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_65);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_66);

-					}

-					stringBuffer.append(TEXT_67);

-				} else {

-					if (genClass.isFlag(genFeature)) {

-						if (!genModel.isSuppressNotification()) {

-							if (genFeature.isBooleanType()) {

-								stringBuffer.append(TEXT_68);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_69);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_70);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_71);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_72);

-							} else {

-								stringBuffer.append(TEXT_73);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_74);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_75);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_76);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_77);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_78);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_79);

-							}

-						}

-					} else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_80);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_81);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_82);

-					} else {

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_83);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_84);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_85);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_86);

-						}

-					}

-					if (!genModel.isSuppressNotification()) {

-						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-							stringBuffer.append(TEXT_87);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_88);

-						} else if (genClass.isESetFlag(genFeature)) {

-							stringBuffer.append(TEXT_89);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_90);

-							stringBuffer.append(genClass.getESetFlagsField(genFeature));

-							stringBuffer.append(TEXT_91);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_92);

-						} else {

-							stringBuffer.append(TEXT_93);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_94);

-							stringBuffer.append(genFeature.getUncapName());

-							stringBuffer.append(TEXT_95);

-						}

-					}

-					if (genFeature.isReferenceType()) {

-						stringBuffer.append(TEXT_96);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_97);

-						if (!genModel.isVirtualDelegation()) {

-							if (genClass.isESetFlag(genFeature)) {

-								stringBuffer.append(TEXT_98);

-								stringBuffer.append(genClass.getESetFlagsField(genFeature));

-								stringBuffer.append(TEXT_99);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_100);

-							} else {

-								stringBuffer.append(TEXT_101);

-								stringBuffer.append(genFeature.getUncapName());

-								stringBuffer.append(TEXT_102);

-							}

-						}

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_103);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_104);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_105);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_106);

-							if (genModel.isVirtualDelegation()) {

-								stringBuffer.append(TEXT_107);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_108);

-							} else {

-								stringBuffer.append(TEXT_109);

-								stringBuffer.append(genFeature.getCapName());

-							}

-							stringBuffer.append(TEXT_110);

-							if (genModel.isVirtualDelegation()) {

-								stringBuffer.append(TEXT_111);

-							} else {

-								stringBuffer.append(TEXT_112);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_113);

-							}

-							stringBuffer.append(TEXT_114);

-						}

-					} else {

-						if (genClass.isFlag(genFeature)) {

-							if (genFeature.isBooleanType()) {

-								stringBuffer.append(TEXT_115);

-								stringBuffer.append(genFeature.getEDefault());

-								stringBuffer.append(TEXT_116);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_117);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_118);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_119);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_120);

-							} else {

-								stringBuffer.append(TEXT_121);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_122);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_123);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_124);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_125);

-							}

-						} else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {

-							stringBuffer.append(TEXT_126);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_127);

-							stringBuffer.append(genFeature.getEDefault());

-							stringBuffer.append(TEXT_128);

-						}

-						if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {

-							if (genClass.isESetFlag(genFeature)) {

-								stringBuffer.append(TEXT_129);

-								stringBuffer.append(genClass.getESetFlagsField(genFeature));

-								stringBuffer.append(TEXT_130);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_131);

-							} else {

-								stringBuffer.append(TEXT_132);

-								stringBuffer.append(genFeature.getUncapName());

-								stringBuffer.append(TEXT_133);

-							}

-						}

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_134);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_135);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_136);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_137);

-							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_138);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_139);

-								stringBuffer.append(genFeature.getEDefault());

-							} else {

-								stringBuffer.append(TEXT_140);

-								stringBuffer.append(genFeature.getCapName());

-							}

-							stringBuffer.append(TEXT_141);

-							stringBuffer.append(genFeature.getEDefault());

-							stringBuffer.append(TEXT_142);

-							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_143);

-							} else {

-								stringBuffer.append(TEXT_144);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_145);

-							}

-							stringBuffer.append(TEXT_146);

-						}

-					}

-				}

-			} else if (genFeature.hasDelegateFeature()) {

-				GenFeature delegateFeature = genFeature.getDelegateFeature();

-				if (delegateFeature.isWrappedFeatureMapType()) {

-					stringBuffer.append(TEXT_147);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_148);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_149);

-					stringBuffer.append(delegateFeature.getAccessorName());

-					stringBuffer.append(TEXT_150);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_151);

-				} else {

-					stringBuffer.append(TEXT_152);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_153);

-					stringBuffer.append(delegateFeature.getAccessorName());

-					stringBuffer.append(TEXT_154);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_155);

-				}

-			} else if (genClass.getUnsetAccessorOperation(genFeature) != null) {

-				stringBuffer.append(TEXT_156);

-				stringBuffer.append(genClass.getUnsetAccessorOperation(genFeature).getBody(

-						genModel.getIndentation(stringBuffer)));

-			} else {

-				stringBuffer.append(TEXT_157);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0r_J8GJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//Class/unsetGenFeature.todo.override.javajetinc

-			}

-			stringBuffer.append(TEXT_158);

-		}

-		stringBuffer.append(TEXT_159);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Class;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ClassunsetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized ClassunsetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ClassunsetGenFeatureoverride result = new ClassunsetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL + "\tvoid unset";
+	protected final String TEXT_6 = "();" + NL;
+	protected final String TEXT_7 = NL + "\tpublic void unset";
+	protected final String TEXT_8 = "_";
+	protected final String TEXT_9 = "()" + NL + "\t{";
+	protected final String TEXT_10 = NL + "\t\teDynamicUnset(";
+	protected final String TEXT_11 = " - ESTATIC_FEATURE_COUNT";
+	protected final String TEXT_12 = ", ";
+	protected final String TEXT_13 = ");";
+	protected final String TEXT_14 = NL + "\t\teUnset(";
+	protected final String TEXT_15 = ");";
+	protected final String TEXT_16 = NL + "\t\t";
+	protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";
+	protected final String TEXT_18 = NL + "\t\t";
+	protected final String TEXT_19 = " ";
+	protected final String TEXT_20 = " = (";
+	protected final String TEXT_21 = ")eVirtualGet(";
+	protected final String TEXT_22 = ");";
+	protected final String TEXT_23 = NL + "\t\tif (";
+	protected final String TEXT_24 = " != null) ((";
+	protected final String TEXT_25 = ".Unsettable";
+	protected final String TEXT_26 = ")";
+	protected final String TEXT_27 = ").unset();";
+	protected final String TEXT_28 = NL + "\t\t";
+	protected final String TEXT_29 = " ";
+	protected final String TEXT_30 = " = (";
+	protected final String TEXT_31 = ")eVirtualGet(";
+	protected final String TEXT_32 = ");";
+	protected final String TEXT_33 = NL + "\t\tif (";
+	protected final String TEXT_34 = " != null)" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_35 = " msgs = null;";
+	protected final String TEXT_36 = NL + "\t\t\tmsgs = ((";
+	protected final String TEXT_37 = ")";
+	protected final String TEXT_38 = ").eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+	protected final String TEXT_39 = ", null, msgs);";
+	protected final String TEXT_40 = NL + "\t\t\tmsgs = ((";
+	protected final String TEXT_41 = ")";
+	protected final String TEXT_42 = ").eInverseRemove(this, ";
+	protected final String TEXT_43 = ", ";
+	protected final String TEXT_44 = ".class, msgs);";
+	protected final String TEXT_45 = NL + "\t\t\tmsgs = basicUnset";
+	protected final String TEXT_46 = "(msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}" + NL
+			+ "\t\telse" + NL + "\t\t{";
+	protected final String TEXT_47 = NL + "\t\t\tboolean old";
+	protected final String TEXT_48 = "ESet = eVirtualIsSet(";
+	protected final String TEXT_49 = ");";
+	protected final String TEXT_50 = NL + "\t\t\tboolean old";
+	protected final String TEXT_51 = "ESet = (";
+	protected final String TEXT_52 = " & ";
+	protected final String TEXT_53 = "_ESETFLAG) != 0;";
+	protected final String TEXT_54 = NL + "\t\t\t";
+	protected final String TEXT_55 = " &= ~";
+	protected final String TEXT_56 = "_ESETFLAG;";
+	protected final String TEXT_57 = NL + "\t\t\tboolean old";
+	protected final String TEXT_58 = "ESet = ";
+	protected final String TEXT_59 = "ESet;";
+	protected final String TEXT_60 = NL + "\t\t\t";
+	protected final String TEXT_61 = "ESet = false;";
+	protected final String TEXT_62 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";
+	protected final String TEXT_63 = "(this, ";
+	protected final String TEXT_64 = ".UNSET, ";
+	protected final String TEXT_65 = ", null, null, old";
+	protected final String TEXT_66 = "ESet));";
+	protected final String TEXT_67 = NL + "\t\t}";
+	protected final String TEXT_68 = NL + "\t\t";
+	protected final String TEXT_69 = " old";
+	protected final String TEXT_70 = " = (";
+	protected final String TEXT_71 = " & ";
+	protected final String TEXT_72 = "_EFLAG) != 0;";
+	protected final String TEXT_73 = NL + "\t\t";
+	protected final String TEXT_74 = " old";
+	protected final String TEXT_75 = " = ";
+	protected final String TEXT_76 = "_EFLAG_VALUES[(";
+	protected final String TEXT_77 = " & ";
+	protected final String TEXT_78 = "_EFLAG) >>> ";
+	protected final String TEXT_79 = "_EFLAG_OFFSET];";
+	protected final String TEXT_80 = NL + "\t\tObject old";
+	protected final String TEXT_81 = " = eVirtualUnset(";
+	protected final String TEXT_82 = ");";
+	protected final String TEXT_83 = NL + "\t\t";
+	protected final String TEXT_84 = " old";
+	protected final String TEXT_85 = " = ";
+	protected final String TEXT_86 = ";";
+	protected final String TEXT_87 = NL + "\t\tboolean isSetChange = old";
+	protected final String TEXT_88 = " != EVIRTUAL_NO_VALUE;";
+	protected final String TEXT_89 = NL + "\t\tboolean old";
+	protected final String TEXT_90 = "ESet = (";
+	protected final String TEXT_91 = " & ";
+	protected final String TEXT_92 = "_ESETFLAG) != 0;";
+	protected final String TEXT_93 = NL + "\t\tboolean old";
+	protected final String TEXT_94 = "ESet = ";
+	protected final String TEXT_95 = "ESet;";
+	protected final String TEXT_96 = NL + "\t\t";
+	protected final String TEXT_97 = " = null;";
+	protected final String TEXT_98 = NL + "\t\t";
+	protected final String TEXT_99 = " &= ~";
+	protected final String TEXT_100 = "_ESETFLAG;";
+	protected final String TEXT_101 = NL + "\t\t";
+	protected final String TEXT_102 = "ESet = false;";
+	protected final String TEXT_103 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+	protected final String TEXT_104 = "(this, ";
+	protected final String TEXT_105 = ".UNSET, ";
+	protected final String TEXT_106 = ", ";
+	protected final String TEXT_107 = "isSetChange ? old";
+	protected final String TEXT_108 = " : null";
+	protected final String TEXT_109 = "old";
+	protected final String TEXT_110 = ", null, ";
+	protected final String TEXT_111 = "isSetChange";
+	protected final String TEXT_112 = "old";
+	protected final String TEXT_113 = "ESet";
+	protected final String TEXT_114 = "));";
+	protected final String TEXT_115 = NL + "\t\tif (";
+	protected final String TEXT_116 = ") ";
+	protected final String TEXT_117 = " |= ";
+	protected final String TEXT_118 = "_EFLAG; else ";
+	protected final String TEXT_119 = " &= ~";
+	protected final String TEXT_120 = "_EFLAG;";
+	protected final String TEXT_121 = NL + "\t\t";
+	protected final String TEXT_122 = " = ";
+	protected final String TEXT_123 = " & ~";
+	protected final String TEXT_124 = "_EFLAG | ";
+	protected final String TEXT_125 = "_EFLAG_DEFAULT;";
+	protected final String TEXT_126 = NL + "\t\t";
+	protected final String TEXT_127 = " = ";
+	protected final String TEXT_128 = ";";
+	protected final String TEXT_129 = NL + "\t\t";
+	protected final String TEXT_130 = " &= ~";
+	protected final String TEXT_131 = "_ESETFLAG;";
+	protected final String TEXT_132 = NL + "\t\t";
+	protected final String TEXT_133 = "ESet = false;";
+	protected final String TEXT_134 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+	protected final String TEXT_135 = "(this, ";
+	protected final String TEXT_136 = ".UNSET, ";
+	protected final String TEXT_137 = ", ";
+	protected final String TEXT_138 = "isSetChange ? old";
+	protected final String TEXT_139 = " : ";
+	protected final String TEXT_140 = "old";
+	protected final String TEXT_141 = ", ";
+	protected final String TEXT_142 = ", ";
+	protected final String TEXT_143 = "isSetChange";
+	protected final String TEXT_144 = "old";
+	protected final String TEXT_145 = "ESet";
+	protected final String TEXT_146 = "));";
+	protected final String TEXT_147 = NL + "\t\t((";
+	protected final String TEXT_148 = ".Internal)((";
+	protected final String TEXT_149 = ".Internal.Wrapper)get";
+	protected final String TEXT_150 = "()).featureMap()).clear(";
+	protected final String TEXT_151 = ");";
+	protected final String TEXT_152 = NL + "\t\t((";
+	protected final String TEXT_153 = ".Internal)get";
+	protected final String TEXT_154 = "()).clear(";
+	protected final String TEXT_155 = ");";
+	protected final String TEXT_156 = NL + "\t\t";
+	protected final String TEXT_157 = NL;
+	protected final String TEXT_158 = NL + "\t}" + NL;
+	protected final String TEXT_159 = NL;
+	protected final String TEXT_160 = NL;
+	protected final String TEXT_161 = NL;
+
+	public ClassunsetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_160);
+		stringBuffer.append(TEXT_161);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isInterface) {
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0rPjEGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/unsetGenFeature.javadoc.override.javajetinc
+		} else {
+			stringBuffer.append(TEXT_3);
+			if (isJDK50) { //Class/unsetGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_4);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0rrn8GJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+		}
+		if (!isImplementation) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_6);
+		} else {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genFeature.getAccessorName());
+			if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {
+				stringBuffer.append(TEXT_8);
+			}
+			stringBuffer.append(TEXT_9);
+			if (genModel.isDynamicDelegation()) {
+				stringBuffer.append(TEXT_10);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				if (genClass.hasStaticFeatures()) {
+					stringBuffer.append(TEXT_11);
+				}
+				stringBuffer.append(TEXT_12);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_13);
+			} else if (genModel.isReflectiveDelegation()) {
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_15);
+			} else if (genFeature.hasSettingDelegate()) {
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_17);
+			} else if (!genFeature.isVolatile()) {
+				if (genFeature.isListType()) {
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_18);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_19);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_20);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_21);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_22);
+					}
+					stringBuffer.append(TEXT_23);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_24);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(singleWildcard);
+					stringBuffer.append(TEXT_26);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_27);
+				} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_28);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_29);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_30);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_31);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_32);
+					}
+					stringBuffer.append(TEXT_33);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_34);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+					stringBuffer.append(TEXT_35);
+					if (!genFeature.isBidirectional()) {
+						stringBuffer.append(TEXT_36);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_37);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_38);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(negativeOffsetCorrection);
+						stringBuffer.append(TEXT_39);
+					} else {
+						GenFeature reverseFeature = genFeature.getReverse();
+						GenClass targetClass = reverseFeature.getGenClass();
+						String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+								? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+						stringBuffer.append(TEXT_40);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_41);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_42);
+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+						stringBuffer.append(reverseOffsetCorrection);
+						stringBuffer.append(TEXT_43);
+						stringBuffer.append(targetClass.getRawImportedInterfaceName());
+						stringBuffer.append(TEXT_44);
+					}
+					stringBuffer.append(TEXT_45);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_46);
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_47);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_48);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_49);
+					} else if (genClass.isESetFlag(genFeature)) {
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_50);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_51);
+							stringBuffer.append(genClass.getESetFlagsField(genFeature));
+							stringBuffer.append(TEXT_52);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_53);
+						}
+						stringBuffer.append(TEXT_54);
+						stringBuffer.append(genClass.getESetFlagsField(genFeature));
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_56);
+					} else {
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_57);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_58);
+							stringBuffer.append(genFeature.getUncapName());
+							stringBuffer.append(TEXT_59);
+						}
+						stringBuffer.append(TEXT_60);
+						stringBuffer.append(genFeature.getUncapName());
+						stringBuffer.append(TEXT_61);
+					}
+					if (!genModel.isSuppressNotification()) {
+						stringBuffer.append(TEXT_62);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+						stringBuffer.append(TEXT_63);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+						stringBuffer.append(TEXT_64);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_65);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_66);
+					}
+					stringBuffer.append(TEXT_67);
+				} else {
+					if (genClass.isFlag(genFeature)) {
+						if (!genModel.isSuppressNotification()) {
+							if (genFeature.isBooleanType()) {
+								stringBuffer.append(TEXT_68);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_69);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_70);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_71);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_72);
+							} else {
+								stringBuffer.append(TEXT_73);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_74);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_75);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_76);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_77);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_78);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_79);
+							}
+						}
+					} else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_80);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_81);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_82);
+					} else {
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_83);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_84);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_85);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_86);
+						}
+					}
+					if (!genModel.isSuppressNotification()) {
+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+							stringBuffer.append(TEXT_87);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_88);
+						} else if (genClass.isESetFlag(genFeature)) {
+							stringBuffer.append(TEXT_89);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_90);
+							stringBuffer.append(genClass.getESetFlagsField(genFeature));
+							stringBuffer.append(TEXT_91);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_92);
+						} else {
+							stringBuffer.append(TEXT_93);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_94);
+							stringBuffer.append(genFeature.getUncapName());
+							stringBuffer.append(TEXT_95);
+						}
+					}
+					if (genFeature.isReferenceType()) {
+						stringBuffer.append(TEXT_96);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_97);
+						if (!genModel.isVirtualDelegation()) {
+							if (genClass.isESetFlag(genFeature)) {
+								stringBuffer.append(TEXT_98);
+								stringBuffer.append(genClass.getESetFlagsField(genFeature));
+								stringBuffer.append(TEXT_99);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_100);
+							} else {
+								stringBuffer.append(TEXT_101);
+								stringBuffer.append(genFeature.getUncapName());
+								stringBuffer.append(TEXT_102);
+							}
+						}
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_103);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_104);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_105);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_106);
+							if (genModel.isVirtualDelegation()) {
+								stringBuffer.append(TEXT_107);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_108);
+							} else {
+								stringBuffer.append(TEXT_109);
+								stringBuffer.append(genFeature.getCapName());
+							}
+							stringBuffer.append(TEXT_110);
+							if (genModel.isVirtualDelegation()) {
+								stringBuffer.append(TEXT_111);
+							} else {
+								stringBuffer.append(TEXT_112);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_113);
+							}
+							stringBuffer.append(TEXT_114);
+						}
+					} else {
+						if (genClass.isFlag(genFeature)) {
+							if (genFeature.isBooleanType()) {
+								stringBuffer.append(TEXT_115);
+								stringBuffer.append(genFeature.getEDefault());
+								stringBuffer.append(TEXT_116);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_117);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_118);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_119);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_120);
+							} else {
+								stringBuffer.append(TEXT_121);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_122);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_123);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_124);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_125);
+							}
+						} else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
+							stringBuffer.append(TEXT_126);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_127);
+							stringBuffer.append(genFeature.getEDefault());
+							stringBuffer.append(TEXT_128);
+						}
+						if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
+							if (genClass.isESetFlag(genFeature)) {
+								stringBuffer.append(TEXT_129);
+								stringBuffer.append(genClass.getESetFlagsField(genFeature));
+								stringBuffer.append(TEXT_130);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_131);
+							} else {
+								stringBuffer.append(TEXT_132);
+								stringBuffer.append(genFeature.getUncapName());
+								stringBuffer.append(TEXT_133);
+							}
+						}
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_134);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_135);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_136);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_137);
+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_138);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_139);
+								stringBuffer.append(genFeature.getEDefault());
+							} else {
+								stringBuffer.append(TEXT_140);
+								stringBuffer.append(genFeature.getCapName());
+							}
+							stringBuffer.append(TEXT_141);
+							stringBuffer.append(genFeature.getEDefault());
+							stringBuffer.append(TEXT_142);
+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_143);
+							} else {
+								stringBuffer.append(TEXT_144);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_145);
+							}
+							stringBuffer.append(TEXT_146);
+						}
+					}
+				}
+			} else if (genFeature.hasDelegateFeature()) {
+				GenFeature delegateFeature = genFeature.getDelegateFeature();
+				if (delegateFeature.isWrappedFeatureMapType()) {
+					stringBuffer.append(TEXT_147);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_148);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_149);
+					stringBuffer.append(delegateFeature.getAccessorName());
+					stringBuffer.append(TEXT_150);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_151);
+				} else {
+					stringBuffer.append(TEXT_152);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_153);
+					stringBuffer.append(delegateFeature.getAccessorName());
+					stringBuffer.append(TEXT_154);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_155);
+				}
+			} else if (genClass.getUnsetAccessorOperation(genFeature) != null) {
+				stringBuffer.append(TEXT_156);
+				stringBuffer.append(
+						genClass.getUnsetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));
+			} else {
+				stringBuffer.append(TEXT_157);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.unsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0r_J8GJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//Class/unsetGenFeature.todo.override.javajetinc
+			}
+			stringBuffer.append(TEXT_158);
+		}
+		stringBuffer.append(TEXT_159);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureTODOoverride.java
index 37c3c80..c5e12c8 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureTODOoverride.java
@@ -1,287 +1,287 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacebasicGetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized InterfacebasicGetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacebasicGetGenFeatureTODOoverride result = new InterfacebasicGetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return the '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = NL + "\t\t// -> do not perform proxy resolution" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public InterfacebasicGetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicGetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized InterfacebasicGetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacebasicGetGenFeatureTODOoverride result = new InterfacebasicGetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return the '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = NL + "\t\t// -> do not perform proxy resolution" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public InterfacebasicGetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureannotationsinsert.java
index 0bfe132..0e87cae 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacebasicGetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized InterfacebasicGetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacebasicGetGenFeatureannotationsinsert result = new InterfacebasicGetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacebasicGetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicGetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized InterfacebasicGetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacebasicGetGenFeatureannotationsinsert result = new InterfacebasicGetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacebasicGetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureoverride.java
index f37ef3a..9b8a9d3 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeatureoverride.java
@@ -1,490 +1,490 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacebasicGetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized InterfacebasicGetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacebasicGetGenFeatureoverride result = new InterfacebasicGetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\tpublic ";

-	protected final String TEXT_4 = " basicGet";

-	protected final String TEXT_5 = "()" + NL + "\t{";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL + "\t\treturn (";

-	protected final String TEXT_8 = ")eDynamicGet(";

-	protected final String TEXT_9 = " - ESTATIC_FEATURE_COUNT";

-	protected final String TEXT_10 = ", ";

-	protected final String TEXT_11 = ", false, ";

-	protected final String TEXT_12 = ");";

-	protected final String TEXT_13 = NL + "\t\treturn ";

-	protected final String TEXT_14 = "(";

-	protected final String TEXT_15 = "(";

-	protected final String TEXT_16 = ")";

-	protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)";

-	protected final String TEXT_18 = ").";

-	protected final String TEXT_19 = "()";

-	protected final String TEXT_20 = ";";

-	protected final String TEXT_21 = NL + "\t\tif (eContainerFeatureID() != ";

-	protected final String TEXT_22 = ") return null;" + NL + "\t\treturn (";

-	protected final String TEXT_23 = ")eInternalContainer();";

-	protected final String TEXT_24 = NL + "\t\treturn (";

-	protected final String TEXT_25 = ")eVirtualGet(";

-	protected final String TEXT_26 = ");";

-	protected final String TEXT_27 = NL + "\t\treturn ";

-	protected final String TEXT_28 = ";";

-	protected final String TEXT_29 = NL + "\t\treturn (";

-	protected final String TEXT_30 = ")((";

-	protected final String TEXT_31 = ".Internal.Wrapper)get";

-	protected final String TEXT_32 = "()).featureMap().get(";

-	protected final String TEXT_33 = ", false);";

-	protected final String TEXT_34 = NL + "\t\treturn (";

-	protected final String TEXT_35 = ")get";

-	protected final String TEXT_36 = "().get(";

-	protected final String TEXT_37 = ", false);";

-	protected final String TEXT_38 = NL + "\t\t";

-	protected final String TEXT_39 = NL;

-	protected final String TEXT_40 = NL + "\t}" + NL + NL;

-	protected final String TEXT_41 = NL;

-	protected final String TEXT_42 = NL;

-

-	public InterfacebasicGetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_41);

-		stringBuffer.append(TEXT_42);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isJDK50) { //Class/basicGetGenFeature.annotations.insert.javajetinc

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0w5fIGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-		}

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getImportedType(genClass));

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(TEXT_6);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xDQIGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		if (genModel.isDynamicDelegation()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			if (genClass.hasStaticFeatures()) {

-				stringBuffer.append(TEXT_9);

-			}

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-			stringBuffer.append(TEXT_11);

-			stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());

-			stringBuffer.append(TEXT_12);

-		} else if (genFeature.hasSettingDelegate()) {

-			stringBuffer.append(TEXT_13);

-			if (!isJDK50 && genFeature.isPrimitiveType()) {

-				stringBuffer.append(TEXT_14);

-			}

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genFeature.getObjectType(genClass));

-			stringBuffer.append(TEXT_16);

-			stringBuffer.append(genFeature.getUpperName());

-			stringBuffer.append(TEXT_17);

-			if (!isJDK50 && genFeature.isPrimitiveType()) {

-				stringBuffer.append(TEXT_18);

-				stringBuffer.append(genFeature.getPrimitiveValueFunction());

-				stringBuffer.append(TEXT_19);

-			}

-			stringBuffer.append(TEXT_20);

-		} else if (genFeature.isContainer()) {

-			stringBuffer.append(TEXT_21);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			stringBuffer.append(positiveOffsetCorrection);

-			stringBuffer.append(TEXT_22);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_23);

-		} else if (!genFeature.isVolatile()) {

-			if (genModel.isVirtualDelegation()) {

-				stringBuffer.append(TEXT_24);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_25);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(positiveOffsetCorrection);

-				stringBuffer.append(TEXT_26);

-			} else {

-				stringBuffer.append(TEXT_27);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_28);

-			}

-		} else if (genFeature.hasDelegateFeature()) {

-			GenFeature delegateFeature = genFeature.getDelegateFeature();

-			if (delegateFeature.isWrappedFeatureMapType()) {

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-				stringBuffer.append(TEXT_31);

-				stringBuffer.append(delegateFeature.getAccessorName());

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_33);

-			} else {

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_35);

-				stringBuffer.append(delegateFeature.getAccessorName());

-				stringBuffer.append(TEXT_36);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_37);

-			}

-		} else if (genFeature.hasGetterBody()) {

-			stringBuffer.append(TEXT_38);

-			stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));

-		} else {

-			stringBuffer.append(TEXT_39);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xNBIGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/basicGetGenFeature.todo.override.javajetinc

-		}

-		stringBuffer.append(TEXT_40);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicGetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized InterfacebasicGetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacebasicGetGenFeatureoverride result = new InterfacebasicGetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\tpublic ";
+	protected final String TEXT_4 = " basicGet";
+	protected final String TEXT_5 = "()" + NL + "\t{";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL + "\t\treturn (";
+	protected final String TEXT_8 = ")eDynamicGet(";
+	protected final String TEXT_9 = " - ESTATIC_FEATURE_COUNT";
+	protected final String TEXT_10 = ", ";
+	protected final String TEXT_11 = ", false, ";
+	protected final String TEXT_12 = ");";
+	protected final String TEXT_13 = NL + "\t\treturn ";
+	protected final String TEXT_14 = "(";
+	protected final String TEXT_15 = "(";
+	protected final String TEXT_16 = ")";
+	protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)";
+	protected final String TEXT_18 = ").";
+	protected final String TEXT_19 = "()";
+	protected final String TEXT_20 = ";";
+	protected final String TEXT_21 = NL + "\t\tif (eContainerFeatureID() != ";
+	protected final String TEXT_22 = ") return null;" + NL + "\t\treturn (";
+	protected final String TEXT_23 = ")eInternalContainer();";
+	protected final String TEXT_24 = NL + "\t\treturn (";
+	protected final String TEXT_25 = ")eVirtualGet(";
+	protected final String TEXT_26 = ");";
+	protected final String TEXT_27 = NL + "\t\treturn ";
+	protected final String TEXT_28 = ";";
+	protected final String TEXT_29 = NL + "\t\treturn (";
+	protected final String TEXT_30 = ")((";
+	protected final String TEXT_31 = ".Internal.Wrapper)get";
+	protected final String TEXT_32 = "()).featureMap().get(";
+	protected final String TEXT_33 = ", false);";
+	protected final String TEXT_34 = NL + "\t\treturn (";
+	protected final String TEXT_35 = ")get";
+	protected final String TEXT_36 = "().get(";
+	protected final String TEXT_37 = ", false);";
+	protected final String TEXT_38 = NL + "\t\t";
+	protected final String TEXT_39 = NL;
+	protected final String TEXT_40 = NL + "\t}" + NL + NL;
+	protected final String TEXT_41 = NL;
+	protected final String TEXT_42 = NL;
+
+	public InterfacebasicGetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_41);
+		stringBuffer.append(TEXT_42);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isJDK50) { //Class/basicGetGenFeature.annotations.insert.javajetinc
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0w5fIGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+		}
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getImportedType(genClass));
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(TEXT_6);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xDQIGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		if (genModel.isDynamicDelegation()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			if (genClass.hasStaticFeatures()) {
+				stringBuffer.append(TEXT_9);
+			}
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+			stringBuffer.append(TEXT_11);
+			stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());
+			stringBuffer.append(TEXT_12);
+		} else if (genFeature.hasSettingDelegate()) {
+			stringBuffer.append(TEXT_13);
+			if (!isJDK50 && genFeature.isPrimitiveType()) {
+				stringBuffer.append(TEXT_14);
+			}
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genFeature.getObjectType(genClass));
+			stringBuffer.append(TEXT_16);
+			stringBuffer.append(genFeature.getUpperName());
+			stringBuffer.append(TEXT_17);
+			if (!isJDK50 && genFeature.isPrimitiveType()) {
+				stringBuffer.append(TEXT_18);
+				stringBuffer.append(genFeature.getPrimitiveValueFunction());
+				stringBuffer.append(TEXT_19);
+			}
+			stringBuffer.append(TEXT_20);
+		} else if (genFeature.isContainer()) {
+			stringBuffer.append(TEXT_21);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			stringBuffer.append(positiveOffsetCorrection);
+			stringBuffer.append(TEXT_22);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_23);
+		} else if (!genFeature.isVolatile()) {
+			if (genModel.isVirtualDelegation()) {
+				stringBuffer.append(TEXT_24);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_25);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(positiveOffsetCorrection);
+				stringBuffer.append(TEXT_26);
+			} else {
+				stringBuffer.append(TEXT_27);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_28);
+			}
+		} else if (genFeature.hasDelegateFeature()) {
+			GenFeature delegateFeature = genFeature.getDelegateFeature();
+			if (delegateFeature.isWrappedFeatureMapType()) {
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+				stringBuffer.append(TEXT_31);
+				stringBuffer.append(delegateFeature.getAccessorName());
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_33);
+			} else {
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_35);
+				stringBuffer.append(delegateFeature.getAccessorName());
+				stringBuffer.append(TEXT_36);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_37);
+			}
+		} else if (genFeature.hasGetterBody()) {
+			stringBuffer.append(TEXT_38);
+			stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
+		} else {
+			stringBuffer.append(TEXT_39);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xNBIGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/basicGetGenFeature.todo.override.javajetinc
+		}
+		stringBuffer.append(TEXT_40);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeaturepreinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeaturepreinsert.java
index c786c4b..031c2be 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeaturepreinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicGetGenFeaturepreinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacebasicGetGenFeaturepreinsert {

-	protected static String nl;

-

-	public static synchronized InterfacebasicGetGenFeaturepreinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacebasicGetGenFeaturepreinsert result = new InterfacebasicGetGenFeaturepreinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacebasicGetGenFeaturepreinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicGetGenFeaturepreinsert {
+	protected static String nl;
+
+	public static synchronized InterfacebasicGetGenFeaturepreinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacebasicGetGenFeaturepreinsert result = new InterfacebasicGetGenFeaturepreinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacebasicGetGenFeaturepreinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureTODOoverride.java
index 5d78699..1594b11 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureTODOoverride.java
@@ -1,292 +1,290 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacebasicSetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized InterfacebasicSetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacebasicSetGenFeatureTODOoverride result = new InterfacebasicSetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to set the contained '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = NL

-			+ "\t\t// -> this method is automatically invoked to keep the containment relationship in synch"

-			+ NL

-			+ "\t\t// -> do not modify other features"

-			+ NL

-			+ "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)"

-			+ NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public InterfacebasicSetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicSetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized InterfacebasicSetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacebasicSetGenFeatureTODOoverride result = new InterfacebasicSetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to set the contained '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = NL
+			+ "\t\t// -> this method is automatically invoked to keep the containment relationship in synch" + NL
+			+ "\t\t// -> do not modify other features" + NL
+			+ "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)"
+			+ NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public InterfacebasicSetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureannotationsinsert.java
index d75ebe8..8f48a26 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacebasicSetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized InterfacebasicSetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacebasicSetGenFeatureannotationsinsert result = new InterfacebasicSetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacebasicSetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicSetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized InterfacebasicSetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacebasicSetGenFeatureannotationsinsert result = new InterfacebasicSetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacebasicSetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureoverride.java
index 74ad0ac..4ae36f7 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeatureoverride.java
@@ -1,777 +1,777 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacebasicSetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized InterfacebasicSetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacebasicSetGenFeatureoverride result = new InterfacebasicSetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\tpublic ";

-	protected final String TEXT_4 = " basicSet";

-	protected final String TEXT_5 = "(";

-	protected final String TEXT_6 = " new";

-	protected final String TEXT_7 = ", ";

-	protected final String TEXT_8 = " msgs)" + NL + "\t{";

-	protected final String TEXT_9 = NL;

-	protected final String TEXT_10 = NL + "\t\tmsgs = eBasicSetContainer((";

-	protected final String TEXT_11 = ")new";

-	protected final String TEXT_12 = ", ";

-	protected final String TEXT_13 = ", msgs);";

-	protected final String TEXT_14 = NL;

-	protected final String TEXT_15 = NL + "\t\treturn msgs;";

-	protected final String TEXT_16 = NL;

-	protected final String TEXT_17 = NL + "\t\tmsgs = eDynamicInverseAdd((";

-	protected final String TEXT_18 = ")new";

-	protected final String TEXT_19 = ", ";

-	protected final String TEXT_20 = ", msgs);";

-	protected final String TEXT_21 = NL;

-	protected final String TEXT_22 = NL + "\t\treturn msgs;";

-	protected final String TEXT_23 = NL;

-	protected final String TEXT_24 = NL + "\t\tObject old";

-	protected final String TEXT_25 = " = eVirtualSet(";

-	protected final String TEXT_26 = ", new";

-	protected final String TEXT_27 = ");";

-	protected final String TEXT_28 = NL + "\t\t";

-	protected final String TEXT_29 = " old";

-	protected final String TEXT_30 = " = ";

-	protected final String TEXT_31 = ";" + NL + "\t\t";

-	protected final String TEXT_32 = " = new";

-	protected final String TEXT_33 = ";";

-	protected final String TEXT_34 = NL + "\t\tboolean isSetChange = old";

-	protected final String TEXT_35 = " == EVIRTUAL_NO_VALUE;";

-	protected final String TEXT_36 = NL + "\t\tboolean old";

-	protected final String TEXT_37 = "ESet = (";

-	protected final String TEXT_38 = " & ";

-	protected final String TEXT_39 = "_ESETFLAG) != 0;";

-	protected final String TEXT_40 = NL + "\t\t";

-	protected final String TEXT_41 = " |= ";

-	protected final String TEXT_42 = "_ESETFLAG;";

-	protected final String TEXT_43 = NL + "\t\tboolean old";

-	protected final String TEXT_44 = "ESet = ";

-	protected final String TEXT_45 = "ESet;";

-	protected final String TEXT_46 = NL + "\t\t";

-	protected final String TEXT_47 = "ESet = true;";

-	protected final String TEXT_48 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{";

-	protected final String TEXT_49 = NL + "\t\t\t";

-	protected final String TEXT_50 = " notification = new ";

-	protected final String TEXT_51 = "(this, ";

-	protected final String TEXT_52 = ".SET, ";

-	protected final String TEXT_53 = ", ";

-	protected final String TEXT_54 = "isSetChange ? null : old";

-	protected final String TEXT_55 = "old";

-	protected final String TEXT_56 = ", new";

-	protected final String TEXT_57 = ", ";

-	protected final String TEXT_58 = "isSetChange";

-	protected final String TEXT_59 = "!old";

-	protected final String TEXT_60 = "ESet";

-	protected final String TEXT_61 = ");";

-	protected final String TEXT_62 = NL + "\t\t\t";

-	protected final String TEXT_63 = " notification = new ";

-	protected final String TEXT_64 = "(this, ";

-	protected final String TEXT_65 = ".SET, ";

-	protected final String TEXT_66 = ", ";

-	protected final String TEXT_67 = "old";

-	protected final String TEXT_68 = " == EVIRTUAL_NO_VALUE ? null : old";

-	protected final String TEXT_69 = "old";

-	protected final String TEXT_70 = ", new";

-	protected final String TEXT_71 = ");";

-	protected final String TEXT_72 = NL + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);"

-			+ NL + "\t\t}";

-	protected final String TEXT_73 = NL;

-	protected final String TEXT_74 = NL + "\t\treturn msgs;";

-	protected final String TEXT_75 = NL + "\t\treturn ((";

-	protected final String TEXT_76 = ".Internal)((";

-	protected final String TEXT_77 = ".Internal.Wrapper)get";

-	protected final String TEXT_78 = "()).featureMap()).basicAdd(";

-	protected final String TEXT_79 = ", new";

-	protected final String TEXT_80 = ", msgs);";

-	protected final String TEXT_81 = NL + "\t\treturn ((";

-	protected final String TEXT_82 = ".Internal)get";

-	protected final String TEXT_83 = "()).basicAdd(";

-	protected final String TEXT_84 = ", new";

-	protected final String TEXT_85 = ", msgs);";

-	protected final String TEXT_86 = NL;

-	protected final String TEXT_87 = NL + "\t}" + NL + NL;

-	protected final String TEXT_88 = NL;

-	protected final String TEXT_89 = NL;

-

-	public InterfacebasicSetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_88);

-		stringBuffer.append(TEXT_89);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xpGAGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-		}

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genFeature.getImportedInternalType(genClass));

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(genFeature.getCapName());

-		stringBuffer.append(TEXT_7);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-		stringBuffer.append(TEXT_8);

-		if (genFeature.isContainer()) {

-			stringBuffer.append(TEXT_9);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xy3AGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-			stringBuffer.append(TEXT_11);

-			stringBuffer.append(genFeature.getCapName());

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			stringBuffer.append(positiveOffsetCorrection);

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(TEXT_14);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0x8oAGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			stringBuffer.append(TEXT_15);

-		} else if (genModel.isDynamicDelegation()) {

-			stringBuffer.append(TEXT_16);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xy3AGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			stringBuffer.append(TEXT_17);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(genFeature.getCapName());

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			stringBuffer.append(positiveOffsetCorrection);

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(TEXT_21);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0x8oAGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			stringBuffer.append(TEXT_22);

-		} else if (!genFeature.isVolatile()) {

-			stringBuffer.append(TEXT_23);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xy3AGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			if (genModel.isVirtualDelegation()) {

-				stringBuffer.append(TEXT_24);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_25);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(positiveOffsetCorrection);

-				stringBuffer.append(TEXT_26);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_27);

-			} else {

-				stringBuffer.append(TEXT_28);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_31);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_33);

-			}

-			if (genFeature.isUnsettable()) {

-				if (genModel.isVirtualDelegation()) {

-					if (!genModel.isSuppressNotification()) {

-						stringBuffer.append(TEXT_34);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_35);

-					}

-				} else if (genClass.isESetFlag(genFeature)) {

-					stringBuffer.append(TEXT_36);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_37);

-					stringBuffer.append(genClass.getESetFlagsField(genFeature));

-					stringBuffer.append(TEXT_38);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_39);

-					if (!genModel.isSuppressNotification()) {

-						stringBuffer.append(TEXT_40);

-						stringBuffer.append(genClass.getESetFlagsField(genFeature));

-						stringBuffer.append(TEXT_41);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_42);

-					}

-				} else {

-					if (!genModel.isSuppressNotification()) {

-						stringBuffer.append(TEXT_43);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_44);

-						stringBuffer.append(genFeature.getUncapName());

-						stringBuffer.append(TEXT_45);

-					}

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(genFeature.getUncapName());

-					stringBuffer.append(TEXT_47);

-				}

-			}

-			if (!genModel.isSuppressNotification()) {

-				stringBuffer.append(TEXT_48);

-				if (genFeature.isUnsettable()) {

-					stringBuffer.append(TEXT_49);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-					stringBuffer.append(TEXT_52);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_53);

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_54);

-						stringBuffer.append(genFeature.getCapName());

-					} else {

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(genFeature.getCapName());

-					}

-					stringBuffer.append(TEXT_56);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_57);

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_58);

-					} else {

-						stringBuffer.append(TEXT_59);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_60);

-					}

-					stringBuffer.append(TEXT_61);

-				} else {

-					stringBuffer.append(TEXT_62);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-					stringBuffer.append(TEXT_63);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-					stringBuffer.append(TEXT_64);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-					stringBuffer.append(TEXT_65);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_66);

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_67);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_68);

-						stringBuffer.append(genFeature.getCapName());

-					} else {

-						stringBuffer.append(TEXT_69);

-						stringBuffer.append(genFeature.getCapName());

-					}

-					stringBuffer.append(TEXT_70);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_71);

-				}

-				stringBuffer.append(TEXT_72);

-			}

-			stringBuffer.append(TEXT_73);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0x8oAGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			stringBuffer.append(TEXT_74);

-		} else if (genFeature.hasDelegateFeature()) {

-			GenFeature delegateFeature = genFeature.getDelegateFeature();

-			if (delegateFeature.isWrappedFeatureMapType()) {

-				stringBuffer.append(TEXT_75);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-				stringBuffer.append(TEXT_76);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-				stringBuffer.append(TEXT_77);

-				stringBuffer.append(delegateFeature.getAccessorName());

-				stringBuffer.append(TEXT_78);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_79);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_80);

-			} else {

-				stringBuffer.append(TEXT_81);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-				stringBuffer.append(TEXT_82);

-				stringBuffer.append(delegateFeature.getAccessorName());

-				stringBuffer.append(TEXT_83);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_84);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_85);

-			}

-		} else {

-			stringBuffer.append(TEXT_86);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0x8oFGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/basicSetGenFeature.todo.override.javajetinc

-		}

-		stringBuffer.append(TEXT_87);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicSetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized InterfacebasicSetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacebasicSetGenFeatureoverride result = new InterfacebasicSetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\tpublic ";
+	protected final String TEXT_4 = " basicSet";
+	protected final String TEXT_5 = "(";
+	protected final String TEXT_6 = " new";
+	protected final String TEXT_7 = ", ";
+	protected final String TEXT_8 = " msgs)" + NL + "\t{";
+	protected final String TEXT_9 = NL;
+	protected final String TEXT_10 = NL + "\t\tmsgs = eBasicSetContainer((";
+	protected final String TEXT_11 = ")new";
+	protected final String TEXT_12 = ", ";
+	protected final String TEXT_13 = ", msgs);";
+	protected final String TEXT_14 = NL;
+	protected final String TEXT_15 = NL + "\t\treturn msgs;";
+	protected final String TEXT_16 = NL;
+	protected final String TEXT_17 = NL + "\t\tmsgs = eDynamicInverseAdd((";
+	protected final String TEXT_18 = ")new";
+	protected final String TEXT_19 = ", ";
+	protected final String TEXT_20 = ", msgs);";
+	protected final String TEXT_21 = NL;
+	protected final String TEXT_22 = NL + "\t\treturn msgs;";
+	protected final String TEXT_23 = NL;
+	protected final String TEXT_24 = NL + "\t\tObject old";
+	protected final String TEXT_25 = " = eVirtualSet(";
+	protected final String TEXT_26 = ", new";
+	protected final String TEXT_27 = ");";
+	protected final String TEXT_28 = NL + "\t\t";
+	protected final String TEXT_29 = " old";
+	protected final String TEXT_30 = " = ";
+	protected final String TEXT_31 = ";" + NL + "\t\t";
+	protected final String TEXT_32 = " = new";
+	protected final String TEXT_33 = ";";
+	protected final String TEXT_34 = NL + "\t\tboolean isSetChange = old";
+	protected final String TEXT_35 = " == EVIRTUAL_NO_VALUE;";
+	protected final String TEXT_36 = NL + "\t\tboolean old";
+	protected final String TEXT_37 = "ESet = (";
+	protected final String TEXT_38 = " & ";
+	protected final String TEXT_39 = "_ESETFLAG) != 0;";
+	protected final String TEXT_40 = NL + "\t\t";
+	protected final String TEXT_41 = " |= ";
+	protected final String TEXT_42 = "_ESETFLAG;";
+	protected final String TEXT_43 = NL + "\t\tboolean old";
+	protected final String TEXT_44 = "ESet = ";
+	protected final String TEXT_45 = "ESet;";
+	protected final String TEXT_46 = NL + "\t\t";
+	protected final String TEXT_47 = "ESet = true;";
+	protected final String TEXT_48 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{";
+	protected final String TEXT_49 = NL + "\t\t\t";
+	protected final String TEXT_50 = " notification = new ";
+	protected final String TEXT_51 = "(this, ";
+	protected final String TEXT_52 = ".SET, ";
+	protected final String TEXT_53 = ", ";
+	protected final String TEXT_54 = "isSetChange ? null : old";
+	protected final String TEXT_55 = "old";
+	protected final String TEXT_56 = ", new";
+	protected final String TEXT_57 = ", ";
+	protected final String TEXT_58 = "isSetChange";
+	protected final String TEXT_59 = "!old";
+	protected final String TEXT_60 = "ESet";
+	protected final String TEXT_61 = ");";
+	protected final String TEXT_62 = NL + "\t\t\t";
+	protected final String TEXT_63 = " notification = new ";
+	protected final String TEXT_64 = "(this, ";
+	protected final String TEXT_65 = ".SET, ";
+	protected final String TEXT_66 = ", ";
+	protected final String TEXT_67 = "old";
+	protected final String TEXT_68 = " == EVIRTUAL_NO_VALUE ? null : old";
+	protected final String TEXT_69 = "old";
+	protected final String TEXT_70 = ", new";
+	protected final String TEXT_71 = ");";
+	protected final String TEXT_72 = NL + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);"
+			+ NL + "\t\t}";
+	protected final String TEXT_73 = NL;
+	protected final String TEXT_74 = NL + "\t\treturn msgs;";
+	protected final String TEXT_75 = NL + "\t\treturn ((";
+	protected final String TEXT_76 = ".Internal)((";
+	protected final String TEXT_77 = ".Internal.Wrapper)get";
+	protected final String TEXT_78 = "()).featureMap()).basicAdd(";
+	protected final String TEXT_79 = ", new";
+	protected final String TEXT_80 = ", msgs);";
+	protected final String TEXT_81 = NL + "\t\treturn ((";
+	protected final String TEXT_82 = ".Internal)get";
+	protected final String TEXT_83 = "()).basicAdd(";
+	protected final String TEXT_84 = ", new";
+	protected final String TEXT_85 = ", msgs);";
+	protected final String TEXT_86 = NL;
+	protected final String TEXT_87 = NL + "\t}" + NL + NL;
+	protected final String TEXT_88 = NL;
+	protected final String TEXT_89 = NL;
+
+	public InterfacebasicSetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_88);
+		stringBuffer.append(TEXT_89);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xpGAGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+		}
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genFeature.getImportedInternalType(genClass));
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(genFeature.getCapName());
+		stringBuffer.append(TEXT_7);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+		stringBuffer.append(TEXT_8);
+		if (genFeature.isContainer()) {
+			stringBuffer.append(TEXT_9);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xy3AGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+			stringBuffer.append(TEXT_11);
+			stringBuffer.append(genFeature.getCapName());
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			stringBuffer.append(positiveOffsetCorrection);
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(TEXT_14);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0x8oAGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			stringBuffer.append(TEXT_15);
+		} else if (genModel.isDynamicDelegation()) {
+			stringBuffer.append(TEXT_16);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xy3AGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			stringBuffer.append(TEXT_17);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(genFeature.getCapName());
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			stringBuffer.append(positiveOffsetCorrection);
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(TEXT_21);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0x8oAGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			stringBuffer.append(TEXT_22);
+		} else if (!genFeature.isVolatile()) {
+			stringBuffer.append(TEXT_23);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xy3AGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			if (genModel.isVirtualDelegation()) {
+				stringBuffer.append(TEXT_24);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_25);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(positiveOffsetCorrection);
+				stringBuffer.append(TEXT_26);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_27);
+			} else {
+				stringBuffer.append(TEXT_28);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_31);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_33);
+			}
+			if (genFeature.isUnsettable()) {
+				if (genModel.isVirtualDelegation()) {
+					if (!genModel.isSuppressNotification()) {
+						stringBuffer.append(TEXT_34);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_35);
+					}
+				} else if (genClass.isESetFlag(genFeature)) {
+					stringBuffer.append(TEXT_36);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_37);
+					stringBuffer.append(genClass.getESetFlagsField(genFeature));
+					stringBuffer.append(TEXT_38);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_39);
+					if (!genModel.isSuppressNotification()) {
+						stringBuffer.append(TEXT_40);
+						stringBuffer.append(genClass.getESetFlagsField(genFeature));
+						stringBuffer.append(TEXT_41);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_42);
+					}
+				} else {
+					if (!genModel.isSuppressNotification()) {
+						stringBuffer.append(TEXT_43);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_44);
+						stringBuffer.append(genFeature.getUncapName());
+						stringBuffer.append(TEXT_45);
+					}
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(genFeature.getUncapName());
+					stringBuffer.append(TEXT_47);
+				}
+			}
+			if (!genModel.isSuppressNotification()) {
+				stringBuffer.append(TEXT_48);
+				if (genFeature.isUnsettable()) {
+					stringBuffer.append(TEXT_49);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+					stringBuffer.append(TEXT_52);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_53);
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_54);
+						stringBuffer.append(genFeature.getCapName());
+					} else {
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(genFeature.getCapName());
+					}
+					stringBuffer.append(TEXT_56);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_57);
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_58);
+					} else {
+						stringBuffer.append(TEXT_59);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_60);
+					}
+					stringBuffer.append(TEXT_61);
+				} else {
+					stringBuffer.append(TEXT_62);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+					stringBuffer.append(TEXT_63);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+					stringBuffer.append(TEXT_64);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+					stringBuffer.append(TEXT_65);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_66);
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_67);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_68);
+						stringBuffer.append(genFeature.getCapName());
+					} else {
+						stringBuffer.append(TEXT_69);
+						stringBuffer.append(genFeature.getCapName());
+					}
+					stringBuffer.append(TEXT_70);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_71);
+				}
+				stringBuffer.append(TEXT_72);
+			}
+			stringBuffer.append(TEXT_73);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.post.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0x8oAGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			stringBuffer.append(TEXT_74);
+		} else if (genFeature.hasDelegateFeature()) {
+			GenFeature delegateFeature = genFeature.getDelegateFeature();
+			if (delegateFeature.isWrappedFeatureMapType()) {
+				stringBuffer.append(TEXT_75);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+				stringBuffer.append(TEXT_76);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+				stringBuffer.append(TEXT_77);
+				stringBuffer.append(delegateFeature.getAccessorName());
+				stringBuffer.append(TEXT_78);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_79);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_80);
+			} else {
+				stringBuffer.append(TEXT_81);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+				stringBuffer.append(TEXT_82);
+				stringBuffer.append(delegateFeature.getAccessorName());
+				stringBuffer.append(TEXT_83);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_84);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_85);
+			}
+		} else {
+			stringBuffer.append(TEXT_86);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0x8oFGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/basicSetGenFeature.todo.override.javajetinc
+		}
+		stringBuffer.append(TEXT_87);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepostinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepostinsert.java
index c647c9d..f9ca622 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepostinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepostinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacebasicSetGenFeaturepostinsert {

-	protected static String nl;

-

-	public static synchronized InterfacebasicSetGenFeaturepostinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacebasicSetGenFeaturepostinsert result = new InterfacebasicSetGenFeaturepostinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacebasicSetGenFeaturepostinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicSetGenFeaturepostinsert {
+	protected static String nl;
+
+	public static synchronized InterfacebasicSetGenFeaturepostinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacebasicSetGenFeaturepostinsert result = new InterfacebasicSetGenFeaturepostinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacebasicSetGenFeaturepostinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepreinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepreinsert.java
index c60d7f6..38b7cbc 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepreinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicSetGenFeaturepreinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacebasicSetGenFeaturepreinsert {

-	protected static String nl;

-

-	public static synchronized InterfacebasicSetGenFeaturepreinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacebasicSetGenFeaturepreinsert result = new InterfacebasicSetGenFeaturepreinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacebasicSetGenFeaturepreinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicSetGenFeaturepreinsert {
+	protected static String nl;
+
+	public static synchronized InterfacebasicSetGenFeaturepreinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacebasicSetGenFeaturepreinsert result = new InterfacebasicSetGenFeaturepreinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacebasicSetGenFeaturepreinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureTODOoverride.java
index e9e1abd..3f0839f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureTODOoverride.java
@@ -1,292 +1,290 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacebasicUnsetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized InterfacebasicUnsetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacebasicUnsetGenFeatureTODOoverride result = new InterfacebasicUnsetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to unset the contained '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = NL

-			+ "\t\t// -> this method is automatically invoked to keep the containment relationship in synch"

-			+ NL

-			+ "\t\t// -> do not modify other features"

-			+ NL

-			+ "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)"

-			+ NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public InterfacebasicUnsetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicUnsetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized InterfacebasicUnsetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacebasicUnsetGenFeatureTODOoverride result = new InterfacebasicUnsetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to unset the contained '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = NL
+			+ "\t\t// -> this method is automatically invoked to keep the containment relationship in synch" + NL
+			+ "\t\t// -> do not modify other features" + NL
+			+ "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)"
+			+ NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public InterfacebasicUnsetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureannotationsinsert.java
index 131dacc..49ae75b 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacebasicUnsetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized InterfacebasicUnsetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacebasicUnsetGenFeatureannotationsinsert result = new InterfacebasicUnsetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacebasicUnsetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicUnsetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized InterfacebasicUnsetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacebasicUnsetGenFeatureannotationsinsert result = new InterfacebasicUnsetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacebasicUnsetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureoverride.java
index baff979..50e5615 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacebasicUnsetGenFeatureoverride.java
@@ -1,503 +1,503 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacebasicUnsetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized InterfacebasicUnsetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacebasicUnsetGenFeatureoverride result = new InterfacebasicUnsetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\tpublic ";

-	protected final String TEXT_4 = " basicUnset";

-	protected final String TEXT_5 = "(";

-	protected final String TEXT_6 = " msgs)" + NL + "\t{";

-	protected final String TEXT_7 = NL + "\t\treturn eDynamicInverseRemove((";

-	protected final String TEXT_8 = ")";

-	protected final String TEXT_9 = "basicGet";

-	protected final String TEXT_10 = "(), ";

-	protected final String TEXT_11 = ", msgs);";

-	protected final String TEXT_12 = "Object old";

-	protected final String TEXT_13 = " = ";

-	protected final String TEXT_14 = "eVirtualUnset(";

-	protected final String TEXT_15 = ");";

-	protected final String TEXT_16 = NL + "\t\t";

-	protected final String TEXT_17 = " old";

-	protected final String TEXT_18 = " = ";

-	protected final String TEXT_19 = ";";

-	protected final String TEXT_20 = NL + "\t\t";

-	protected final String TEXT_21 = " = null;";

-	protected final String TEXT_22 = NL + "\t\tboolean isSetChange = old";

-	protected final String TEXT_23 = " != EVIRTUAL_NO_VALUE;";

-	protected final String TEXT_24 = NL + "\t\tboolean old";

-	protected final String TEXT_25 = "ESet = (";

-	protected final String TEXT_26 = " & ";

-	protected final String TEXT_27 = "_ESETFLAG) != 0;";

-	protected final String TEXT_28 = NL + "\t\t";

-	protected final String TEXT_29 = " &= ~";

-	protected final String TEXT_30 = "_ESETFLAG;";

-	protected final String TEXT_31 = NL + "\t\tboolean old";

-	protected final String TEXT_32 = "ESet = ";

-	protected final String TEXT_33 = "ESet;";

-	protected final String TEXT_34 = NL + "\t\t";

-	protected final String TEXT_35 = "ESet = false;";

-	protected final String TEXT_36 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_37 = " notification = new ";

-	protected final String TEXT_38 = "(this, ";

-	protected final String TEXT_39 = ".UNSET, ";

-	protected final String TEXT_40 = ", ";

-	protected final String TEXT_41 = "isSetChange ? old";

-	protected final String TEXT_42 = " : null";

-	protected final String TEXT_43 = "old";

-	protected final String TEXT_44 = ", null, ";

-	protected final String TEXT_45 = "isSetChange";

-	protected final String TEXT_46 = "old";

-	protected final String TEXT_47 = "ESet";

-	protected final String TEXT_48 = ");" + NL

-			+ "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);" + NL + "\t\t}" + NL

-			+ "\t\treturn msgs;";

-	protected final String TEXT_49 = NL;

-	protected final String TEXT_50 = NL + "\t}" + NL + NL;

-	protected final String TEXT_51 = NL;

-	protected final String TEXT_52 = NL;

-

-	public InterfacebasicUnsetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_51);

-		stringBuffer.append(TEXT_52);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isJDK50) { //Class/basicUnsetGenFeature.annotations.insert.javajetinc

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0zb1wGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-		}

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-		stringBuffer.append(TEXT_6);

-		if (genModel.isDynamicDelegation()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-			stringBuffer.append(TEXT_8);

-			if (genFeature.isResolveProxies()) {

-				stringBuffer.append(TEXT_9);

-				stringBuffer.append(genFeature.getAccessorName());

-			} else {

-				stringBuffer.append(genFeature.getGetAccessor());

-			}

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			stringBuffer.append(positiveOffsetCorrection);

-			stringBuffer.append(TEXT_11);

-		} else if (!genFeature.isVolatile()) {

-			if (genModel.isVirtualDelegation()) {

-				if (!genModel.isSuppressNotification()) {

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_13);

-				}

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(positiveOffsetCorrection);

-				stringBuffer.append(TEXT_15);

-			} else {

-				if (!genModel.isSuppressNotification()) {

-					stringBuffer.append(TEXT_16);

-					stringBuffer.append(genFeature.getImportedType(genClass));

-					stringBuffer.append(TEXT_17);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_18);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_19);

-				}

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_21);

-			}

-			if (genModel.isVirtualDelegation()) {

-				if (!genModel.isSuppressNotification()) {

-					stringBuffer.append(TEXT_22);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_23);

-				}

-			} else if (genClass.isESetFlag(genFeature)) {

-				if (!genModel.isSuppressNotification()) {

-					stringBuffer.append(TEXT_24);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(genClass.getESetFlagsField(genFeature));

-					stringBuffer.append(TEXT_26);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_27);

-				}

-				stringBuffer.append(TEXT_28);

-				stringBuffer.append(genClass.getESetFlagsField(genFeature));

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_30);

-			} else {

-				if (!genModel.isSuppressNotification()) {

-					stringBuffer.append(TEXT_31);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_32);

-					stringBuffer.append(genFeature.getUncapName());

-					stringBuffer.append(TEXT_33);

-				}

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genFeature.getUncapName());

-				stringBuffer.append(TEXT_35);

-			}

-			if (!genModel.isSuppressNotification()) {

-				stringBuffer.append(TEXT_36);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-				stringBuffer.append(TEXT_37);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-				stringBuffer.append(TEXT_39);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(positiveOffsetCorrection);

-				stringBuffer.append(TEXT_40);

-				if (genModel.isVirtualDelegation()) {

-					stringBuffer.append(TEXT_41);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_42);

-				} else {

-					stringBuffer.append(TEXT_43);

-					stringBuffer.append(genFeature.getCapName());

-				}

-				stringBuffer.append(TEXT_44);

-				if (genModel.isVirtualDelegation()) {

-					stringBuffer.append(TEXT_45);

-				} else {

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_47);

-				}

-				stringBuffer.append(TEXT_48);

-			}

-		} else {

-			stringBuffer.append(TEXT_49);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0zlmwGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/basicUnsetGenFeature.todo.override.javajetinc

-		}

-		stringBuffer.append(TEXT_50);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacebasicUnsetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized InterfacebasicUnsetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacebasicUnsetGenFeatureoverride result = new InterfacebasicUnsetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\tpublic ";
+	protected final String TEXT_4 = " basicUnset";
+	protected final String TEXT_5 = "(";
+	protected final String TEXT_6 = " msgs)" + NL + "\t{";
+	protected final String TEXT_7 = NL + "\t\treturn eDynamicInverseRemove((";
+	protected final String TEXT_8 = ")";
+	protected final String TEXT_9 = "basicGet";
+	protected final String TEXT_10 = "(), ";
+	protected final String TEXT_11 = ", msgs);";
+	protected final String TEXT_12 = "Object old";
+	protected final String TEXT_13 = " = ";
+	protected final String TEXT_14 = "eVirtualUnset(";
+	protected final String TEXT_15 = ");";
+	protected final String TEXT_16 = NL + "\t\t";
+	protected final String TEXT_17 = " old";
+	protected final String TEXT_18 = " = ";
+	protected final String TEXT_19 = ";";
+	protected final String TEXT_20 = NL + "\t\t";
+	protected final String TEXT_21 = " = null;";
+	protected final String TEXT_22 = NL + "\t\tboolean isSetChange = old";
+	protected final String TEXT_23 = " != EVIRTUAL_NO_VALUE;";
+	protected final String TEXT_24 = NL + "\t\tboolean old";
+	protected final String TEXT_25 = "ESet = (";
+	protected final String TEXT_26 = " & ";
+	protected final String TEXT_27 = "_ESETFLAG) != 0;";
+	protected final String TEXT_28 = NL + "\t\t";
+	protected final String TEXT_29 = " &= ~";
+	protected final String TEXT_30 = "_ESETFLAG;";
+	protected final String TEXT_31 = NL + "\t\tboolean old";
+	protected final String TEXT_32 = "ESet = ";
+	protected final String TEXT_33 = "ESet;";
+	protected final String TEXT_34 = NL + "\t\t";
+	protected final String TEXT_35 = "ESet = false;";
+	protected final String TEXT_36 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_37 = " notification = new ";
+	protected final String TEXT_38 = "(this, ";
+	protected final String TEXT_39 = ".UNSET, ";
+	protected final String TEXT_40 = ", ";
+	protected final String TEXT_41 = "isSetChange ? old";
+	protected final String TEXT_42 = " : null";
+	protected final String TEXT_43 = "old";
+	protected final String TEXT_44 = ", null, ";
+	protected final String TEXT_45 = "isSetChange";
+	protected final String TEXT_46 = "old";
+	protected final String TEXT_47 = "ESet";
+	protected final String TEXT_48 = ");" + NL
+			+ "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);" + NL + "\t\t}" + NL
+			+ "\t\treturn msgs;";
+	protected final String TEXT_49 = NL;
+	protected final String TEXT_50 = NL + "\t}" + NL + NL;
+	protected final String TEXT_51 = NL;
+	protected final String TEXT_52 = NL;
+
+	public InterfacebasicUnsetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_51);
+		stringBuffer.append(TEXT_52);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isJDK50) { //Class/basicUnsetGenFeature.annotations.insert.javajetinc
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0zb1wGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+		}
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+		stringBuffer.append(TEXT_6);
+		if (genModel.isDynamicDelegation()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+			stringBuffer.append(TEXT_8);
+			if (genFeature.isResolveProxies()) {
+				stringBuffer.append(TEXT_9);
+				stringBuffer.append(genFeature.getAccessorName());
+			} else {
+				stringBuffer.append(genFeature.getGetAccessor());
+			}
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			stringBuffer.append(positiveOffsetCorrection);
+			stringBuffer.append(TEXT_11);
+		} else if (!genFeature.isVolatile()) {
+			if (genModel.isVirtualDelegation()) {
+				if (!genModel.isSuppressNotification()) {
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_13);
+				}
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(positiveOffsetCorrection);
+				stringBuffer.append(TEXT_15);
+			} else {
+				if (!genModel.isSuppressNotification()) {
+					stringBuffer.append(TEXT_16);
+					stringBuffer.append(genFeature.getImportedType(genClass));
+					stringBuffer.append(TEXT_17);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_18);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_19);
+				}
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_21);
+			}
+			if (genModel.isVirtualDelegation()) {
+				if (!genModel.isSuppressNotification()) {
+					stringBuffer.append(TEXT_22);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_23);
+				}
+			} else if (genClass.isESetFlag(genFeature)) {
+				if (!genModel.isSuppressNotification()) {
+					stringBuffer.append(TEXT_24);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(genClass.getESetFlagsField(genFeature));
+					stringBuffer.append(TEXT_26);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_27);
+				}
+				stringBuffer.append(TEXT_28);
+				stringBuffer.append(genClass.getESetFlagsField(genFeature));
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_30);
+			} else {
+				if (!genModel.isSuppressNotification()) {
+					stringBuffer.append(TEXT_31);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_32);
+					stringBuffer.append(genFeature.getUncapName());
+					stringBuffer.append(TEXT_33);
+				}
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genFeature.getUncapName());
+				stringBuffer.append(TEXT_35);
+			}
+			if (!genModel.isSuppressNotification()) {
+				stringBuffer.append(TEXT_36);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+				stringBuffer.append(TEXT_37);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+				stringBuffer.append(TEXT_39);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(positiveOffsetCorrection);
+				stringBuffer.append(TEXT_40);
+				if (genModel.isVirtualDelegation()) {
+					stringBuffer.append(TEXT_41);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_42);
+				} else {
+					stringBuffer.append(TEXT_43);
+					stringBuffer.append(genFeature.getCapName());
+				}
+				stringBuffer.append(TEXT_44);
+				if (genModel.isVirtualDelegation()) {
+					stringBuffer.append(TEXT_45);
+				} else {
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_47);
+				}
+				stringBuffer.append(TEXT_48);
+			}
+		} else {
+			stringBuffer.append(TEXT_49);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0zlmwGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/basicUnsetGenFeature.todo.override.javajetinc
+		}
+		stringBuffer.append(TEXT_50);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureinsert.java
index 48fc2ae..574464d 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacedeclaredFieldGenFeatureinsert {

-	protected static String nl;

-

-	public static synchronized InterfacedeclaredFieldGenFeatureinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacedeclaredFieldGenFeatureinsert result = new InterfacedeclaredFieldGenFeatureinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacedeclaredFieldGenFeatureinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacedeclaredFieldGenFeatureinsert {
+	protected static String nl;
+
+	public static synchronized InterfacedeclaredFieldGenFeatureinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacedeclaredFieldGenFeatureinsert result = new InterfacedeclaredFieldGenFeatureinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacedeclaredFieldGenFeatureinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureoverride.java
index 526579e..d8bbf4e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacedeclaredFieldGenFeatureoverride.java
@@ -1,708 +1,703 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacedeclaredFieldGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized InterfacedeclaredFieldGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacedeclaredFieldGenFeatureoverride result = new InterfacedeclaredFieldGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * The cached setting delegate for the '{@link #";

-	protected final String TEXT_3 = "() <em>";

-	protected final String TEXT_4 = "</em>}' ";

-	protected final String TEXT_5 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @see #";

-	protected final String TEXT_6 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_7 = NL + "\t@";

-	protected final String TEXT_8 = NL + "\tprotected ";

-	protected final String TEXT_9 = ".Internal.SettingDelegate ";

-	protected final String TEXT_10 = "__ESETTING_DELEGATE = ((";

-	protected final String TEXT_11 = ".Internal)";

-	protected final String TEXT_12 = ").getSettingDelegate();" + NL;

-	protected final String TEXT_13 = NL + "\t/**" + NL + "\t * The cached value of the '{@link #";

-	protected final String TEXT_14 = "() <em>";

-	protected final String TEXT_15 = "</em>}' ";

-	protected final String TEXT_16 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @see #";

-	protected final String TEXT_17 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_18 = NL + "\t@";

-	protected final String TEXT_19 = NL + "\tprotected ";

-	protected final String TEXT_20 = " ";

-	protected final String TEXT_21 = ";" + NL;

-	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";

-	protected final String TEXT_23 = "() <em>";

-	protected final String TEXT_24 = "</em>}' array accessor." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

-	protected final String TEXT_25 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_26 = NL + "\t@SuppressWarnings(\"rawtypes\")";

-	protected final String TEXT_27 = NL + "\tprotected static final ";

-	protected final String TEXT_28 = "[] ";

-	protected final String TEXT_29 = "_EEMPTY_ARRAY = new ";

-	protected final String TEXT_30 = " [0]";

-	protected final String TEXT_31 = ";" + NL;

-	protected final String TEXT_32 = NL + "\t/**" + NL + "\t * The default value of the '{@link #";

-	protected final String TEXT_33 = "() <em>";

-	protected final String TEXT_34 = "</em>}' ";

-	protected final String TEXT_35 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @see #";

-	protected final String TEXT_36 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_37 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_38 = NL + "\tprotected static final ";

-	protected final String TEXT_39 = " ";

-	protected final String TEXT_40 = "; // TODO The default value literal \"";

-	protected final String TEXT_41 = "\" is not valid.";

-	protected final String TEXT_42 = " = ";

-	protected final String TEXT_43 = ";";

-	protected final String TEXT_44 = NL;

-	protected final String TEXT_45 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_46 = NL + "\t@";

-	protected final String TEXT_47 = NL + "\tprotected int ";

-	protected final String TEXT_48 = " = 0;" + NL;

-	protected final String TEXT_49 = NL + "\t/**" + NL

-			+ "\t * The offset of the flags representing the value of the '{@link #";

-	protected final String TEXT_50 = "() <em>";

-	protected final String TEXT_51 = "</em>}' ";

-	protected final String TEXT_52 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\tprotected static final int ";

-	protected final String TEXT_53 = "_EFLAG_OFFSET = ";

-	protected final String TEXT_54 = ";" + NL + "" + NL + "\t/**" + NL

-			+ "\t * The flags representing the default value of the '{@link #";

-	protected final String TEXT_55 = "() <em>";

-	protected final String TEXT_56 = "</em>}' ";

-	protected final String TEXT_57 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\tprotected static final int ";

-	protected final String TEXT_58 = "_EFLAG_DEFAULT = ";

-	protected final String TEXT_59 = ".ordinal()";

-	protected final String TEXT_60 = ".VALUES.indexOf(";

-	protected final String TEXT_61 = ")";

-	protected final String TEXT_62 = " << ";

-	protected final String TEXT_63 = "_EFLAG_OFFSET;" + NL + "" + NL + "\t/**" + NL

-			+ "\t * The array of enumeration values for '{@link ";

-	protected final String TEXT_64 = " ";

-	protected final String TEXT_65 = "}'" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"

-			+ NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\tprivate static final ";

-	protected final String TEXT_66 = "[] ";

-	protected final String TEXT_67 = "_EFLAG_VALUES = ";

-	protected final String TEXT_68 = ".values()";

-	protected final String TEXT_69 = "(";

-	protected final String TEXT_70 = "[])";

-	protected final String TEXT_71 = ".VALUES.toArray(new ";

-	protected final String TEXT_72 = "[";

-	protected final String TEXT_73 = ".VALUES.size()])";

-	protected final String TEXT_74 = ";" + NL;

-	protected final String TEXT_75 = NL + "\t/**" + NL + "\t * The flag";

-	protected final String TEXT_76 = " representing the value of the '{@link #";

-	protected final String TEXT_77 = "() <em>";

-	protected final String TEXT_78 = "</em>}' ";

-	protected final String TEXT_79 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @see #";

-	protected final String TEXT_80 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL

-			+ "\tprotected static final int ";

-	protected final String TEXT_81 = "_EFLAG = ";

-	protected final String TEXT_82 = " << ";

-	protected final String TEXT_83 = "_EFLAG_OFFSET";

-	protected final String TEXT_84 = ";" + NL;

-	protected final String TEXT_85 = NL + "\t/**" + NL + "\t * The cached value of the '{@link #";

-	protected final String TEXT_86 = "() <em>";

-	protected final String TEXT_87 = "</em>}' ";

-	protected final String TEXT_88 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @see #";

-	protected final String TEXT_89 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_90 = NL + "\t@";

-	protected final String TEXT_91 = NL + "\tprotected ";

-	protected final String TEXT_92 = " ";

-	protected final String TEXT_93 = " = ";

-	protected final String TEXT_94 = ";" + NL;

-	protected final String TEXT_95 = NL

-			+ "\t/**"

-			+ NL

-			+ "\t * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set."

-			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_96 = NL + "\t@";

-	protected final String TEXT_97 = NL + "\tprotected int ";

-	protected final String TEXT_98 = " = 0;" + NL;

-	protected final String TEXT_99 = NL + "\t/**" + NL + "\t * The flag representing whether the ";

-	protected final String TEXT_100 = " ";

-	protected final String TEXT_101 = " has been set." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL

-			+ "\tprotected static final int ";

-	protected final String TEXT_102 = "_ESETFLAG = 1 << ";

-	protected final String TEXT_103 = ";" + NL;

-	protected final String TEXT_104 = NL + "\t/**" + NL + "\t * This is true if the ";

-	protected final String TEXT_105 = " ";

-	protected final String TEXT_106 = " has been set." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";

-	protected final String TEXT_107 = NL + "\t@";

-	protected final String TEXT_108 = NL + "\tprotected boolean ";

-	protected final String TEXT_109 = "ESet;" + NL;

-	protected final String TEXT_110 = NL;

-	protected final String TEXT_111 = NL;

-	protected final String TEXT_112 = NL;

-	protected final String TEXT_113 = NL;

-

-	public InterfacedeclaredFieldGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_112);

-		stringBuffer.append(TEXT_113);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genFeature.hasSettingDelegate()) {

-			stringBuffer.append(TEXT_2);

-			stringBuffer.append(genFeature.getGetAccessor());

-			stringBuffer.append(TEXT_3);

-			stringBuffer.append(genFeature.getFormattedName());

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(genFeature.getFeatureKind());

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genFeature.getGetAccessor());

-			stringBuffer.append(TEXT_6);

-			if (isGWT) {

-				stringBuffer.append(TEXT_7);

-				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-			}

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genFeature.getUpperName());

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));

-			stringBuffer.append(TEXT_11);

-			stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-			stringBuffer.append(TEXT_12);

-		} else if (genFeature.isListType() || genFeature.isReferenceType()) {

-			if (genClass.isField(genFeature)) {

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genFeature.getFormattedName());

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(genFeature.getFeatureKind());

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_17);

-				if (isGWT) {

-					stringBuffer.append(TEXT_18);

-					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-				}

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(genFeature.getImportedInternalType(genClass));

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_21);

-			}

-			if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()

-					&& !genFeature.isMapType()) {

-				String rawListItemType = genFeature.getRawListItemType(genClass);

-				int index = rawListItemType.indexOf('[');

-				String head = rawListItemType;

-				String tail = "";

-				if (index != -1) {

-					head = rawListItemType.substring(0, index);

-					tail = rawListItemType.substring(index);

-				}

-				stringBuffer.append(TEXT_22);

-				stringBuffer.append(genFeature.getGetArrayAccessor());

-				stringBuffer.append(TEXT_23);

-				stringBuffer.append(genFeature.getFormattedName());

-				stringBuffer.append(TEXT_24);

-				stringBuffer.append(genFeature.getGetArrayAccessor());

-				stringBuffer.append(TEXT_25);

-				if (genFeature.getQualifiedListItemType(genClass).contains("<")

-						|| genFeature.getArrayItemType(genClass).contains("<")) {

-					stringBuffer.append(TEXT_26);

-				}

-				stringBuffer.append(TEXT_27);

-				stringBuffer.append(rawListItemType);

-				stringBuffer.append(TEXT_28);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(head);

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(tail);

-				stringBuffer.append(TEXT_31);

-			}

-		} else {

-			if (genFeature.hasEDefault()

-					&& (!genFeature.isVolatile() || !genModel.isReflectiveDelegation()

-							&& (!genFeature.hasDelegateFeature() || !genFeature.isUnsettable()))) {

-				String staticDefaultValue = genFeature.getStaticDefaultValue();

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_33);

-				stringBuffer.append(genFeature.getFormattedName());

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genFeature.getFeatureKind());

-				stringBuffer.append(TEXT_35);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_36);

-				if (genModel.useGenerics() && genFeature.isListDataType() && genFeature.isSetDefaultValue()) {

-					stringBuffer.append(TEXT_37);

-				}

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_39);

-				stringBuffer.append(genFeature.getEDefault());

-				if ("".equals(staticDefaultValue)) {

-					stringBuffer.append(TEXT_40);

-					stringBuffer.append(genFeature.getEcoreFeature().getDefaultValueLiteral());

-					stringBuffer.append(TEXT_41);

-				} else {

-					stringBuffer.append(TEXT_42);

-					stringBuffer.append(staticDefaultValue);

-					stringBuffer.append(TEXT_43);

-					stringBuffer.append(genModel.getNonNLS(staticDefaultValue));

-				}

-				stringBuffer.append(TEXT_44);

-			}

-			if (genClass.isField(genFeature)) {

-				if (genClass.isFlag(genFeature)) {

-					int flagIndex = genClass.getFlagIndex(genFeature);

-					if (flagIndex > 31 && flagIndex % 32 == 0) {

-						stringBuffer.append(TEXT_45);

-						if (isGWT) {

-							stringBuffer.append(TEXT_46);

-							stringBuffer

-									.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-						}

-						stringBuffer.append(TEXT_47);

-						stringBuffer.append(genClass.getFlagsField(genFeature));

-						stringBuffer.append(TEXT_48);

-					}

-					if (genFeature.isEnumType()) {

-						stringBuffer.append(TEXT_49);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_50);

-						stringBuffer.append(genFeature.getFormattedName());

-						stringBuffer.append(TEXT_51);

-						stringBuffer.append(genFeature.getFeatureKind());

-						stringBuffer.append(TEXT_52);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_53);

-						stringBuffer.append(flagIndex % 32);

-						stringBuffer.append(TEXT_54);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(genFeature.getFormattedName());

-						stringBuffer.append(TEXT_56);

-						stringBuffer.append(genFeature.getFeatureKind());

-						stringBuffer.append(TEXT_57);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_58);

-						if (isJDK50) {

-							stringBuffer.append(genFeature.getEDefault());

-							stringBuffer.append(TEXT_59);

-						} else {

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_60);

-							stringBuffer.append(genFeature.getEDefault());

-							stringBuffer.append(TEXT_61);

-						}

-						stringBuffer.append(TEXT_62);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_63);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_64);

-						stringBuffer.append(genFeature.getTypeGenClassifier().getFormattedName());

-						stringBuffer.append(TEXT_65);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_66);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_67);

-						if (isJDK50) {

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_68);

-						} else {

-							stringBuffer.append(TEXT_69);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_70);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_71);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_72);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_73);

-						}

-						stringBuffer.append(TEXT_74);

-					}

-					stringBuffer.append(TEXT_75);

-					stringBuffer.append(genClass.getFlagSize(genFeature) > 1 ? "s" : "");

-					stringBuffer.append(TEXT_76);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_77);

-					stringBuffer.append(genFeature.getFormattedName());

-					stringBuffer.append(TEXT_78);

-					stringBuffer.append(genFeature.getFeatureKind());

-					stringBuffer.append(TEXT_79);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_80);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_81);

-					stringBuffer.append(genClass.getFlagMask(genFeature));

-					stringBuffer.append(TEXT_82);

-					if (genFeature.isEnumType()) {

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_83);

-					} else {

-						stringBuffer.append(flagIndex % 32);

-					}

-					stringBuffer.append(TEXT_84);

-				} else {

-					stringBuffer.append(TEXT_85);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_86);

-					stringBuffer.append(genFeature.getFormattedName());

-					stringBuffer.append(TEXT_87);

-					stringBuffer.append(genFeature.getFeatureKind());

-					stringBuffer.append(TEXT_88);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_89);

-					if (isGWT) {

-						stringBuffer.append(TEXT_90);

-						stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-					}

-					stringBuffer.append(TEXT_91);

-					stringBuffer.append(genFeature.getImportedType(genClass));

-					stringBuffer.append(TEXT_92);

-					stringBuffer.append(genFeature.getSafeName());

-					if (genFeature.hasEDefault()) {

-						stringBuffer.append(TEXT_93);

-						stringBuffer.append(genFeature.getEDefault());

-					}

-					stringBuffer.append(TEXT_94);

-				}

-			}

-		}

-		if (genClass.isESetField(genFeature)) {

-			if (genClass.isESetFlag(genFeature)) {

-				int flagIndex = genClass.getESetFlagIndex(genFeature);

-				if (flagIndex > 31 && flagIndex % 32 == 0) {

-					stringBuffer.append(TEXT_95);

-					if (isGWT) {

-						stringBuffer.append(TEXT_96);

-						stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-					}

-					stringBuffer.append(TEXT_97);

-					stringBuffer.append(genClass.getESetFlagsField(genFeature));

-					stringBuffer.append(TEXT_98);

-				}

-				stringBuffer.append(TEXT_99);

-				stringBuffer.append(genFeature.getFormattedName());

-				stringBuffer.append(TEXT_100);

-				stringBuffer.append(genFeature.getFeatureKind());

-				stringBuffer.append(TEXT_101);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_102);

-				stringBuffer.append(flagIndex % 32);

-				stringBuffer.append(TEXT_103);

-			} else {

-				stringBuffer.append(TEXT_104);

-				stringBuffer.append(genFeature.getFormattedName());

-				stringBuffer.append(TEXT_105);

-				stringBuffer.append(genFeature.getFeatureKind());

-				stringBuffer.append(TEXT_106);

-				if (isGWT) {

-					stringBuffer.append(TEXT_107);

-					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));

-				}

-				stringBuffer.append(TEXT_108);

-				stringBuffer.append(genFeature.getUncapName());

-				stringBuffer.append(TEXT_109);

-			}

-		}

-		stringBuffer.append(TEXT_110);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.declaredFieldGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vHWcGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_111);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacedeclaredFieldGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized InterfacedeclaredFieldGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacedeclaredFieldGenFeatureoverride result = new InterfacedeclaredFieldGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * The cached setting delegate for the '{@link #";
+	protected final String TEXT_3 = "() <em>";
+	protected final String TEXT_4 = "</em>}' ";
+	protected final String TEXT_5 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @see #";
+	protected final String TEXT_6 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_7 = NL + "\t@";
+	protected final String TEXT_8 = NL + "\tprotected ";
+	protected final String TEXT_9 = ".Internal.SettingDelegate ";
+	protected final String TEXT_10 = "__ESETTING_DELEGATE = ((";
+	protected final String TEXT_11 = ".Internal)";
+	protected final String TEXT_12 = ").getSettingDelegate();" + NL;
+	protected final String TEXT_13 = NL + "\t/**" + NL + "\t * The cached value of the '{@link #";
+	protected final String TEXT_14 = "() <em>";
+	protected final String TEXT_15 = "</em>}' ";
+	protected final String TEXT_16 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @see #";
+	protected final String TEXT_17 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_18 = NL + "\t@";
+	protected final String TEXT_19 = NL + "\tprotected ";
+	protected final String TEXT_20 = " ";
+	protected final String TEXT_21 = ";" + NL;
+	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The empty value for the '{@link #";
+	protected final String TEXT_23 = "() <em>";
+	protected final String TEXT_24 = "</em>}' array accessor." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+	protected final String TEXT_25 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_26 = NL + "\t@SuppressWarnings(\"rawtypes\")";
+	protected final String TEXT_27 = NL + "\tprotected static final ";
+	protected final String TEXT_28 = "[] ";
+	protected final String TEXT_29 = "_EEMPTY_ARRAY = new ";
+	protected final String TEXT_30 = " [0]";
+	protected final String TEXT_31 = ";" + NL;
+	protected final String TEXT_32 = NL + "\t/**" + NL + "\t * The default value of the '{@link #";
+	protected final String TEXT_33 = "() <em>";
+	protected final String TEXT_34 = "</em>}' ";
+	protected final String TEXT_35 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @see #";
+	protected final String TEXT_36 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_37 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_38 = NL + "\tprotected static final ";
+	protected final String TEXT_39 = " ";
+	protected final String TEXT_40 = "; // TODO The default value literal \"";
+	protected final String TEXT_41 = "\" is not valid.";
+	protected final String TEXT_42 = " = ";
+	protected final String TEXT_43 = ";";
+	protected final String TEXT_44 = NL;
+	protected final String TEXT_45 = NL + "\t/**" + NL
+			+ "\t * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_46 = NL + "\t@";
+	protected final String TEXT_47 = NL + "\tprotected int ";
+	protected final String TEXT_48 = " = 0;" + NL;
+	protected final String TEXT_49 = NL + "\t/**" + NL
+			+ "\t * The offset of the flags representing the value of the '{@link #";
+	protected final String TEXT_50 = "() <em>";
+	protected final String TEXT_51 = "</em>}' ";
+	protected final String TEXT_52 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\tprotected static final int ";
+	protected final String TEXT_53 = "_EFLAG_OFFSET = ";
+	protected final String TEXT_54 = ";" + NL + "" + NL + "\t/**" + NL
+			+ "\t * The flags representing the default value of the '{@link #";
+	protected final String TEXT_55 = "() <em>";
+	protected final String TEXT_56 = "</em>}' ";
+	protected final String TEXT_57 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\tprotected static final int ";
+	protected final String TEXT_58 = "_EFLAG_DEFAULT = ";
+	protected final String TEXT_59 = ".ordinal()";
+	protected final String TEXT_60 = ".VALUES.indexOf(";
+	protected final String TEXT_61 = ")";
+	protected final String TEXT_62 = " << ";
+	protected final String TEXT_63 = "_EFLAG_OFFSET;" + NL + "" + NL + "\t/**" + NL
+			+ "\t * The array of enumeration values for '{@link ";
+	protected final String TEXT_64 = " ";
+	protected final String TEXT_65 = "}'" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\tprivate static final ";
+	protected final String TEXT_66 = "[] ";
+	protected final String TEXT_67 = "_EFLAG_VALUES = ";
+	protected final String TEXT_68 = ".values()";
+	protected final String TEXT_69 = "(";
+	protected final String TEXT_70 = "[])";
+	protected final String TEXT_71 = ".VALUES.toArray(new ";
+	protected final String TEXT_72 = "[";
+	protected final String TEXT_73 = ".VALUES.size()])";
+	protected final String TEXT_74 = ";" + NL;
+	protected final String TEXT_75 = NL + "\t/**" + NL + "\t * The flag";
+	protected final String TEXT_76 = " representing the value of the '{@link #";
+	protected final String TEXT_77 = "() <em>";
+	protected final String TEXT_78 = "</em>}' ";
+	protected final String TEXT_79 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @see #";
+	protected final String TEXT_80 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL
+			+ "\tprotected static final int ";
+	protected final String TEXT_81 = "_EFLAG = ";
+	protected final String TEXT_82 = " << ";
+	protected final String TEXT_83 = "_EFLAG_OFFSET";
+	protected final String TEXT_84 = ";" + NL;
+	protected final String TEXT_85 = NL + "\t/**" + NL + "\t * The cached value of the '{@link #";
+	protected final String TEXT_86 = "() <em>";
+	protected final String TEXT_87 = "</em>}' ";
+	protected final String TEXT_88 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @see #";
+	protected final String TEXT_89 = "()" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_90 = NL + "\t@";
+	protected final String TEXT_91 = NL + "\tprotected ";
+	protected final String TEXT_92 = " ";
+	protected final String TEXT_93 = " = ";
+	protected final String TEXT_94 = ";" + NL;
+	protected final String TEXT_95 = NL + "\t/**" + NL
+			+ "\t * An additional set of bit flags representing the values of boolean attributes and whether unsettable features have been set."
+			+ NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
+			+ "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_96 = NL + "\t@";
+	protected final String TEXT_97 = NL + "\tprotected int ";
+	protected final String TEXT_98 = " = 0;" + NL;
+	protected final String TEXT_99 = NL + "\t/**" + NL + "\t * The flag representing whether the ";
+	protected final String TEXT_100 = " ";
+	protected final String TEXT_101 = " has been set." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL
+			+ "\tprotected static final int ";
+	protected final String TEXT_102 = "_ESETFLAG = 1 << ";
+	protected final String TEXT_103 = ";" + NL;
+	protected final String TEXT_104 = NL + "\t/**" + NL + "\t * This is true if the ";
+	protected final String TEXT_105 = " ";
+	protected final String TEXT_106 = " has been set." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */";
+	protected final String TEXT_107 = NL + "\t@";
+	protected final String TEXT_108 = NL + "\tprotected boolean ";
+	protected final String TEXT_109 = "ESet;" + NL;
+	protected final String TEXT_110 = NL;
+	protected final String TEXT_111 = NL;
+	protected final String TEXT_112 = NL;
+	protected final String TEXT_113 = NL;
+
+	public InterfacedeclaredFieldGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_112);
+		stringBuffer.append(TEXT_113);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genFeature.hasSettingDelegate()) {
+			stringBuffer.append(TEXT_2);
+			stringBuffer.append(genFeature.getGetAccessor());
+			stringBuffer.append(TEXT_3);
+			stringBuffer.append(genFeature.getFormattedName());
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(genFeature.getFeatureKind());
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genFeature.getGetAccessor());
+			stringBuffer.append(TEXT_6);
+			if (isGWT) {
+				stringBuffer.append(TEXT_7);
+				stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+			}
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genFeature.getUpperName());
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
+			stringBuffer.append(TEXT_11);
+			stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+			stringBuffer.append(TEXT_12);
+		} else if (genFeature.isListType() || genFeature.isReferenceType()) {
+			if (genClass.isField(genFeature)) {
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genFeature.getFormattedName());
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(genFeature.getFeatureKind());
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_17);
+				if (isGWT) {
+					stringBuffer.append(TEXT_18);
+					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+				}
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(genFeature.getImportedInternalType(genClass));
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_21);
+			}
+			if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+					&& !genFeature.isMapType()) {
+				String rawListItemType = genFeature.getRawListItemType(genClass);
+				int index = rawListItemType.indexOf('[');
+				String head = rawListItemType;
+				String tail = "";
+				if (index != -1) {
+					head = rawListItemType.substring(0, index);
+					tail = rawListItemType.substring(index);
+				}
+				stringBuffer.append(TEXT_22);
+				stringBuffer.append(genFeature.getGetArrayAccessor());
+				stringBuffer.append(TEXT_23);
+				stringBuffer.append(genFeature.getFormattedName());
+				stringBuffer.append(TEXT_24);
+				stringBuffer.append(genFeature.getGetArrayAccessor());
+				stringBuffer.append(TEXT_25);
+				if (genFeature.getQualifiedListItemType(genClass).contains("<")
+						|| genFeature.getArrayItemType(genClass).contains("<")) {
+					stringBuffer.append(TEXT_26);
+				}
+				stringBuffer.append(TEXT_27);
+				stringBuffer.append(rawListItemType);
+				stringBuffer.append(TEXT_28);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(head);
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(tail);
+				stringBuffer.append(TEXT_31);
+			}
+		} else {
+			if (genFeature.hasEDefault() && (!genFeature.isVolatile() || !genModel.isReflectiveDelegation()
+					&& (!genFeature.hasDelegateFeature() || !genFeature.isUnsettable()))) {
+				String staticDefaultValue = genFeature.getStaticDefaultValue();
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_33);
+				stringBuffer.append(genFeature.getFormattedName());
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genFeature.getFeatureKind());
+				stringBuffer.append(TEXT_35);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_36);
+				if (genModel.useGenerics() && genFeature.isListDataType() && genFeature.isSetDefaultValue()) {
+					stringBuffer.append(TEXT_37);
+				}
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_39);
+				stringBuffer.append(genFeature.getEDefault());
+				if ("".equals(staticDefaultValue)) {
+					stringBuffer.append(TEXT_40);
+					stringBuffer.append(genFeature.getEcoreFeature().getDefaultValueLiteral());
+					stringBuffer.append(TEXT_41);
+				} else {
+					stringBuffer.append(TEXT_42);
+					stringBuffer.append(staticDefaultValue);
+					stringBuffer.append(TEXT_43);
+					stringBuffer.append(genModel.getNonNLS(staticDefaultValue));
+				}
+				stringBuffer.append(TEXT_44);
+			}
+			if (genClass.isField(genFeature)) {
+				if (genClass.isFlag(genFeature)) {
+					int flagIndex = genClass.getFlagIndex(genFeature);
+					if (flagIndex > 31 && flagIndex % 32 == 0) {
+						stringBuffer.append(TEXT_45);
+						if (isGWT) {
+							stringBuffer.append(TEXT_46);
+							stringBuffer
+									.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+						}
+						stringBuffer.append(TEXT_47);
+						stringBuffer.append(genClass.getFlagsField(genFeature));
+						stringBuffer.append(TEXT_48);
+					}
+					if (genFeature.isEnumType()) {
+						stringBuffer.append(TEXT_49);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_50);
+						stringBuffer.append(genFeature.getFormattedName());
+						stringBuffer.append(TEXT_51);
+						stringBuffer.append(genFeature.getFeatureKind());
+						stringBuffer.append(TEXT_52);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_53);
+						stringBuffer.append(flagIndex % 32);
+						stringBuffer.append(TEXT_54);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(genFeature.getFormattedName());
+						stringBuffer.append(TEXT_56);
+						stringBuffer.append(genFeature.getFeatureKind());
+						stringBuffer.append(TEXT_57);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_58);
+						if (isJDK50) {
+							stringBuffer.append(genFeature.getEDefault());
+							stringBuffer.append(TEXT_59);
+						} else {
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_60);
+							stringBuffer.append(genFeature.getEDefault());
+							stringBuffer.append(TEXT_61);
+						}
+						stringBuffer.append(TEXT_62);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_63);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_64);
+						stringBuffer.append(genFeature.getTypeGenClassifier().getFormattedName());
+						stringBuffer.append(TEXT_65);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_66);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_67);
+						if (isJDK50) {
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_68);
+						} else {
+							stringBuffer.append(TEXT_69);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_70);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_71);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_72);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_73);
+						}
+						stringBuffer.append(TEXT_74);
+					}
+					stringBuffer.append(TEXT_75);
+					stringBuffer.append(genClass.getFlagSize(genFeature) > 1 ? "s" : "");
+					stringBuffer.append(TEXT_76);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_77);
+					stringBuffer.append(genFeature.getFormattedName());
+					stringBuffer.append(TEXT_78);
+					stringBuffer.append(genFeature.getFeatureKind());
+					stringBuffer.append(TEXT_79);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_80);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_81);
+					stringBuffer.append(genClass.getFlagMask(genFeature));
+					stringBuffer.append(TEXT_82);
+					if (genFeature.isEnumType()) {
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_83);
+					} else {
+						stringBuffer.append(flagIndex % 32);
+					}
+					stringBuffer.append(TEXT_84);
+				} else {
+					stringBuffer.append(TEXT_85);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_86);
+					stringBuffer.append(genFeature.getFormattedName());
+					stringBuffer.append(TEXT_87);
+					stringBuffer.append(genFeature.getFeatureKind());
+					stringBuffer.append(TEXT_88);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_89);
+					if (isGWT) {
+						stringBuffer.append(TEXT_90);
+						stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+					}
+					stringBuffer.append(TEXT_91);
+					stringBuffer.append(genFeature.getImportedType(genClass));
+					stringBuffer.append(TEXT_92);
+					stringBuffer.append(genFeature.getSafeName());
+					if (genFeature.hasEDefault()) {
+						stringBuffer.append(TEXT_93);
+						stringBuffer.append(genFeature.getEDefault());
+					}
+					stringBuffer.append(TEXT_94);
+				}
+			}
+		}
+		if (genClass.isESetField(genFeature)) {
+			if (genClass.isESetFlag(genFeature)) {
+				int flagIndex = genClass.getESetFlagIndex(genFeature);
+				if (flagIndex > 31 && flagIndex % 32 == 0) {
+					stringBuffer.append(TEXT_95);
+					if (isGWT) {
+						stringBuffer.append(TEXT_96);
+						stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+					}
+					stringBuffer.append(TEXT_97);
+					stringBuffer.append(genClass.getESetFlagsField(genFeature));
+					stringBuffer.append(TEXT_98);
+				}
+				stringBuffer.append(TEXT_99);
+				stringBuffer.append(genFeature.getFormattedName());
+				stringBuffer.append(TEXT_100);
+				stringBuffer.append(genFeature.getFeatureKind());
+				stringBuffer.append(TEXT_101);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_102);
+				stringBuffer.append(flagIndex % 32);
+				stringBuffer.append(TEXT_103);
+			} else {
+				stringBuffer.append(TEXT_104);
+				stringBuffer.append(genFeature.getFormattedName());
+				stringBuffer.append(TEXT_105);
+				stringBuffer.append(genFeature.getFeatureKind());
+				stringBuffer.append(TEXT_106);
+				if (isGWT) {
+					stringBuffer.append(TEXT_107);
+					stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
+				}
+				stringBuffer.append(TEXT_108);
+				stringBuffer.append(genFeature.getUncapName());
+				stringBuffer.append(TEXT_109);
+			}
+		}
+		stringBuffer.append(TEXT_110);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.declaredFieldGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vHWcGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_111);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeIsSetoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeIsSetoverride.java
index 34ba02d..ff71621 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeIsSetoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeIsSetoverride.java
@@ -1,568 +1,570 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceeIsSetoverride {

-	protected static String nl;

-

-	public static synchronized InterfaceeIsSetoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceeIsSetoverride result = new InterfaceeIsSetoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_2 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_3 = NL + "\t@Override";

-	protected final String TEXT_4 = NL + "\tpublic boolean eIsSet(int featureID)" + NL + "\t{" + NL

-			+ "\t\tswitch (featureID";

-	protected final String TEXT_5 = ")" + NL + "\t\t{";

-	protected final String TEXT_6 = NL + "\t\t\tcase ";

-	protected final String TEXT_7 = ":";

-	protected final String TEXT_8 = NL + "\t\t\t\treturn isSet";

-	protected final String TEXT_9 = "();";

-	protected final String TEXT_10 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_11 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";

-	protected final String TEXT_12 = NL + "\t\t\t\treturn !((";

-	protected final String TEXT_13 = ".Internal.Wrapper)";

-	protected final String TEXT_14 = "()).featureMap().isEmpty();";

-	protected final String TEXT_15 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_16 = " != null && !";

-	protected final String TEXT_17 = ".featureMap().isEmpty();";

-	protected final String TEXT_18 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_19 = " != null && !";

-	protected final String TEXT_20 = ".isEmpty();";

-	protected final String TEXT_21 = NL + "\t\t\t\t";

-	protected final String TEXT_22 = " ";

-	protected final String TEXT_23 = " = (";

-	protected final String TEXT_24 = ")eVirtualGet(";

-	protected final String TEXT_25 = ");" + NL + "\t\t\t\treturn ";

-	protected final String TEXT_26 = " != null && !";

-	protected final String TEXT_27 = ".isEmpty();";

-	protected final String TEXT_28 = NL + "\t\t\t\treturn !";

-	protected final String TEXT_29 = "().isEmpty();";

-	protected final String TEXT_30 = NL + "\t\t\t\treturn isSet";

-	protected final String TEXT_31 = "();";

-	protected final String TEXT_32 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_33 = " != null;";

-	protected final String TEXT_34 = NL + "\t\t\t\treturn eVirtualGet(";

-	protected final String TEXT_35 = ") != null;";

-	protected final String TEXT_36 = NL + "\t\t\t\treturn basicGet";

-	protected final String TEXT_37 = "() != null;";

-	protected final String TEXT_38 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_39 = " != null;";

-	protected final String TEXT_40 = NL + "\t\t\t\treturn eVirtualGet(";

-	protected final String TEXT_41 = ") != null;";

-	protected final String TEXT_42 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_43 = "() != null;";

-	protected final String TEXT_44 = NL + "\t\t\t\treturn ((";

-	protected final String TEXT_45 = " & ";

-	protected final String TEXT_46 = "_EFLAG) != 0) != ";

-	protected final String TEXT_47 = ";";

-	protected final String TEXT_48 = NL + "\t\t\t\treturn (";

-	protected final String TEXT_49 = " & ";

-	protected final String TEXT_50 = "_EFLAG) != ";

-	protected final String TEXT_51 = "_EFLAG_DEFAULT;";

-	protected final String TEXT_52 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_53 = " != ";

-	protected final String TEXT_54 = ";";

-	protected final String TEXT_55 = NL + "\t\t\t\treturn eVirtualGet(";

-	protected final String TEXT_56 = ", ";

-	protected final String TEXT_57 = ") != ";

-	protected final String TEXT_58 = ";";

-	protected final String TEXT_59 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_60 = "() != ";

-	protected final String TEXT_61 = ";";

-	protected final String TEXT_62 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_63 = " == null ? ";

-	protected final String TEXT_64 = " != null : !";

-	protected final String TEXT_65 = ".equals(";

-	protected final String TEXT_66 = ");";

-	protected final String TEXT_67 = NL + "\t\t\t\t";

-	protected final String TEXT_68 = " ";

-	protected final String TEXT_69 = " = (";

-	protected final String TEXT_70 = ")eVirtualGet(";

-	protected final String TEXT_71 = ", ";

-	protected final String TEXT_72 = ");" + NL + "\t\t\t\treturn ";

-	protected final String TEXT_73 = " == null ? ";

-	protected final String TEXT_74 = " != null : !";

-	protected final String TEXT_75 = ".equals(";

-	protected final String TEXT_76 = ");";

-	protected final String TEXT_77 = NL + "\t\t\t\treturn ";

-	protected final String TEXT_78 = " == null ? ";

-	protected final String TEXT_79 = "() != null : !";

-	protected final String TEXT_80 = ".equals(";

-	protected final String TEXT_81 = "());";

-	protected final String TEXT_82 = NL + "\t\t}";

-	protected final String TEXT_83 = NL + "\t\treturn super.eIsSet(featureID);";

-	protected final String TEXT_84 = NL + "\t\treturn eDynamicIsSet(featureID);";

-	protected final String TEXT_85 = NL + "\t}" + NL + NL;

-	protected final String TEXT_86 = NL;

-	protected final String TEXT_87 = NL;

-

-	public InterfaceeIsSetoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object isJDK50Parameter : isJDK50List) {

-						for (Object isInterfaceParameter : isInterfaceList) {

-							for (Object isImplementationParameter : isImplementationList) {

-								for (Object isGWTParameter : isGWTList) {

-									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-										for (Object singleWildcardParameter : singleWildcardList) {

-											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-															this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-															this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-															this.isGWT = (java.lang.Boolean) isGWTParameter;

-															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-															this.singleWildcard = (java.lang.String) singleWildcardParameter;

-															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-															if (preCondition(ctx)) {

-																ctx.setNode(new Node.Container(currentNode, getClass()));

-																orchestration(ctx);

-															}

-

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_86);

-		stringBuffer.append(TEXT_87);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genModel.useGenerics()) {

-			for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {

-				if (genFeature.isListType() && !genFeature.isUnsettable() && !genFeature.isWrappedFeatureMapType()

-						&& !genClass.isField(genFeature) && genFeature.isField()

-						&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-					stringBuffer.append(TEXT_2);

-					break;

-				}

-			}

-		}

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_3);

-		}

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(negativeOffsetCorrection);

-		stringBuffer.append(TEXT_5);

-		for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {

-			String safeNameAccessor = genFeature.getSafeName();

-			if ("featureID".equals(safeNameAccessor)) {

-				safeNameAccessor = "this." + safeNameAccessor;

-			}

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			stringBuffer.append(TEXT_7);

-			if (genFeature.hasSettingDelegate()) {

-				if (genFeature.isUnsettable()) {

-					stringBuffer.append(TEXT_8);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_9);

-				} else {

-					stringBuffer.append(TEXT_10);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_11);

-				}

-			} else if (genFeature.isListType() && !genFeature.isUnsettable()) {

-				if (genFeature.isWrappedFeatureMapType()) {

-					if (genFeature.isVolatile()) {

-						stringBuffer.append(TEXT_12);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-						stringBuffer.append(TEXT_13);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_14);

-					} else {

-						stringBuffer.append(TEXT_15);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_16);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_17);

-					}

-				} else {

-					if (genClass.isField(genFeature)) {

-						stringBuffer.append(TEXT_18);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_19);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_20);

-					} else {

-						if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-							stringBuffer.append(TEXT_21);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_22);

-							stringBuffer.append(safeNameAccessor);

-							stringBuffer.append(TEXT_23);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_24);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_25);

-							stringBuffer.append(safeNameAccessor);

-							stringBuffer.append(TEXT_26);

-							stringBuffer.append(safeNameAccessor);

-							stringBuffer.append(TEXT_27);

-						} else {

-							stringBuffer.append(TEXT_28);

-							stringBuffer.append(genFeature.getGetAccessor());

-							stringBuffer.append(TEXT_29);

-						}

-					}

-				}

-			} else if (genFeature.isUnsettable()) {

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_31);

-			} else if (genFeature.isResolveProxies()) {

-				if (genClass.isField(genFeature)) {

-					stringBuffer.append(TEXT_32);

-					stringBuffer.append(safeNameAccessor);

-					stringBuffer.append(TEXT_33);

-				} else {

-					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-						stringBuffer.append(TEXT_34);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_35);

-					} else {

-						stringBuffer.append(TEXT_36);

-						stringBuffer.append(genFeature.getAccessorName());

-						stringBuffer.append(TEXT_37);

-					}

-				}

-			} else if (!genFeature.hasEDefault()) {

-				if (genClass.isField(genFeature)) {

-					stringBuffer.append(TEXT_38);

-					stringBuffer.append(safeNameAccessor);

-					stringBuffer.append(TEXT_39);

-				} else {

-					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-						stringBuffer.append(TEXT_40);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_41);

-					} else {

-						stringBuffer.append(TEXT_42);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_43);

-					}

-				}

-			} else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {

-				if (genClass.isField(genFeature)) {

-					if (genClass.isFlag(genFeature)) {

-						if (genFeature.isBooleanType()) {

-							stringBuffer.append(TEXT_44);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_45);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_46);

-							stringBuffer.append(genFeature.getEDefault());

-							stringBuffer.append(TEXT_47);

-						} else {

-							stringBuffer.append(TEXT_48);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_49);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_50);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_51);

-						}

-					} else {

-						stringBuffer.append(TEXT_52);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_53);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_54);

-					}

-				} else {

-					if (genFeature.isEnumType() && genFeature.isField()

-							&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_56);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_57);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_58);

-					} else {

-						stringBuffer.append(TEXT_59);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_60);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_61);

-					}

-				}

-			} else {//datatype

-				if (genClass.isField(genFeature)) {

-					stringBuffer.append(TEXT_62);

-					stringBuffer.append(genFeature.getEDefault());

-					stringBuffer.append(TEXT_63);

-					stringBuffer.append(safeNameAccessor);

-					stringBuffer.append(TEXT_64);

-					stringBuffer.append(genFeature.getEDefault());

-					stringBuffer.append(TEXT_65);

-					stringBuffer.append(safeNameAccessor);

-					stringBuffer.append(TEXT_66);

-				} else {

-					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {

-						stringBuffer.append(TEXT_67);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_68);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_69);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_70);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_71);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_72);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_73);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_74);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_75);

-						stringBuffer.append(safeNameAccessor);

-						stringBuffer.append(TEXT_76);

-					} else {

-						stringBuffer.append(TEXT_77);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_78);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_79);

-						stringBuffer.append(genFeature.getEDefault());

-						stringBuffer.append(TEXT_80);

-						stringBuffer.append(genFeature.getGetAccessor());

-						stringBuffer.append(TEXT_81);

-					}

-				}

-			}

-		}

-		stringBuffer.append(TEXT_82);

-		if (genModel.isMinimalReflectiveMethods()) {

-			stringBuffer.append(TEXT_83);

-		} else {

-			stringBuffer.append(TEXT_84);

-		}

-		stringBuffer.append(TEXT_85);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceeIsSetoverride {
+	protected static String nl;
+
+	public static synchronized InterfaceeIsSetoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceeIsSetoverride result = new InterfaceeIsSetoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_2 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_3 = NL + "\t@Override";
+	protected final String TEXT_4 = NL + "\tpublic boolean eIsSet(int featureID)" + NL + "\t{" + NL
+			+ "\t\tswitch (featureID";
+	protected final String TEXT_5 = ")" + NL + "\t\t{";
+	protected final String TEXT_6 = NL + "\t\t\tcase ";
+	protected final String TEXT_7 = ":";
+	protected final String TEXT_8 = NL + "\t\t\t\treturn isSet";
+	protected final String TEXT_9 = "();";
+	protected final String TEXT_10 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_11 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";
+	protected final String TEXT_12 = NL + "\t\t\t\treturn !((";
+	protected final String TEXT_13 = ".Internal.Wrapper)";
+	protected final String TEXT_14 = "()).featureMap().isEmpty();";
+	protected final String TEXT_15 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_16 = " != null && !";
+	protected final String TEXT_17 = ".featureMap().isEmpty();";
+	protected final String TEXT_18 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_19 = " != null && !";
+	protected final String TEXT_20 = ".isEmpty();";
+	protected final String TEXT_21 = NL + "\t\t\t\t";
+	protected final String TEXT_22 = " ";
+	protected final String TEXT_23 = " = (";
+	protected final String TEXT_24 = ")eVirtualGet(";
+	protected final String TEXT_25 = ");" + NL + "\t\t\t\treturn ";
+	protected final String TEXT_26 = " != null && !";
+	protected final String TEXT_27 = ".isEmpty();";
+	protected final String TEXT_28 = NL + "\t\t\t\treturn !";
+	protected final String TEXT_29 = "().isEmpty();";
+	protected final String TEXT_30 = NL + "\t\t\t\treturn isSet";
+	protected final String TEXT_31 = "();";
+	protected final String TEXT_32 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_33 = " != null;";
+	protected final String TEXT_34 = NL + "\t\t\t\treturn eVirtualGet(";
+	protected final String TEXT_35 = ") != null;";
+	protected final String TEXT_36 = NL + "\t\t\t\treturn basicGet";
+	protected final String TEXT_37 = "() != null;";
+	protected final String TEXT_38 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_39 = " != null;";
+	protected final String TEXT_40 = NL + "\t\t\t\treturn eVirtualGet(";
+	protected final String TEXT_41 = ") != null;";
+	protected final String TEXT_42 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_43 = "() != null;";
+	protected final String TEXT_44 = NL + "\t\t\t\treturn ((";
+	protected final String TEXT_45 = " & ";
+	protected final String TEXT_46 = "_EFLAG) != 0) != ";
+	protected final String TEXT_47 = ";";
+	protected final String TEXT_48 = NL + "\t\t\t\treturn (";
+	protected final String TEXT_49 = " & ";
+	protected final String TEXT_50 = "_EFLAG) != ";
+	protected final String TEXT_51 = "_EFLAG_DEFAULT;";
+	protected final String TEXT_52 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_53 = " != ";
+	protected final String TEXT_54 = ";";
+	protected final String TEXT_55 = NL + "\t\t\t\treturn eVirtualGet(";
+	protected final String TEXT_56 = ", ";
+	protected final String TEXT_57 = ") != ";
+	protected final String TEXT_58 = ";";
+	protected final String TEXT_59 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_60 = "() != ";
+	protected final String TEXT_61 = ";";
+	protected final String TEXT_62 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_63 = " == null ? ";
+	protected final String TEXT_64 = " != null : !";
+	protected final String TEXT_65 = ".equals(";
+	protected final String TEXT_66 = ");";
+	protected final String TEXT_67 = NL + "\t\t\t\t";
+	protected final String TEXT_68 = " ";
+	protected final String TEXT_69 = " = (";
+	protected final String TEXT_70 = ")eVirtualGet(";
+	protected final String TEXT_71 = ", ";
+	protected final String TEXT_72 = ");" + NL + "\t\t\t\treturn ";
+	protected final String TEXT_73 = " == null ? ";
+	protected final String TEXT_74 = " != null : !";
+	protected final String TEXT_75 = ".equals(";
+	protected final String TEXT_76 = ");";
+	protected final String TEXT_77 = NL + "\t\t\t\treturn ";
+	protected final String TEXT_78 = " == null ? ";
+	protected final String TEXT_79 = "() != null : !";
+	protected final String TEXT_80 = ".equals(";
+	protected final String TEXT_81 = "());";
+	protected final String TEXT_82 = NL + "\t\t}";
+	protected final String TEXT_83 = NL + "\t\treturn super.eIsSet(featureID);";
+	protected final String TEXT_84 = NL + "\t\treturn eDynamicIsSet(featureID);";
+	protected final String TEXT_85 = NL + "\t}" + NL + NL;
+	protected final String TEXT_86 = NL;
+	protected final String TEXT_87 = NL;
+
+	public InterfaceeIsSetoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object isJDK50Parameter : isJDK50List) {
+						for (Object isInterfaceParameter : isInterfaceList) {
+							for (Object isImplementationParameter : isImplementationList) {
+								for (Object isGWTParameter : isGWTList) {
+									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+										for (Object singleWildcardParameter : singleWildcardList) {
+											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+															this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+															this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+															this.isGWT = (java.lang.Boolean) isGWTParameter;
+															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+															this.singleWildcard = (java.lang.String) singleWildcardParameter;
+															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+															if (preCondition(ctx)) {
+																ctx.setNode(
+																		new Node.Container(currentNode, getClass()));
+																orchestration(ctx);
+															}
+
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_86);
+		stringBuffer.append(TEXT_87);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genModel.useGenerics()) {
+			for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {
+				if (genFeature.isListType() && !genFeature.isUnsettable() && !genFeature.isWrappedFeatureMapType()
+						&& !genClass.isField(genFeature) && genFeature.isField()
+						&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+					stringBuffer.append(TEXT_2);
+					break;
+				}
+			}
+		}
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_3);
+		}
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(negativeOffsetCorrection);
+		stringBuffer.append(TEXT_5);
+		for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) {
+			String safeNameAccessor = genFeature.getSafeName();
+			if ("featureID".equals(safeNameAccessor)) {
+				safeNameAccessor = "this." + safeNameAccessor;
+			}
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			stringBuffer.append(TEXT_7);
+			if (genFeature.hasSettingDelegate()) {
+				if (genFeature.isUnsettable()) {
+					stringBuffer.append(TEXT_8);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_9);
+				} else {
+					stringBuffer.append(TEXT_10);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_11);
+				}
+			} else if (genFeature.isListType() && !genFeature.isUnsettable()) {
+				if (genFeature.isWrappedFeatureMapType()) {
+					if (genFeature.isVolatile()) {
+						stringBuffer.append(TEXT_12);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+						stringBuffer.append(TEXT_13);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_14);
+					} else {
+						stringBuffer.append(TEXT_15);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_16);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_17);
+					}
+				} else {
+					if (genClass.isField(genFeature)) {
+						stringBuffer.append(TEXT_18);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_19);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_20);
+					} else {
+						if (genFeature.isField()
+								&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+							stringBuffer.append(TEXT_21);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_22);
+							stringBuffer.append(safeNameAccessor);
+							stringBuffer.append(TEXT_23);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_24);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_25);
+							stringBuffer.append(safeNameAccessor);
+							stringBuffer.append(TEXT_26);
+							stringBuffer.append(safeNameAccessor);
+							stringBuffer.append(TEXT_27);
+						} else {
+							stringBuffer.append(TEXT_28);
+							stringBuffer.append(genFeature.getGetAccessor());
+							stringBuffer.append(TEXT_29);
+						}
+					}
+				}
+			} else if (genFeature.isUnsettable()) {
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_31);
+			} else if (genFeature.isResolveProxies()) {
+				if (genClass.isField(genFeature)) {
+					stringBuffer.append(TEXT_32);
+					stringBuffer.append(safeNameAccessor);
+					stringBuffer.append(TEXT_33);
+				} else {
+					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+						stringBuffer.append(TEXT_34);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_35);
+					} else {
+						stringBuffer.append(TEXT_36);
+						stringBuffer.append(genFeature.getAccessorName());
+						stringBuffer.append(TEXT_37);
+					}
+				}
+			} else if (!genFeature.hasEDefault()) {
+				if (genClass.isField(genFeature)) {
+					stringBuffer.append(TEXT_38);
+					stringBuffer.append(safeNameAccessor);
+					stringBuffer.append(TEXT_39);
+				} else {
+					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+						stringBuffer.append(TEXT_40);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_41);
+					} else {
+						stringBuffer.append(TEXT_42);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_43);
+					}
+				}
+			} else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {
+				if (genClass.isField(genFeature)) {
+					if (genClass.isFlag(genFeature)) {
+						if (genFeature.isBooleanType()) {
+							stringBuffer.append(TEXT_44);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_45);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_46);
+							stringBuffer.append(genFeature.getEDefault());
+							stringBuffer.append(TEXT_47);
+						} else {
+							stringBuffer.append(TEXT_48);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_49);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_50);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_51);
+						}
+					} else {
+						stringBuffer.append(TEXT_52);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_53);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_54);
+					}
+				} else {
+					if (genFeature.isEnumType() && genFeature.isField()
+							&& genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_56);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_57);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_58);
+					} else {
+						stringBuffer.append(TEXT_59);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_60);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_61);
+					}
+				}
+			} else {//datatype
+				if (genClass.isField(genFeature)) {
+					stringBuffer.append(TEXT_62);
+					stringBuffer.append(genFeature.getEDefault());
+					stringBuffer.append(TEXT_63);
+					stringBuffer.append(safeNameAccessor);
+					stringBuffer.append(TEXT_64);
+					stringBuffer.append(genFeature.getEDefault());
+					stringBuffer.append(TEXT_65);
+					stringBuffer.append(safeNameAccessor);
+					stringBuffer.append(TEXT_66);
+				} else {
+					if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
+						stringBuffer.append(TEXT_67);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_68);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_69);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_70);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_71);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_72);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_73);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_74);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_75);
+						stringBuffer.append(safeNameAccessor);
+						stringBuffer.append(TEXT_76);
+					} else {
+						stringBuffer.append(TEXT_77);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_78);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_79);
+						stringBuffer.append(genFeature.getEDefault());
+						stringBuffer.append(TEXT_80);
+						stringBuffer.append(genFeature.getGetAccessor());
+						stringBuffer.append(TEXT_81);
+					}
+				}
+			}
+		}
+		stringBuffer.append(TEXT_82);
+		if (genModel.isMinimalReflectiveMethods()) {
+			stringBuffer.append(TEXT_83);
+		} else {
+			stringBuffer.append(TEXT_84);
+		}
+		stringBuffer.append(TEXT_85);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeUnsetoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeUnsetoverride.java
index f5fcbe3..a6c729c 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeUnsetoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceeUnsetoverride.java
@@ -1,344 +1,345 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceeUnsetoverride {

-	protected static String nl;

-

-	public static synchronized InterfaceeUnsetoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceeUnsetoverride result = new InterfaceeUnsetoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_2 = NL + "\t@Override";

-	protected final String TEXT_3 = NL + "\tpublic void eUnset(int featureID)" + NL + "\t{" + NL

-			+ "\t\tswitch (featureID";

-	protected final String TEXT_4 = ")" + NL + "\t\t{";

-	protected final String TEXT_5 = NL + "\t\t\tcase ";

-	protected final String TEXT_6 = ":";

-	protected final String TEXT_7 = NL + "\t\t\t\t((";

-	protected final String TEXT_8 = ".Internal.Wrapper)";

-	protected final String TEXT_9 = "()).featureMap().clear();";

-	protected final String TEXT_10 = NL + "\t\t\t\t";

-	protected final String TEXT_11 = "().clear();";

-	protected final String TEXT_12 = NL + "\t\t\t\tunset";

-	protected final String TEXT_13 = "();";

-	protected final String TEXT_14 = NL + "\t\t\t\tset";

-	protected final String TEXT_15 = "((";

-	protected final String TEXT_16 = ")null);";

-	protected final String TEXT_17 = NL + "\t\t\t\t";

-	protected final String TEXT_18 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";

-	protected final String TEXT_19 = NL + "\t\t\t\tset";

-	protected final String TEXT_20 = "(";

-	protected final String TEXT_21 = ");";

-	protected final String TEXT_22 = NL + "\t\t\t\treturn;";

-	protected final String TEXT_23 = NL + "\t\t}";

-	protected final String TEXT_24 = NL + "\t\tsuper.eUnset(featureID);";

-	protected final String TEXT_25 = NL + "\t\teDynamicUnset(featureID);";

-	protected final String TEXT_26 = NL + "\t}" + NL + NL;

-	protected final String TEXT_27 = NL;

-	protected final String TEXT_28 = NL;

-

-	public InterfaceeUnsetoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object isJDK50Parameter : isJDK50List) {

-						for (Object isInterfaceParameter : isInterfaceList) {

-							for (Object isImplementationParameter : isImplementationList) {

-								for (Object isGWTParameter : isGWTList) {

-									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-										for (Object singleWildcardParameter : singleWildcardList) {

-											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-															this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-															this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-															this.isGWT = (java.lang.Boolean) isGWTParameter;

-															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-															this.singleWildcard = (java.lang.String) singleWildcardParameter;

-															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-															if (preCondition(ctx)) {

-																ctx.setNode(new Node.Container(currentNode, getClass()));

-																orchestration(ctx);

-															}

-

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_27);

-		stringBuffer.append(TEXT_28);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_2);

-		}

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(negativeOffsetCorrection);

-		stringBuffer.append(TEXT_4);

-		for (GenFeature genFeature : genClass.getEUnsetGenFeatures()) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-			stringBuffer.append(TEXT_6);

-			if (genFeature.isListType() && !genFeature.isUnsettable()) {

-				if (genFeature.isWrappedFeatureMapType()) {

-					stringBuffer.append(TEXT_7);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_8);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_9);

-				} else {

-					stringBuffer.append(TEXT_10);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_11);

-				}

-			} else if (genFeature.isUnsettable()) {

-				stringBuffer.append(TEXT_12);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_13);

-			} else if (!genFeature.hasEDefault()) {

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_16);

-			} else if (genFeature.hasSettingDelegate()) {

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_18);

-			} else {

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genFeature.getEDefault());

-				stringBuffer.append(TEXT_21);

-			}

-			stringBuffer.append(TEXT_22);

-		}

-		stringBuffer.append(TEXT_23);

-		if (genModel.isMinimalReflectiveMethods()) {

-			stringBuffer.append(TEXT_24);

-		} else {

-			stringBuffer.append(TEXT_25);

-		}

-		stringBuffer.append(TEXT_26);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceeUnsetoverride {
+	protected static String nl;
+
+	public static synchronized InterfaceeUnsetoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceeUnsetoverride result = new InterfaceeUnsetoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_2 = NL + "\t@Override";
+	protected final String TEXT_3 = NL + "\tpublic void eUnset(int featureID)" + NL + "\t{" + NL
+			+ "\t\tswitch (featureID";
+	protected final String TEXT_4 = ")" + NL + "\t\t{";
+	protected final String TEXT_5 = NL + "\t\t\tcase ";
+	protected final String TEXT_6 = ":";
+	protected final String TEXT_7 = NL + "\t\t\t\t((";
+	protected final String TEXT_8 = ".Internal.Wrapper)";
+	protected final String TEXT_9 = "()).featureMap().clear();";
+	protected final String TEXT_10 = NL + "\t\t\t\t";
+	protected final String TEXT_11 = "().clear();";
+	protected final String TEXT_12 = NL + "\t\t\t\tunset";
+	protected final String TEXT_13 = "();";
+	protected final String TEXT_14 = NL + "\t\t\t\tset";
+	protected final String TEXT_15 = "((";
+	protected final String TEXT_16 = ")null);";
+	protected final String TEXT_17 = NL + "\t\t\t\t";
+	protected final String TEXT_18 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";
+	protected final String TEXT_19 = NL + "\t\t\t\tset";
+	protected final String TEXT_20 = "(";
+	protected final String TEXT_21 = ");";
+	protected final String TEXT_22 = NL + "\t\t\t\treturn;";
+	protected final String TEXT_23 = NL + "\t\t}";
+	protected final String TEXT_24 = NL + "\t\tsuper.eUnset(featureID);";
+	protected final String TEXT_25 = NL + "\t\teDynamicUnset(featureID);";
+	protected final String TEXT_26 = NL + "\t}" + NL + NL;
+	protected final String TEXT_27 = NL;
+	protected final String TEXT_28 = NL;
+
+	public InterfaceeUnsetoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object isJDK50Parameter : isJDK50List) {
+						for (Object isInterfaceParameter : isInterfaceList) {
+							for (Object isImplementationParameter : isImplementationList) {
+								for (Object isGWTParameter : isGWTList) {
+									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+										for (Object singleWildcardParameter : singleWildcardList) {
+											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+															this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+															this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+															this.isGWT = (java.lang.Boolean) isGWTParameter;
+															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+															this.singleWildcard = (java.lang.String) singleWildcardParameter;
+															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+															if (preCondition(ctx)) {
+																ctx.setNode(
+																		new Node.Container(currentNode, getClass()));
+																orchestration(ctx);
+															}
+
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_27);
+		stringBuffer.append(TEXT_28);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_2);
+		}
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(negativeOffsetCorrection);
+		stringBuffer.append(TEXT_4);
+		for (GenFeature genFeature : genClass.getEUnsetGenFeatures()) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+			stringBuffer.append(TEXT_6);
+			if (genFeature.isListType() && !genFeature.isUnsettable()) {
+				if (genFeature.isWrappedFeatureMapType()) {
+					stringBuffer.append(TEXT_7);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_8);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_9);
+				} else {
+					stringBuffer.append(TEXT_10);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_11);
+				}
+			} else if (genFeature.isUnsettable()) {
+				stringBuffer.append(TEXT_12);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_13);
+			} else if (!genFeature.hasEDefault()) {
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_16);
+			} else if (genFeature.hasSettingDelegate()) {
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_18);
+			} else {
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genFeature.getEDefault());
+				stringBuffer.append(TEXT_21);
+			}
+			stringBuffer.append(TEXT_22);
+		}
+		stringBuffer.append(TEXT_23);
+		if (genModel.isMinimalReflectiveMethods()) {
+			stringBuffer.append(TEXT_24);
+		} else {
+			stringBuffer.append(TEXT_25);
+		}
+		stringBuffer.append(TEXT_26);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureReifiedoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureReifiedoverride.java
index 368a2e5..2172c84 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureReifiedoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureReifiedoverride.java
@@ -1,660 +1,657 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegenFeatureReifiedoverride {

-	protected static String nl;

-

-	public static synchronized InterfacegenFeatureReifiedoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegenFeatureReifiedoverride result = new InterfacegenFeatureReifiedoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL

-			+ "\t * This is specialized for the more specific element type known in this context." + NL

-			+ "\t * @generated" + NL + "\t */";

-	protected final String TEXT_3 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_4 = NL + "\t@Override";

-	protected final String TEXT_5 = NL + "\tpublic ";

-	protected final String TEXT_6 = "[] ";

-	protected final String TEXT_7 = "()" + NL + "\t{";

-	protected final String TEXT_8 = NL + "\t\t";

-	protected final String TEXT_9 = " list = (";

-	protected final String TEXT_10 = ")";

-	protected final String TEXT_11 = "();" + NL + "\t\tif (list.isEmpty()) return ";

-	protected final String TEXT_12 = "_EEMPTY_ARRAY;";

-	protected final String TEXT_13 = NL + "\t\tif (";

-	protected final String TEXT_14 = " == null || ";

-	protected final String TEXT_15 = ".isEmpty()) return ";

-	protected final String TEXT_16 = "_EEMPTY_ARRAY;" + NL + "\t\t";

-	protected final String TEXT_17 = " list = (";

-	protected final String TEXT_18 = ")";

-	protected final String TEXT_19 = ";";

-	protected final String TEXT_20 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";

-	protected final String TEXT_21 = "[])list.data();" + NL + "\t}" + NL;

-	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL

-			+ "\t * This is specialized for the more specific element type known in this context." + NL

-			+ "\t * @generated" + NL + "\t */";

-	protected final String TEXT_23 = NL;

-	protected final String TEXT_24 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_25 = NL + "\t@Override";

-	protected final String TEXT_26 = NL + "\tpublic ";

-	protected final String TEXT_27 = " ";

-	protected final String TEXT_28 = "_";

-	protected final String TEXT_29 = "()" + NL + "\t{";

-	protected final String TEXT_30 = NL;

-	protected final String TEXT_31 = NL + "\t\t";

-	protected final String TEXT_32 = " ";

-	protected final String TEXT_33 = " = (";

-	protected final String TEXT_34 = ")eVirtualGet(";

-	protected final String TEXT_35 = ");";

-	protected final String TEXT_36 = NL + "\t\tif (";

-	protected final String TEXT_37 = " == null)" + NL + "\t\t{";

-	protected final String TEXT_38 = NL + "\t\t\teVirtualSet(";

-	protected final String TEXT_39 = ", ";

-	protected final String TEXT_40 = " = new ";

-	protected final String TEXT_41 = ");";

-	protected final String TEXT_42 = NL + "\t\t\t";

-	protected final String TEXT_43 = " = new ";

-	protected final String TEXT_44 = ";";

-	protected final String TEXT_45 = NL + "\t\t}" + NL + "\t\treturn ";

-	protected final String TEXT_46 = ";" + NL + "\t}" + NL;

-	protected final String TEXT_47 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL

-			+ "\t * This is specialized for the more specific type known in this context." + NL + "\t * @generated"

-			+ NL + "\t */";

-	protected final String TEXT_48 = NL;

-	protected final String TEXT_49 = NL + "\t@Override";

-	protected final String TEXT_50 = NL + "\tpublic ";

-	protected final String TEXT_51 = " basicSet";

-	protected final String TEXT_52 = "(";

-	protected final String TEXT_53 = " new";

-	protected final String TEXT_54 = ", ";

-	protected final String TEXT_55 = " msgs)" + NL + "\t{" + NL + "\t\treturn super.basicSet";

-	protected final String TEXT_56 = "(new";

-	protected final String TEXT_57 = ", msgs);" + NL + "\t}" + NL;

-	protected final String TEXT_58 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL

-			+ "\t * This is specialized for the more specific type known in this context." + NL + "\t * @generated"

-			+ NL + "\t */";

-	protected final String TEXT_59 = NL;

-	protected final String TEXT_60 = NL + "\t@Override";

-	protected final String TEXT_61 = NL + "\tpublic void set";

-	protected final String TEXT_62 = "_";

-	protected final String TEXT_63 = "(";

-	protected final String TEXT_64 = " ";

-	protected final String TEXT_65 = ")" + NL + "\t{" + NL + "\t\tsuper.set";

-	protected final String TEXT_66 = "_";

-	protected final String TEXT_67 = "(";

-	protected final String TEXT_68 = ");" + NL + "\t}" + NL;

-	protected final String TEXT_69 = NL;

-	protected final String TEXT_70 = NL;

-	protected final String TEXT_71 = NL;

-

-	public InterfacegenFeatureReifiedoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> classExtendsGenClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> classExtendsAllGenFeaturesList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object classExtendsGenClassParameter : classExtendsGenClassList) {

-				for (Object classExtendsAllGenFeaturesParameter : classExtendsAllGenFeaturesList) {

-					for (Object genClassParameter : genClassList) {

-						for (Object genPackageParameter : genPackageList) {

-							for (Object genModelParameter : genModelList) {

-								for (Object isJDK50Parameter : isJDK50List) {

-									for (Object isInterfaceParameter : isInterfaceList) {

-										for (Object isImplementationParameter : isImplementationList) {

-											for (Object isGWTParameter : isGWTList) {

-												for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-													for (Object singleWildcardParameter : singleWildcardList) {

-														for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-															for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-																for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-																	for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																		this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																		this.classExtendsGenClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) classExtendsGenClassParameter;

-																		this.classExtendsAllGenFeatures = (java.util.List) classExtendsAllGenFeaturesParameter;

-																		this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																		this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																		this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																		this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																		this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																		this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																		this.isGWT = (java.lang.Boolean) isGWTParameter;

-																		this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																		this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																		this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																		this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																		this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																		this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																		if (preCondition(ctx)) {

-																			ctx.setNode(new Node.Container(currentNode,

-																					getClass()));

-																			orchestration(ctx);

-																		}

-

-																	}

-																}

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_70);

-		stringBuffer.append(TEXT_71);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("classExtendsGenClass", this.classExtendsGenClass);

-			parameterValues.put("classExtendsAllGenFeatures", this.classExtendsAllGenFeatures);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass classExtendsGenClass = null;

-

-	public void set_classExtendsGenClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.classExtendsGenClass = object;

-	}

-

-	protected java.util.List classExtendsAllGenFeatures = null;

-

-	public void set_classExtendsAllGenFeatures(java.util.List object) {

-		this.classExtendsAllGenFeatures = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("classExtendsGenClass", this.classExtendsGenClass);

-		parameters.put("classExtendsAllGenFeatures", this.classExtendsAllGenFeatures);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()

-				&& !genFeature.isMapType()) {

-			String arrayElementType = genFeature.getArrayItemType(genClass);

-			stringBuffer.append(TEXT_2);

-			if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {

-				stringBuffer.append(TEXT_3);

-			}

-			if (classExtendsAllGenFeatures.contains(genFeature)) {

-				stringBuffer.append(TEXT_4);

-			}

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(arrayElementType);

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genFeature.getGetArrayAccessor());

-			stringBuffer.append(TEXT_7);

-			if (genFeature.isVolatile()) {

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-				stringBuffer.append(TEXT_9);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-				stringBuffer.append(TEXT_10);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_11);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_12);

-			} else {

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-				stringBuffer.append(TEXT_18);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_19);

-			}

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(arrayElementType);

-			stringBuffer.append(TEXT_21);

-		}

-		if (genFeature.isGet() && genFeature.isListType()) {

-			stringBuffer.append(TEXT_22);

-			if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_23);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wTpQGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-			if (genFeature.isListType() && genModel.isVirtualDelegation()) {

-				stringBuffer.append(TEXT_24);

-			}

-			if (classExtendsAllGenFeatures.contains(genFeature)) {

-				stringBuffer.append(TEXT_25);

-			}

-			stringBuffer.append(TEXT_26);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_27);

-			stringBuffer.append(genFeature.getGetAccessor());

-			if (genClass.hasCollidingGetAccessorOperation(genFeature)) {

-				stringBuffer.append(TEXT_28);

-			}

-			stringBuffer.append(TEXT_29);

-			stringBuffer.append(TEXT_30);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wczMGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			if (genModel.isVirtualDelegation()) {

-				stringBuffer.append(TEXT_31);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_33);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(positiveOffsetCorrection);

-				stringBuffer.append(TEXT_35);

-			}

-			stringBuffer.append(TEXT_36);

-			stringBuffer.append(genFeature.getSafeName());

-			stringBuffer.append(TEXT_37);

-			if (genModel.isVirtualDelegation()) {

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				stringBuffer.append(positiveOffsetCorrection);

-				stringBuffer.append(TEXT_39);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_40);

-				stringBuffer.append(genClass.getListConstructor(genFeature));

-				stringBuffer.append(TEXT_41);

-			} else {

-				stringBuffer.append(TEXT_42);

-				stringBuffer.append(genFeature.getSafeName());

-				stringBuffer.append(TEXT_43);

-				stringBuffer.append(genClass.getListConstructor(genFeature));

-				stringBuffer.append(TEXT_44);

-			}

-			stringBuffer.append(TEXT_45);

-			stringBuffer.append(genFeature.getSafeName());

-			stringBuffer.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");

-			stringBuffer.append(TEXT_46);

-		}

-		if (!genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {

-			stringBuffer.append(TEXT_47);

-			if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_48);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xpGAGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-			if (classExtendsAllGenFeatures.contains(genFeature)) {

-				stringBuffer.append(TEXT_49);

-			}

-			stringBuffer.append(TEXT_50);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_51);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_52);

-			stringBuffer.append(genFeature.getImportedInternalType(genClass));

-			stringBuffer.append(TEXT_53);

-			stringBuffer.append(genFeature.getCapName());

-			stringBuffer.append(TEXT_54);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-			stringBuffer.append(TEXT_55);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_56);

-			stringBuffer.append(genFeature.getCapName());

-			stringBuffer.append(TEXT_57);

-		}

-		if (genFeature.isSet() && !(!genModel.isReflectiveDelegation() && genFeature.isBasicSet())) {

-			stringBuffer.append(TEXT_58);

-			if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_59);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0ysO4GJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-			{

-				GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);

-				if (classExtendsAllGenFeatures.contains(genFeature)) {

-					stringBuffer.append(TEXT_60);

-				}

-				stringBuffer.append(TEXT_61);

-				stringBuffer.append(genFeature.getAccessorName());

-				if (genClass.hasCollidingSetAccessorOperation(genFeature)) {

-					stringBuffer.append(TEXT_62);

-				}

-				stringBuffer.append(TEXT_63);

-				stringBuffer.append(genFeature.getImportedType(genClass));

-				stringBuffer.append(TEXT_64);

-				stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()

-						: setAccessorOperation.getGenParameters().get(0).getName());

-				stringBuffer.append(TEXT_65);

-				stringBuffer.append(genFeature.getAccessorName());

-				if (genClass.hasCollidingSetAccessorOperation(genFeature)) {

-					stringBuffer.append(TEXT_66);

-				}

-				stringBuffer.append(TEXT_67);

-				stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()

-						: setAccessorOperation.getGenParameters().get(0).getName());

-				stringBuffer.append(TEXT_68);

-			}

-		}

-		stringBuffer.append(TEXT_69);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenFeatureReifiedoverride {
+	protected static String nl;
+
+	public static synchronized InterfacegenFeatureReifiedoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegenFeatureReifiedoverride result = new InterfacegenFeatureReifiedoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL
+			+ "\t * This is specialized for the more specific element type known in this context." + NL
+			+ "\t * @generated" + NL + "\t */";
+	protected final String TEXT_3 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_4 = NL + "\t@Override";
+	protected final String TEXT_5 = NL + "\tpublic ";
+	protected final String TEXT_6 = "[] ";
+	protected final String TEXT_7 = "()" + NL + "\t{";
+	protected final String TEXT_8 = NL + "\t\t";
+	protected final String TEXT_9 = " list = (";
+	protected final String TEXT_10 = ")";
+	protected final String TEXT_11 = "();" + NL + "\t\tif (list.isEmpty()) return ";
+	protected final String TEXT_12 = "_EEMPTY_ARRAY;";
+	protected final String TEXT_13 = NL + "\t\tif (";
+	protected final String TEXT_14 = " == null || ";
+	protected final String TEXT_15 = ".isEmpty()) return ";
+	protected final String TEXT_16 = "_EEMPTY_ARRAY;" + NL + "\t\t";
+	protected final String TEXT_17 = " list = (";
+	protected final String TEXT_18 = ")";
+	protected final String TEXT_19 = ";";
+	protected final String TEXT_20 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";
+	protected final String TEXT_21 = "[])list.data();" + NL + "\t}" + NL;
+	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL
+			+ "\t * This is specialized for the more specific element type known in this context." + NL
+			+ "\t * @generated" + NL + "\t */";
+	protected final String TEXT_23 = NL;
+	protected final String TEXT_24 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_25 = NL + "\t@Override";
+	protected final String TEXT_26 = NL + "\tpublic ";
+	protected final String TEXT_27 = " ";
+	protected final String TEXT_28 = "_";
+	protected final String TEXT_29 = "()" + NL + "\t{";
+	protected final String TEXT_30 = NL;
+	protected final String TEXT_31 = NL + "\t\t";
+	protected final String TEXT_32 = " ";
+	protected final String TEXT_33 = " = (";
+	protected final String TEXT_34 = ")eVirtualGet(";
+	protected final String TEXT_35 = ");";
+	protected final String TEXT_36 = NL + "\t\tif (";
+	protected final String TEXT_37 = " == null)" + NL + "\t\t{";
+	protected final String TEXT_38 = NL + "\t\t\teVirtualSet(";
+	protected final String TEXT_39 = ", ";
+	protected final String TEXT_40 = " = new ";
+	protected final String TEXT_41 = ");";
+	protected final String TEXT_42 = NL + "\t\t\t";
+	protected final String TEXT_43 = " = new ";
+	protected final String TEXT_44 = ";";
+	protected final String TEXT_45 = NL + "\t\t}" + NL + "\t\treturn ";
+	protected final String TEXT_46 = ";" + NL + "\t}" + NL;
+	protected final String TEXT_47 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL
+			+ "\t * This is specialized for the more specific type known in this context." + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_48 = NL;
+	protected final String TEXT_49 = NL + "\t@Override";
+	protected final String TEXT_50 = NL + "\tpublic ";
+	protected final String TEXT_51 = " basicSet";
+	protected final String TEXT_52 = "(";
+	protected final String TEXT_53 = " new";
+	protected final String TEXT_54 = ", ";
+	protected final String TEXT_55 = " msgs)" + NL + "\t{" + NL + "\t\treturn super.basicSet";
+	protected final String TEXT_56 = "(new";
+	protected final String TEXT_57 = ", msgs);" + NL + "\t}" + NL;
+	protected final String TEXT_58 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL
+			+ "\t * This is specialized for the more specific type known in this context." + NL + "\t * @generated" + NL
+			+ "\t */";
+	protected final String TEXT_59 = NL;
+	protected final String TEXT_60 = NL + "\t@Override";
+	protected final String TEXT_61 = NL + "\tpublic void set";
+	protected final String TEXT_62 = "_";
+	protected final String TEXT_63 = "(";
+	protected final String TEXT_64 = " ";
+	protected final String TEXT_65 = ")" + NL + "\t{" + NL + "\t\tsuper.set";
+	protected final String TEXT_66 = "_";
+	protected final String TEXT_67 = "(";
+	protected final String TEXT_68 = ");" + NL + "\t}" + NL;
+	protected final String TEXT_69 = NL;
+	protected final String TEXT_70 = NL;
+	protected final String TEXT_71 = NL;
+
+	public InterfacegenFeatureReifiedoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> classExtendsGenClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> classExtendsAllGenFeaturesList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object classExtendsGenClassParameter : classExtendsGenClassList) {
+				for (Object classExtendsAllGenFeaturesParameter : classExtendsAllGenFeaturesList) {
+					for (Object genClassParameter : genClassList) {
+						for (Object genPackageParameter : genPackageList) {
+							for (Object genModelParameter : genModelList) {
+								for (Object isJDK50Parameter : isJDK50List) {
+									for (Object isInterfaceParameter : isInterfaceList) {
+										for (Object isImplementationParameter : isImplementationList) {
+											for (Object isGWTParameter : isGWTList) {
+												for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+													for (Object singleWildcardParameter : singleWildcardList) {
+														for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+															for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+																for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+																	for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																		this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																		this.classExtendsGenClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) classExtendsGenClassParameter;
+																		this.classExtendsAllGenFeatures = (java.util.List) classExtendsAllGenFeaturesParameter;
+																		this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																		this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																		this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																		this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																		this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																		this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																		this.isGWT = (java.lang.Boolean) isGWTParameter;
+																		this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																		this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																		this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																		this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																		this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																		this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																		if (preCondition(ctx)) {
+																			ctx.setNode(new Node.Container(currentNode,
+																					getClass()));
+																			orchestration(ctx);
+																		}
+
+																	}
+																}
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_70);
+		stringBuffer.append(TEXT_71);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("classExtendsGenClass", this.classExtendsGenClass);
+			parameterValues.put("classExtendsAllGenFeatures", this.classExtendsAllGenFeatures);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass classExtendsGenClass = null;
+
+	public void set_classExtendsGenClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.classExtendsGenClass = object;
+	}
+
+	protected java.util.List classExtendsAllGenFeatures = null;
+
+	public void set_classExtendsAllGenFeatures(java.util.List object) {
+		this.classExtendsAllGenFeatures = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("classExtendsGenClass", this.classExtendsGenClass);
+		parameters.put("classExtendsAllGenFeatures", this.classExtendsAllGenFeatures);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+				&& !genFeature.isMapType()) {
+			String arrayElementType = genFeature.getArrayItemType(genClass);
+			stringBuffer.append(TEXT_2);
+			if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {
+				stringBuffer.append(TEXT_3);
+			}
+			if (classExtendsAllGenFeatures.contains(genFeature)) {
+				stringBuffer.append(TEXT_4);
+			}
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(arrayElementType);
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genFeature.getGetArrayAccessor());
+			stringBuffer.append(TEXT_7);
+			if (genFeature.isVolatile()) {
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+				stringBuffer.append(TEXT_9);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+				stringBuffer.append(TEXT_10);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_11);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_12);
+			} else {
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+				stringBuffer.append(TEXT_18);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_19);
+			}
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(arrayElementType);
+			stringBuffer.append(TEXT_21);
+		}
+		if (genFeature.isGet() && genFeature.isListType()) {
+			stringBuffer.append(TEXT_22);
+			if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_23);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wTpQGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+			if (genFeature.isListType() && genModel.isVirtualDelegation()) {
+				stringBuffer.append(TEXT_24);
+			}
+			if (classExtendsAllGenFeatures.contains(genFeature)) {
+				stringBuffer.append(TEXT_25);
+			}
+			stringBuffer.append(TEXT_26);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_27);
+			stringBuffer.append(genFeature.getGetAccessor());
+			if (genClass.hasCollidingGetAccessorOperation(genFeature)) {
+				stringBuffer.append(TEXT_28);
+			}
+			stringBuffer.append(TEXT_29);
+			stringBuffer.append(TEXT_30);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wczMGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			if (genModel.isVirtualDelegation()) {
+				stringBuffer.append(TEXT_31);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_33);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(positiveOffsetCorrection);
+				stringBuffer.append(TEXT_35);
+			}
+			stringBuffer.append(TEXT_36);
+			stringBuffer.append(genFeature.getSafeName());
+			stringBuffer.append(TEXT_37);
+			if (genModel.isVirtualDelegation()) {
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				stringBuffer.append(positiveOffsetCorrection);
+				stringBuffer.append(TEXT_39);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_40);
+				stringBuffer.append(genClass.getListConstructor(genFeature));
+				stringBuffer.append(TEXT_41);
+			} else {
+				stringBuffer.append(TEXT_42);
+				stringBuffer.append(genFeature.getSafeName());
+				stringBuffer.append(TEXT_43);
+				stringBuffer.append(genClass.getListConstructor(genFeature));
+				stringBuffer.append(TEXT_44);
+			}
+			stringBuffer.append(TEXT_45);
+			stringBuffer.append(genFeature.getSafeName());
+			stringBuffer.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");
+			stringBuffer.append(TEXT_46);
+		}
+		if (!genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {
+			stringBuffer.append(TEXT_47);
+			if (isJDK50) { //Class/basicSetGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_48);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xpGAGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+			if (classExtendsAllGenFeatures.contains(genFeature)) {
+				stringBuffer.append(TEXT_49);
+			}
+			stringBuffer.append(TEXT_50);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_51);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_52);
+			stringBuffer.append(genFeature.getImportedInternalType(genClass));
+			stringBuffer.append(TEXT_53);
+			stringBuffer.append(genFeature.getCapName());
+			stringBuffer.append(TEXT_54);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+			stringBuffer.append(TEXT_55);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_56);
+			stringBuffer.append(genFeature.getCapName());
+			stringBuffer.append(TEXT_57);
+		}
+		if (genFeature.isSet() && !(!genModel.isReflectiveDelegation() && genFeature.isBasicSet())) {
+			stringBuffer.append(TEXT_58);
+			if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_59);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0ysO4GJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+			{
+				GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);
+				if (classExtendsAllGenFeatures.contains(genFeature)) {
+					stringBuffer.append(TEXT_60);
+				}
+				stringBuffer.append(TEXT_61);
+				stringBuffer.append(genFeature.getAccessorName());
+				if (genClass.hasCollidingSetAccessorOperation(genFeature)) {
+					stringBuffer.append(TEXT_62);
+				}
+				stringBuffer.append(TEXT_63);
+				stringBuffer.append(genFeature.getImportedType(genClass));
+				stringBuffer.append(TEXT_64);
+				stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()
+						: setAccessorOperation.getGenParameters().get(0).getName());
+				stringBuffer.append(TEXT_65);
+				stringBuffer.append(genFeature.getAccessorName());
+				if (genClass.hasCollidingSetAccessorOperation(genFeature)) {
+					stringBuffer.append(TEXT_66);
+				}
+				stringBuffer.append(TEXT_67);
+				stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()
+						: setAccessorOperation.getGenParameters().get(0).getName());
+				stringBuffer.append(TEXT_68);
+			}
+		}
+		stringBuffer.append(TEXT_69);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureinsert.java
index cd94d79..86085b7 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegenFeatureinsert {

-	protected static String nl;

-

-	public static synchronized InterfacegenFeatureinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegenFeatureinsert result = new InterfacegenFeatureinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacegenFeatureinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenFeatureinsert {
+	protected static String nl;
+
+	public static synchronized InterfacegenFeatureinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegenFeatureinsert result = new InterfacegenFeatureinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacegenFeatureinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureoverride.java
index 8d41ba9..402acad 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenFeatureoverride.java
@@ -1,750 +1,750 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized InterfacegenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegenFeatureoverride result = new InterfacegenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_3 = NL + "\t";

-	protected final String TEXT_4 = "[] ";

-	protected final String TEXT_5 = "();" + NL;

-	protected final String TEXT_6 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_7 = NL + "\tpublic ";

-	protected final String TEXT_8 = "[] ";

-	protected final String TEXT_9 = "()" + NL + "\t{";

-	protected final String TEXT_10 = NL + "\t\t";

-	protected final String TEXT_11 = " list = (";

-	protected final String TEXT_12 = ")";

-	protected final String TEXT_13 = "();" + NL + "\t\tif (list.isEmpty()) return ";

-	protected final String TEXT_14 = "_EEMPTY_ARRAY;";

-	protected final String TEXT_15 = NL + "\t\tif (";

-	protected final String TEXT_16 = " == null || ";

-	protected final String TEXT_17 = ".isEmpty()) return ";

-	protected final String TEXT_18 = "_EEMPTY_ARRAY;" + NL + "\t\t";

-	protected final String TEXT_19 = " list = (";

-	protected final String TEXT_20 = ")";

-	protected final String TEXT_21 = ";";

-	protected final String TEXT_22 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";

-	protected final String TEXT_23 = "[])list.data();" + NL + "\t}" + NL;

-	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_25 = NL + "\t";

-	protected final String TEXT_26 = " get";

-	protected final String TEXT_27 = "(int index);" + NL;

-	protected final String TEXT_28 = NL + "\tpublic ";

-	protected final String TEXT_29 = " get";

-	protected final String TEXT_30 = "(int index)" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_31 = "(";

-	protected final String TEXT_32 = ")";

-	protected final String TEXT_33 = "().get(index);" + NL + "\t}" + NL;

-	protected final String TEXT_34 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_35 = NL + "\tint get";

-	protected final String TEXT_36 = "Length();" + NL;

-	protected final String TEXT_37 = NL + "\tpublic int get";

-	protected final String TEXT_38 = "Length()" + NL + "\t{";

-	protected final String TEXT_39 = NL + "\t\treturn ";

-	protected final String TEXT_40 = "().size();";

-	protected final String TEXT_41 = NL + "\t\treturn ";

-	protected final String TEXT_42 = " == null ? 0 : ";

-	protected final String TEXT_43 = ".size();";

-	protected final String TEXT_44 = NL + "\t}" + NL;

-	protected final String TEXT_45 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_46 = NL + "\tvoid set";

-	protected final String TEXT_47 = "(";

-	protected final String TEXT_48 = "[] new";

-	protected final String TEXT_49 = ");" + NL;

-	protected final String TEXT_50 = NL + "\tpublic void set";

-	protected final String TEXT_51 = "(";

-	protected final String TEXT_52 = "[] new";

-	protected final String TEXT_53 = ")" + NL + "\t{" + NL + "\t\t((";

-	protected final String TEXT_54 = ")";

-	protected final String TEXT_55 = "()).setData(new";

-	protected final String TEXT_56 = ".length, new";

-	protected final String TEXT_57 = ");" + NL + "\t}" + NL;

-	protected final String TEXT_58 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_59 = NL + "\tvoid set";

-	protected final String TEXT_60 = "(int index, ";

-	protected final String TEXT_61 = " element);" + NL;

-	protected final String TEXT_62 = NL + "\tpublic void set";

-	protected final String TEXT_63 = "(int index, ";

-	protected final String TEXT_64 = " element)" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_65 = "().set(index, element);" + NL + "\t}" + NL;

-	protected final String TEXT_66 = NL;

-	protected final String TEXT_67 = NL;

-	protected final String TEXT_68 = NL;

-	protected final String TEXT_69 = NL;

-	protected final String TEXT_70 = NL;

-	protected final String TEXT_71 = NL;

-	protected final String TEXT_72 = NL;

-	protected final String TEXT_73 = NL;

-	protected final String TEXT_74 = NL;

-	protected final String TEXT_75 = NL;

-	protected final String TEXT_76 = NL;

-

-	public InterfacegenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_75);

-		stringBuffer.append(TEXT_76);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()

-				&& !genFeature.isMapType()) {

-			String arrayElementType = genFeature.getArrayItemType(genClass);

-			stringBuffer.append(TEXT_2);

-			if (!isImplementation) {

-				stringBuffer.append(TEXT_3);

-				stringBuffer.append(arrayElementType);

-				stringBuffer.append(TEXT_4);

-				stringBuffer.append(genFeature.getGetArrayAccessor());

-				stringBuffer.append(TEXT_5);

-			} else {

-				if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {

-					stringBuffer.append(TEXT_6);

-				}

-				stringBuffer.append(TEXT_7);

-				stringBuffer.append(arrayElementType);

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(genFeature.getGetArrayAccessor());

-				stringBuffer.append(TEXT_9);

-				if (genFeature.isVolatile()) {

-					stringBuffer.append(TEXT_10);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-					stringBuffer.append(TEXT_11);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_13);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_14);

-				} else {

-					stringBuffer.append(TEXT_15);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_16);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_17);

-					stringBuffer.append(genFeature.getUpperName());

-					stringBuffer.append(TEXT_18);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-					stringBuffer.append(TEXT_19);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-					stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-					stringBuffer.append(TEXT_20);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_21);

-				}

-				stringBuffer.append(TEXT_22);

-				stringBuffer.append(arrayElementType);

-				stringBuffer.append(TEXT_23);

-			}

-			stringBuffer.append(TEXT_24);

-			if (!isImplementation) {

-				stringBuffer.append(TEXT_25);

-				stringBuffer.append(genFeature.getListItemType(genClass));

-				stringBuffer.append(TEXT_26);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_27);

-			} else {

-				stringBuffer.append(TEXT_28);

-				stringBuffer.append(genFeature.getListItemType(genClass));

-				stringBuffer.append(TEXT_29);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_30);

-				if (!genModel.useGenerics()) {

-					stringBuffer.append(TEXT_31);

-					stringBuffer.append(genFeature.getListItemType(genClass));

-					stringBuffer.append(TEXT_32);

-				}

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_33);

-			}

-			stringBuffer.append(TEXT_34);

-			if (!isImplementation) {

-				stringBuffer.append(TEXT_35);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_36);

-			} else {

-				stringBuffer.append(TEXT_37);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_38);

-				if (genFeature.isVolatile()) {

-					stringBuffer.append(TEXT_39);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_40);

-				} else {

-					stringBuffer.append(TEXT_41);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_42);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_43);

-				}

-				stringBuffer.append(TEXT_44);

-			}

-			stringBuffer.append(TEXT_45);

-			if (!isImplementation) {

-				stringBuffer.append(TEXT_46);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_47);

-				stringBuffer.append(genFeature.getListItemType(genClass));

-				stringBuffer.append(TEXT_48);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_49);

-			} else {

-				stringBuffer.append(TEXT_50);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_51);

-				stringBuffer.append(genFeature.getListItemType(genClass));

-				stringBuffer.append(TEXT_52);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_53);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-				stringBuffer.append(genFeature.getListTemplateArguments(genClass));

-				stringBuffer.append(TEXT_54);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_55);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_56);

-				stringBuffer.append(genFeature.getCapName());

-				stringBuffer.append(TEXT_57);

-			}

-			stringBuffer.append(TEXT_58);

-			if (!isImplementation) {

-				stringBuffer.append(TEXT_59);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_60);

-				stringBuffer.append(genFeature.getListItemType(genClass));

-				stringBuffer.append(TEXT_61);

-			} else {

-				stringBuffer.append(TEXT_62);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_63);

-				stringBuffer.append(genFeature.getListItemType(genClass));

-				stringBuffer.append(TEXT_64);

-				stringBuffer.append(genFeature.getGetAccessor());

-				stringBuffer.append(TEXT_65);

-			}

-		}

-		if (genFeature.isGet() && (isImplementation || !genFeature.isSuppressedGetVisibility())) {

-			stringBuffer.append(TEXT_66);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vkCYGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/getGenFeature.override.javajetinc

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicGet()) {

-			stringBuffer.append(TEXT_67);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wwVMGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/basicGetGenFeature.override.javajetinc

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {

-			stringBuffer.append(TEXT_68);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xWLEGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/basicSetGenFeature.override.javajetinc

-		}

-		if (genFeature.isSet() && (isImplementation || !genFeature.isSuppressedSetVisibility())) {

-			stringBuffer.append(TEXT_69);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0yPi8GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/setGenFeature.override.javajetinc

-		}

-		if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicUnset()) {

-			stringBuffer.append(TEXT_70);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0zSEwGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class.basicUnsetGenFeature.override.javajetinc

-		}

-		if (genFeature.isUnset() && (isImplementation || !genFeature.isSuppressedUnsetVisibility())) {

-			stringBuffer.append(TEXT_71);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0z4hsGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/unsetGenFeature.override.javajetinc

-		}

-		if (genFeature.isIsSet() && (isImplementation || !genFeature.isSuppressedIsSetVisibility())) {

-			stringBuffer.append(TEXT_72);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00oIkGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/isSetGenFeature.override.javajetinc

-		}

-		stringBuffer.append(TEXT_73);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_010bYGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_74);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized InterfacegenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegenFeatureoverride result = new InterfacegenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_3 = NL + "\t";
+	protected final String TEXT_4 = "[] ";
+	protected final String TEXT_5 = "();" + NL;
+	protected final String TEXT_6 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_7 = NL + "\tpublic ";
+	protected final String TEXT_8 = "[] ";
+	protected final String TEXT_9 = "()" + NL + "\t{";
+	protected final String TEXT_10 = NL + "\t\t";
+	protected final String TEXT_11 = " list = (";
+	protected final String TEXT_12 = ")";
+	protected final String TEXT_13 = "();" + NL + "\t\tif (list.isEmpty()) return ";
+	protected final String TEXT_14 = "_EEMPTY_ARRAY;";
+	protected final String TEXT_15 = NL + "\t\tif (";
+	protected final String TEXT_16 = " == null || ";
+	protected final String TEXT_17 = ".isEmpty()) return ";
+	protected final String TEXT_18 = "_EEMPTY_ARRAY;" + NL + "\t\t";
+	protected final String TEXT_19 = " list = (";
+	protected final String TEXT_20 = ")";
+	protected final String TEXT_21 = ";";
+	protected final String TEXT_22 = NL + "\t\tlist.shrink();" + NL + "\t\treturn (";
+	protected final String TEXT_23 = "[])list.data();" + NL + "\t}" + NL;
+	protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_25 = NL + "\t";
+	protected final String TEXT_26 = " get";
+	protected final String TEXT_27 = "(int index);" + NL;
+	protected final String TEXT_28 = NL + "\tpublic ";
+	protected final String TEXT_29 = " get";
+	protected final String TEXT_30 = "(int index)" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_31 = "(";
+	protected final String TEXT_32 = ")";
+	protected final String TEXT_33 = "().get(index);" + NL + "\t}" + NL;
+	protected final String TEXT_34 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_35 = NL + "\tint get";
+	protected final String TEXT_36 = "Length();" + NL;
+	protected final String TEXT_37 = NL + "\tpublic int get";
+	protected final String TEXT_38 = "Length()" + NL + "\t{";
+	protected final String TEXT_39 = NL + "\t\treturn ";
+	protected final String TEXT_40 = "().size();";
+	protected final String TEXT_41 = NL + "\t\treturn ";
+	protected final String TEXT_42 = " == null ? 0 : ";
+	protected final String TEXT_43 = ".size();";
+	protected final String TEXT_44 = NL + "\t}" + NL;
+	protected final String TEXT_45 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_46 = NL + "\tvoid set";
+	protected final String TEXT_47 = "(";
+	protected final String TEXT_48 = "[] new";
+	protected final String TEXT_49 = ");" + NL;
+	protected final String TEXT_50 = NL + "\tpublic void set";
+	protected final String TEXT_51 = "(";
+	protected final String TEXT_52 = "[] new";
+	protected final String TEXT_53 = ")" + NL + "\t{" + NL + "\t\t((";
+	protected final String TEXT_54 = ")";
+	protected final String TEXT_55 = "()).setData(new";
+	protected final String TEXT_56 = ".length, new";
+	protected final String TEXT_57 = ");" + NL + "\t}" + NL;
+	protected final String TEXT_58 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_59 = NL + "\tvoid set";
+	protected final String TEXT_60 = "(int index, ";
+	protected final String TEXT_61 = " element);" + NL;
+	protected final String TEXT_62 = NL + "\tpublic void set";
+	protected final String TEXT_63 = "(int index, ";
+	protected final String TEXT_64 = " element)" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_65 = "().set(index, element);" + NL + "\t}" + NL;
+	protected final String TEXT_66 = NL;
+	protected final String TEXT_67 = NL;
+	protected final String TEXT_68 = NL;
+	protected final String TEXT_69 = NL;
+	protected final String TEXT_70 = NL;
+	protected final String TEXT_71 = NL;
+	protected final String TEXT_72 = NL;
+	protected final String TEXT_73 = NL;
+	protected final String TEXT_74 = NL;
+	protected final String TEXT_75 = NL;
+	protected final String TEXT_76 = NL;
+
+	public InterfacegenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_75);
+		stringBuffer.append(TEXT_76);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genModel.isArrayAccessors() && genFeature.isListType() && !genFeature.isFeatureMapType()
+				&& !genFeature.isMapType()) {
+			String arrayElementType = genFeature.getArrayItemType(genClass);
+			stringBuffer.append(TEXT_2);
+			if (!isImplementation) {
+				stringBuffer.append(TEXT_3);
+				stringBuffer.append(arrayElementType);
+				stringBuffer.append(TEXT_4);
+				stringBuffer.append(genFeature.getGetArrayAccessor());
+				stringBuffer.append(TEXT_5);
+			} else {
+				if (genModel.useGenerics() && CodeGenUtil.isUncheckedCast(arrayElementType)) {
+					stringBuffer.append(TEXT_6);
+				}
+				stringBuffer.append(TEXT_7);
+				stringBuffer.append(arrayElementType);
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(genFeature.getGetArrayAccessor());
+				stringBuffer.append(TEXT_9);
+				if (genFeature.isVolatile()) {
+					stringBuffer.append(TEXT_10);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+					stringBuffer.append(TEXT_11);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_13);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_14);
+				} else {
+					stringBuffer.append(TEXT_15);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_16);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_17);
+					stringBuffer.append(genFeature.getUpperName());
+					stringBuffer.append(TEXT_18);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+					stringBuffer.append(TEXT_19);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+					stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+					stringBuffer.append(TEXT_20);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_21);
+				}
+				stringBuffer.append(TEXT_22);
+				stringBuffer.append(arrayElementType);
+				stringBuffer.append(TEXT_23);
+			}
+			stringBuffer.append(TEXT_24);
+			if (!isImplementation) {
+				stringBuffer.append(TEXT_25);
+				stringBuffer.append(genFeature.getListItemType(genClass));
+				stringBuffer.append(TEXT_26);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_27);
+			} else {
+				stringBuffer.append(TEXT_28);
+				stringBuffer.append(genFeature.getListItemType(genClass));
+				stringBuffer.append(TEXT_29);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_30);
+				if (!genModel.useGenerics()) {
+					stringBuffer.append(TEXT_31);
+					stringBuffer.append(genFeature.getListItemType(genClass));
+					stringBuffer.append(TEXT_32);
+				}
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_33);
+			}
+			stringBuffer.append(TEXT_34);
+			if (!isImplementation) {
+				stringBuffer.append(TEXT_35);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_36);
+			} else {
+				stringBuffer.append(TEXT_37);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_38);
+				if (genFeature.isVolatile()) {
+					stringBuffer.append(TEXT_39);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_40);
+				} else {
+					stringBuffer.append(TEXT_41);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_42);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_43);
+				}
+				stringBuffer.append(TEXT_44);
+			}
+			stringBuffer.append(TEXT_45);
+			if (!isImplementation) {
+				stringBuffer.append(TEXT_46);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_47);
+				stringBuffer.append(genFeature.getListItemType(genClass));
+				stringBuffer.append(TEXT_48);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_49);
+			} else {
+				stringBuffer.append(TEXT_50);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_51);
+				stringBuffer.append(genFeature.getListItemType(genClass));
+				stringBuffer.append(TEXT_52);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_53);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+				stringBuffer.append(genFeature.getListTemplateArguments(genClass));
+				stringBuffer.append(TEXT_54);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_55);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_56);
+				stringBuffer.append(genFeature.getCapName());
+				stringBuffer.append(TEXT_57);
+			}
+			stringBuffer.append(TEXT_58);
+			if (!isImplementation) {
+				stringBuffer.append(TEXT_59);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_60);
+				stringBuffer.append(genFeature.getListItemType(genClass));
+				stringBuffer.append(TEXT_61);
+			} else {
+				stringBuffer.append(TEXT_62);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_63);
+				stringBuffer.append(genFeature.getListItemType(genClass));
+				stringBuffer.append(TEXT_64);
+				stringBuffer.append(genFeature.getGetAccessor());
+				stringBuffer.append(TEXT_65);
+			}
+		}
+		if (genFeature.isGet() && (isImplementation || !genFeature.isSuppressedGetVisibility())) {
+			stringBuffer.append(TEXT_66);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vkCYGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/getGenFeature.override.javajetinc
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicGet()) {
+			stringBuffer.append(TEXT_67);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicGetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wwVMGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/basicGetGenFeature.override.javajetinc
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicSet()) {
+			stringBuffer.append(TEXT_68);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0xWLEGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/basicSetGenFeature.override.javajetinc
+		}
+		if (genFeature.isSet() && (isImplementation || !genFeature.isSuppressedSetVisibility())) {
+			stringBuffer.append(TEXT_69);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0yPi8GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/setGenFeature.override.javajetinc
+		}
+		if (isImplementation && !genModel.isReflectiveDelegation() && genFeature.isBasicUnset()) {
+			stringBuffer.append(TEXT_70);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.basicUnsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0zSEwGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class.basicUnsetGenFeature.override.javajetinc
+		}
+		if (genFeature.isUnset() && (isImplementation || !genFeature.isSuppressedUnsetVisibility())) {
+			stringBuffer.append(TEXT_71);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0z4hsGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/unsetGenFeature.override.javajetinc
+		}
+		if (genFeature.isIsSet() && (isImplementation || !genFeature.isSuppressedIsSetVisibility())) {
+			stringBuffer.append(TEXT_72);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00oIkGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/isSetGenFeature.override.javajetinc
+		}
+		stringBuffer.append(TEXT_73);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_010bYGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_74);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationannotationsinsert.java
index 6711f19..8ade38c 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegenOperationannotationsinsert {

-	protected static String nl;

-

-	public static synchronized InterfacegenOperationannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegenOperationannotationsinsert result = new InterfacegenOperationannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacegenOperationannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenOperationannotationsinsert {
+	protected static String nl;
+
+	public static synchronized InterfacegenOperationannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegenOperationannotationsinsert result = new InterfacegenOperationannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacegenOperationannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationinsert.java
index 462775b..8732b9b 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegenOperationinsert {

-	protected static String nl;

-

-	public static synchronized InterfacegenOperationinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegenOperationinsert result = new InterfacegenOperationinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacegenOperationinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenOperationinsert {
+	protected static String nl;
+
+	public static synchronized InterfacegenOperationinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegenOperationinsert result = new InterfacegenOperationinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacegenOperationinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocinsert.java
index 0389443..54d98cb 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegenOperationjavadocinsert {

-	protected static String nl;

-

-	public static synchronized InterfacegenOperationjavadocinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegenOperationjavadocinsert result = new InterfacegenOperationjavadocinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacegenOperationjavadocinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenOperationjavadocinsert {
+	protected static String nl;
+
+	public static synchronized InterfacegenOperationjavadocinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegenOperationjavadocinsert result = new InterfacegenOperationjavadocinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacegenOperationjavadocinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocoverride.java
index 7e3b0cf..4d63034 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationjavadocoverride.java
@@ -1,365 +1,365 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegenOperationjavadocoverride {

-	protected static String nl;

-

-	public static synchronized InterfacegenOperationjavadocoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegenOperationjavadocoverride result = new InterfacegenOperationjavadocoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

-	protected final String TEXT_4 = NL + "\t * <!-- begin-model-doc -->";

-	protected final String TEXT_5 = NL + "\t * ";

-	protected final String TEXT_6 = NL + "\t * @param ";

-	protected final String TEXT_7 = NL + "\t *   ";

-	protected final String TEXT_8 = NL + "\t * @param ";

-	protected final String TEXT_9 = " ";

-	protected final String TEXT_10 = NL + "\t * <!-- end-model-doc -->";

-	protected final String TEXT_11 = NL + "\t * @model ";

-	protected final String TEXT_12 = NL + "\t *        ";

-	protected final String TEXT_13 = NL + "\t * @model";

-	protected final String TEXT_14 = NL + "\t * @generated" + NL + "\t */" + NL;

-	protected final String TEXT_15 = NL;

-	protected final String TEXT_16 = NL;

-

-	public InterfacegenOperationjavadocoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(TEXT_16);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.javadoc.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genOperation", genOperation);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_02kCQGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_3);

-		if (genOperation.hasDocumentation() || genOperation.hasParameterDocumentation()) {

-			stringBuffer.append(TEXT_4);

-			if (genOperation.hasDocumentation()) {

-				stringBuffer.append(TEXT_5);

-				stringBuffer.append(genOperation.getDocumentation(genModel.getIndentation(stringBuffer)));

-			}

-			for (GenParameter genParameter : genOperation.getGenParameters()) {

-				if (genParameter.hasDocumentation()) {

-					String documentation = genParameter.getDocumentation("");

-					if (documentation.contains("\n") || documentation.contains("\r")) {

-						stringBuffer.append(TEXT_6);

-						stringBuffer.append(genParameter.getName());

-						stringBuffer.append(TEXT_7);

-						stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));

-					} else {

-						stringBuffer.append(TEXT_8);

-						stringBuffer.append(genParameter.getName());

-						stringBuffer.append(TEXT_9);

-						stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));

-					}

-				}

-			}

-			stringBuffer.append(TEXT_10);

-		}

-		if (!genModel.isSuppressEMFModelTags()) {

-			boolean first = true;

-			for (StringTokenizer stringTokenizer = new StringTokenizer(genOperation.getModelInfo(), "\n\r"); stringTokenizer

-					.hasMoreTokens();) {

-				String modelInfo = stringTokenizer.nextToken();

-				if (first) {

-					first = false;

-					stringBuffer.append(TEXT_11);

-					stringBuffer.append(modelInfo);

-				} else {

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(modelInfo);

-				}

-			}

-			if (first) {

-				stringBuffer.append(TEXT_13);

-			}

-		}

-		stringBuffer.append(TEXT_14);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenOperationjavadocoverride {
+	protected static String nl;
+
+	public static synchronized InterfacegenOperationjavadocoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegenOperationjavadocoverride result = new InterfacegenOperationjavadocoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+	protected final String TEXT_4 = NL + "\t * <!-- begin-model-doc -->";
+	protected final String TEXT_5 = NL + "\t * ";
+	protected final String TEXT_6 = NL + "\t * @param ";
+	protected final String TEXT_7 = NL + "\t *   ";
+	protected final String TEXT_8 = NL + "\t * @param ";
+	protected final String TEXT_9 = " ";
+	protected final String TEXT_10 = NL + "\t * <!-- end-model-doc -->";
+	protected final String TEXT_11 = NL + "\t * @model ";
+	protected final String TEXT_12 = NL + "\t *        ";
+	protected final String TEXT_13 = NL + "\t * @model";
+	protected final String TEXT_14 = NL + "\t * @generated" + NL + "\t */" + NL;
+	protected final String TEXT_15 = NL;
+	protected final String TEXT_16 = NL;
+
+	public InterfacegenOperationjavadocoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(TEXT_16);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.javadoc.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genOperation", genOperation);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_02kCQGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_3);
+		if (genOperation.hasDocumentation() || genOperation.hasParameterDocumentation()) {
+			stringBuffer.append(TEXT_4);
+			if (genOperation.hasDocumentation()) {
+				stringBuffer.append(TEXT_5);
+				stringBuffer.append(genOperation.getDocumentation(genModel.getIndentation(stringBuffer)));
+			}
+			for (GenParameter genParameter : genOperation.getGenParameters()) {
+				if (genParameter.hasDocumentation()) {
+					String documentation = genParameter.getDocumentation("");
+					if (documentation.contains("\n") || documentation.contains("\r")) {
+						stringBuffer.append(TEXT_6);
+						stringBuffer.append(genParameter.getName());
+						stringBuffer.append(TEXT_7);
+						stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));
+					} else {
+						stringBuffer.append(TEXT_8);
+						stringBuffer.append(genParameter.getName());
+						stringBuffer.append(TEXT_9);
+						stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));
+					}
+				}
+			}
+			stringBuffer.append(TEXT_10);
+		}
+		if (!genModel.isSuppressEMFModelTags()) {
+			boolean first = true;
+			for (StringTokenizer stringTokenizer = new StringTokenizer(genOperation.getModelInfo(),
+					"\n\r"); stringTokenizer.hasMoreTokens();) {
+				String modelInfo = stringTokenizer.nextToken();
+				if (first) {
+					first = false;
+					stringBuffer.append(TEXT_11);
+					stringBuffer.append(modelInfo);
+				} else {
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(modelInfo);
+				}
+			}
+			if (first) {
+				stringBuffer.append(TEXT_13);
+			}
+		}
+		stringBuffer.append(TEXT_14);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationoverride.java
index 9340ff0..2427977 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegenOperationoverride.java
@@ -1,699 +1,697 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegenOperationoverride {

-	protected static String nl;

-

-	public static synchronized InterfacegenOperationoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegenOperationoverride result = new InterfacegenOperationoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * The cached validation expression for the '{@link #";

-	protected final String TEXT_3 = "(";

-	protected final String TEXT_4 = ") <em>";

-	protected final String TEXT_5 = "</em>}' invariant operation." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

-	protected final String TEXT_6 = "(";

-	protected final String TEXT_7 = ")" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL

-			+ "\tprotected static final ";

-	protected final String TEXT_8 = " ";

-	protected final String TEXT_9 = "__EEXPRESSION = \"";

-	protected final String TEXT_10 = "\";";

-	protected final String TEXT_11 = NL;

-	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * The cached invocation delegate for the '{@link #";

-	protected final String TEXT_13 = "(";

-	protected final String TEXT_14 = ") <em>";

-	protected final String TEXT_15 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";

-	protected final String TEXT_16 = "(";

-	protected final String TEXT_17 = ")" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL

-			+ "\tprotected static final ";

-	protected final String TEXT_18 = ".Internal.InvocationDelegate ";

-	protected final String TEXT_19 = "__EINVOCATION_DELEGATE = ((";

-	protected final String TEXT_20 = ".Internal)";

-	protected final String TEXT_21 = ").getInvocationDelegate();" + NL;

-	protected final String TEXT_22 = NL;

-	protected final String TEXT_23 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_24 = NL;

-	protected final String TEXT_25 = NL + "\t";

-	protected final String TEXT_26 = " ";

-	protected final String TEXT_27 = "(";

-	protected final String TEXT_28 = ")";

-	protected final String TEXT_29 = ";" + NL;

-	protected final String TEXT_30 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_31 = NL + "\tpublic ";

-	protected final String TEXT_32 = " ";

-	protected final String TEXT_33 = "(";

-	protected final String TEXT_34 = ")";

-	protected final String TEXT_35 = NL + "\t{";

-	protected final String TEXT_36 = NL + "\t\t";

-	protected final String TEXT_37 = NL + "\t\treturn" + NL + "\t\t\t";

-	protected final String TEXT_38 = ".validate" + NL + "\t\t\t\t(";

-	protected final String TEXT_39 = "," + NL + "\t\t\t\t this," + NL + "\t\t\t\t ";

-	protected final String TEXT_40 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_41 = "," + NL + "\t\t\t\t \"";

-	protected final String TEXT_42 = "\",";

-	protected final String TEXT_43 = NL + "\t\t\t\t ";

-	protected final String TEXT_44 = "," + NL + "\t\t\t\t ";

-	protected final String TEXT_45 = "__EEXPRESSION," + NL + "\t\t\t\t ";

-	protected final String TEXT_46 = ".ERROR," + NL + "\t\t\t\t ";

-	protected final String TEXT_47 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t ";

-	protected final String TEXT_48 = ".";

-	protected final String TEXT_49 = ");";

-	protected final String TEXT_50 = NL + "\t\t// TODO: implement this method" + NL

-			+ "\t\t// -> specify the condition that violates the invariant" + NL

-			+ "\t\t// -> verify the details of the diagnostic, including severity and message" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL

-			+ "\t\t{" + NL + "\t\t\tif (";

-	protected final String TEXT_51 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";

-	protected final String TEXT_52 = ".add" + NL + "\t\t\t\t\t(new ";

-	protected final String TEXT_53 = NL + "\t\t\t\t\t\t(";

-	protected final String TEXT_54 = ".ERROR," + NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_55 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_56 = ".";

-	protected final String TEXT_57 = "," + NL + "\t\t\t\t\t\t ";

-	protected final String TEXT_58 = ".INSTANCE.getString(\"_UI_GenericInvariant_diagnostic\", new Object[] { \"";

-	protected final String TEXT_59 = "\", ";

-	protected final String TEXT_60 = ".getObjectLabel(this, ";

-	protected final String TEXT_61 = ") }),";

-	protected final String TEXT_62 = NL + "\t\t\t\t\t\t new Object [] { this }));" + NL + "\t\t\t}" + NL

-			+ "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn true;";

-	protected final String TEXT_63 = NL + "\t\ttry" + NL + "\t\t{";

-	protected final String TEXT_64 = NL + "\t\t\t";

-	protected final String TEXT_65 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";

-	protected final String TEXT_66 = "new ";

-	protected final String TEXT_67 = ".UnmodifiableEList<Object>(";

-	protected final String TEXT_68 = ", ";

-	protected final String TEXT_69 = ")";

-	protected final String TEXT_70 = "null";

-	protected final String TEXT_71 = ");";

-	protected final String TEXT_72 = NL + "\t\t\treturn ";

-	protected final String TEXT_73 = "(";

-	protected final String TEXT_74 = "(";

-	protected final String TEXT_75 = ")";

-	protected final String TEXT_76 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";

-	protected final String TEXT_77 = "new ";

-	protected final String TEXT_78 = ".UnmodifiableEList<Object>(";

-	protected final String TEXT_79 = ", ";

-	protected final String TEXT_80 = ")";

-	protected final String TEXT_81 = "null";

-	protected final String TEXT_82 = ")";

-	protected final String TEXT_83 = ").";

-	protected final String TEXT_84 = "()";

-	protected final String TEXT_85 = ";";

-	protected final String TEXT_86 = NL + "\t\t}" + NL + "\t\tcatch (";

-	protected final String TEXT_87 = " ite)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";

-	protected final String TEXT_88 = "(ite);" + NL + "\t\t}";

-	protected final String TEXT_89 = NL;

-	protected final String TEXT_90 = NL + "\t}" + NL;

-	protected final String TEXT_91 = NL;

-	protected final String TEXT_92 = NL;

-	protected final String TEXT_93 = NL;

-	protected final String TEXT_94 = NL;

-

-	public InterfacegenOperationoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_93);

-		stringBuffer.append(TEXT_94);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isImplementation) {

-			if (genOperation.isInvariant() && genOperation.hasInvariantExpression()) {

-				stringBuffer.append(TEXT_2);

-				stringBuffer.append(genOperation.getName());

-				stringBuffer.append(TEXT_3);

-				stringBuffer.append(genOperation.getParameterTypes(", "));

-				stringBuffer.append(TEXT_4);

-				stringBuffer.append(genOperation.getFormattedName());

-				stringBuffer.append(TEXT_5);

-				stringBuffer.append(genOperation.getName());

-				stringBuffer.append(TEXT_6);

-				stringBuffer.append(genOperation.getParameterTypes(", "));

-				stringBuffer.append(TEXT_7);

-				stringBuffer.append(genModel.getImportedName("java.lang.String"));

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

-				stringBuffer.append(TEXT_9);

-				stringBuffer.append(genOperation.getInvariantExpression("\t\t"));

-				stringBuffer.append(TEXT_10);

-				stringBuffer.append(genModel.getNonNLS());

-				stringBuffer.append(TEXT_11);

-			} else if (genOperation.hasInvocationDelegate()) {

-				stringBuffer.append(TEXT_12);

-				stringBuffer.append(genOperation.getName());

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(genOperation.getParameterTypes(", "));

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genOperation.getFormattedName());

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(genOperation.getName());

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genOperation.getParameterTypes(", "));

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

-				stringBuffer.append(TEXT_18);

-				stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genOperation.getQualifiedOperationAccessor());

-				stringBuffer.append(TEXT_21);

-			}

-		}

-		if (isInterface) {

-			stringBuffer.append(TEXT_22);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.javadoc.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genOperation", genOperation);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_02HWUGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/genOperation.javadoc.override.javajetinc

-		} else {

-			stringBuffer.append(TEXT_23);

-			if (isJDK50) { //Class/genOperation.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_24);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genOperation", genOperation);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_02tzQGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-		}

-		if (!isImplementation) {

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genOperation.getTypeParameters(genClass));

-			stringBuffer.append(genOperation.getImportedType(genClass));

-			stringBuffer.append(TEXT_26);

-			stringBuffer.append(genOperation.getName());

-			stringBuffer.append(TEXT_27);

-			stringBuffer.append(genOperation.getParameters(genClass));

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(genOperation.getThrows(genClass));

-			stringBuffer.append(TEXT_29);

-		} else {

-			if (genModel.useGenerics() && !genOperation.hasBody() && !genOperation.isInvariant()

-					&& genOperation.hasInvocationDelegate() && genOperation.isUncheckedCast(genClass)) {

-				stringBuffer.append(TEXT_30);

-			}

-			stringBuffer.append(TEXT_31);

-			stringBuffer.append(genOperation.getTypeParameters(genClass));

-			stringBuffer.append(genOperation.getImportedType(genClass));

-			stringBuffer.append(TEXT_32);

-			stringBuffer.append(genOperation.getName());

-			stringBuffer.append(TEXT_33);

-			stringBuffer.append(genOperation.getParameters(isImplementation, genClass));

-			stringBuffer.append(TEXT_34);

-			stringBuffer.append(genOperation.getThrows(genClass));

-			stringBuffer.append(TEXT_35);

-			if (genOperation.hasBody()) {

-				stringBuffer.append(TEXT_36);

-				stringBuffer.append(genOperation.getBody(genModel.getIndentation(stringBuffer)));

-			} else if (genOperation.isInvariant()) {

-				GenClass opClass = genOperation.getGenClass();

-				String diagnostics = genOperation.getGenParameters().get(0).getName();

-				String context = genOperation.getGenParameters().get(1).getName();

-				if (genOperation.hasInvariantExpression()) {

-					stringBuffer.append(TEXT_37);

-					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

-					stringBuffer.append(TEXT_38);

-					stringBuffer.append(genClass.getQualifiedClassifierAccessor());

-					stringBuffer.append(TEXT_39);

-					stringBuffer.append(diagnostics);

-					stringBuffer.append(TEXT_40);

-					stringBuffer.append(context);

-					stringBuffer.append(TEXT_41);

-					stringBuffer.append(genOperation.getValidationDelegate());

-					stringBuffer.append(TEXT_42);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(TEXT_43);

-					stringBuffer.append(genOperation.getQualifiedOperationAccessor());

-					stringBuffer.append(TEXT_44);

-					stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation),

-							genModel.getLocale()));

-					stringBuffer.append(TEXT_45);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

-					stringBuffer.append(TEXT_47);

-					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

-					stringBuffer.append(TEXT_48);

-					stringBuffer.append(opClass.getOperationID(genOperation));

-					stringBuffer.append(TEXT_49);

-				} else {

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(diagnostics);

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(diagnostics);

-					stringBuffer.append(TEXT_52);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));

-					stringBuffer.append(TEXT_53);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));

-					stringBuffer.append(TEXT_54);

-					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

-					stringBuffer.append(TEXT_55);

-					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());

-					stringBuffer.append(TEXT_56);

-					stringBuffer.append(opClass.getOperationID(genOperation));

-					stringBuffer.append(TEXT_57);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));

-					stringBuffer.append(TEXT_58);

-					stringBuffer.append(genOperation.getName());

-					stringBuffer.append(TEXT_59);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));

-					stringBuffer.append(TEXT_60);

-					stringBuffer.append(context);

-					stringBuffer.append(TEXT_61);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(genModel.getNonNLS(2));

-					stringBuffer.append(TEXT_62);

-				}

-			} else if (genOperation.hasInvocationDelegate()) {

-				int size = genOperation.getGenParameters().size();

-				stringBuffer.append(TEXT_63);

-				if (genOperation.isVoid()) {

-					stringBuffer.append(TEXT_64);

-					stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation),

-							genModel.getLocale()));

-					stringBuffer.append(TEXT_65);

-					if (size > 0) {

-						stringBuffer.append(TEXT_66);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-						stringBuffer.append(TEXT_67);

-						stringBuffer.append(size);

-						stringBuffer.append(TEXT_68);

-						stringBuffer.append(genOperation.getParametersArray(genClass));

-						stringBuffer.append(TEXT_69);

-					} else {

-						stringBuffer.append(TEXT_70);

-					}

-					stringBuffer.append(TEXT_71);

-				} else {

-					stringBuffer.append(TEXT_72);

-					if (!isJDK50 && genOperation.isPrimitiveType()) {

-						stringBuffer.append(TEXT_73);

-					}

-					stringBuffer.append(TEXT_74);

-					stringBuffer.append(genOperation.getObjectType(genClass));

-					stringBuffer.append(TEXT_75);

-					stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation),

-							genModel.getLocale()));

-					stringBuffer.append(TEXT_76);

-					if (size > 0) {

-						stringBuffer.append(TEXT_77);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));

-						stringBuffer.append(TEXT_78);

-						stringBuffer.append(size);

-						stringBuffer.append(TEXT_79);

-						stringBuffer.append(genOperation.getParametersArray(genClass));

-						stringBuffer.append(TEXT_80);

-					} else {

-						stringBuffer.append(TEXT_81);

-					}

-					stringBuffer.append(TEXT_82);

-					if (!isJDK50 && genOperation.isPrimitiveType()) {

-						stringBuffer.append(TEXT_83);

-						stringBuffer.append(genOperation.getPrimitiveValueFunction());

-						stringBuffer.append(TEXT_84);

-					}

-					stringBuffer.append(TEXT_85);

-				}

-				stringBuffer.append(TEXT_86);

-				stringBuffer.append(genModel

-						.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"

-								: "java.lang.reflect.InvocationTargetException"));

-				stringBuffer.append(TEXT_87);

-				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));

-				stringBuffer.append(TEXT_88);

-			} else {

-				stringBuffer.append(TEXT_89);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genOperation", genOperation);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0229MGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//Class/implementedGenOperation.todo.override.javajetinc

-			}

-			stringBuffer.append(TEXT_90);

-		}

-		stringBuffer.append(TEXT_91);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genOperation", genOperation);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03AuMGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_92);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegenOperationoverride {
+	protected static String nl;
+
+	public static synchronized InterfacegenOperationoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegenOperationoverride result = new InterfacegenOperationoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * The cached validation expression for the '{@link #";
+	protected final String TEXT_3 = "(";
+	protected final String TEXT_4 = ") <em>";
+	protected final String TEXT_5 = "</em>}' invariant operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+	protected final String TEXT_6 = "(";
+	protected final String TEXT_7 = ")" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL
+			+ "\tprotected static final ";
+	protected final String TEXT_8 = " ";
+	protected final String TEXT_9 = "__EEXPRESSION = \"";
+	protected final String TEXT_10 = "\";";
+	protected final String TEXT_11 = NL;
+	protected final String TEXT_12 = NL + "\t/**" + NL + "\t * The cached invocation delegate for the '{@link #";
+	protected final String TEXT_13 = "(";
+	protected final String TEXT_14 = ") <em>";
+	protected final String TEXT_15 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+	protected final String TEXT_16 = "(";
+	protected final String TEXT_17 = ")" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL
+			+ "\tprotected static final ";
+	protected final String TEXT_18 = ".Internal.InvocationDelegate ";
+	protected final String TEXT_19 = "__EINVOCATION_DELEGATE = ((";
+	protected final String TEXT_20 = ".Internal)";
+	protected final String TEXT_21 = ").getInvocationDelegate();" + NL;
+	protected final String TEXT_22 = NL;
+	protected final String TEXT_23 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_24 = NL;
+	protected final String TEXT_25 = NL + "\t";
+	protected final String TEXT_26 = " ";
+	protected final String TEXT_27 = "(";
+	protected final String TEXT_28 = ")";
+	protected final String TEXT_29 = ";" + NL;
+	protected final String TEXT_30 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_31 = NL + "\tpublic ";
+	protected final String TEXT_32 = " ";
+	protected final String TEXT_33 = "(";
+	protected final String TEXT_34 = ")";
+	protected final String TEXT_35 = NL + "\t{";
+	protected final String TEXT_36 = NL + "\t\t";
+	protected final String TEXT_37 = NL + "\t\treturn" + NL + "\t\t\t";
+	protected final String TEXT_38 = ".validate" + NL + "\t\t\t\t(";
+	protected final String TEXT_39 = "," + NL + "\t\t\t\t this," + NL + "\t\t\t\t ";
+	protected final String TEXT_40 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_41 = "," + NL + "\t\t\t\t \"";
+	protected final String TEXT_42 = "\",";
+	protected final String TEXT_43 = NL + "\t\t\t\t ";
+	protected final String TEXT_44 = "," + NL + "\t\t\t\t ";
+	protected final String TEXT_45 = "__EEXPRESSION," + NL + "\t\t\t\t ";
+	protected final String TEXT_46 = ".ERROR," + NL + "\t\t\t\t ";
+	protected final String TEXT_47 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t ";
+	protected final String TEXT_48 = ".";
+	protected final String TEXT_49 = ");";
+	protected final String TEXT_50 = NL + "\t\t// TODO: implement this method" + NL
+			+ "\t\t// -> specify the condition that violates the invariant" + NL
+			+ "\t\t// -> verify the details of the diagnostic, including severity and message" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL
+			+ "\t\t{" + NL + "\t\t\tif (";
+	protected final String TEXT_51 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+	protected final String TEXT_52 = ".add" + NL + "\t\t\t\t\t(new ";
+	protected final String TEXT_53 = NL + "\t\t\t\t\t\t(";
+	protected final String TEXT_54 = ".ERROR," + NL + "\t\t\t\t\t\t ";
+	protected final String TEXT_55 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t ";
+	protected final String TEXT_56 = ".";
+	protected final String TEXT_57 = "," + NL + "\t\t\t\t\t\t ";
+	protected final String TEXT_58 = ".INSTANCE.getString(\"_UI_GenericInvariant_diagnostic\", new Object[] { \"";
+	protected final String TEXT_59 = "\", ";
+	protected final String TEXT_60 = ".getObjectLabel(this, ";
+	protected final String TEXT_61 = ") }),";
+	protected final String TEXT_62 = NL + "\t\t\t\t\t\t new Object [] { this }));" + NL + "\t\t\t}" + NL
+			+ "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn true;";
+	protected final String TEXT_63 = NL + "\t\ttry" + NL + "\t\t{";
+	protected final String TEXT_64 = NL + "\t\t\t";
+	protected final String TEXT_65 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";
+	protected final String TEXT_66 = "new ";
+	protected final String TEXT_67 = ".UnmodifiableEList<Object>(";
+	protected final String TEXT_68 = ", ";
+	protected final String TEXT_69 = ")";
+	protected final String TEXT_70 = "null";
+	protected final String TEXT_71 = ");";
+	protected final String TEXT_72 = NL + "\t\t\treturn ";
+	protected final String TEXT_73 = "(";
+	protected final String TEXT_74 = "(";
+	protected final String TEXT_75 = ")";
+	protected final String TEXT_76 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";
+	protected final String TEXT_77 = "new ";
+	protected final String TEXT_78 = ".UnmodifiableEList<Object>(";
+	protected final String TEXT_79 = ", ";
+	protected final String TEXT_80 = ")";
+	protected final String TEXT_81 = "null";
+	protected final String TEXT_82 = ")";
+	protected final String TEXT_83 = ").";
+	protected final String TEXT_84 = "()";
+	protected final String TEXT_85 = ";";
+	protected final String TEXT_86 = NL + "\t\t}" + NL + "\t\tcatch (";
+	protected final String TEXT_87 = " ite)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";
+	protected final String TEXT_88 = "(ite);" + NL + "\t\t}";
+	protected final String TEXT_89 = NL;
+	protected final String TEXT_90 = NL + "\t}" + NL;
+	protected final String TEXT_91 = NL;
+	protected final String TEXT_92 = NL;
+	protected final String TEXT_93 = NL;
+	protected final String TEXT_94 = NL;
+
+	public InterfacegenOperationoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_93);
+		stringBuffer.append(TEXT_94);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isImplementation) {
+			if (genOperation.isInvariant() && genOperation.hasInvariantExpression()) {
+				stringBuffer.append(TEXT_2);
+				stringBuffer.append(genOperation.getName());
+				stringBuffer.append(TEXT_3);
+				stringBuffer.append(genOperation.getParameterTypes(", "));
+				stringBuffer.append(TEXT_4);
+				stringBuffer.append(genOperation.getFormattedName());
+				stringBuffer.append(TEXT_5);
+				stringBuffer.append(genOperation.getName());
+				stringBuffer.append(TEXT_6);
+				stringBuffer.append(genOperation.getParameterTypes(", "));
+				stringBuffer.append(TEXT_7);
+				stringBuffer.append(genModel.getImportedName("java.lang.String"));
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+				stringBuffer.append(TEXT_9);
+				stringBuffer.append(genOperation.getInvariantExpression("\t\t"));
+				stringBuffer.append(TEXT_10);
+				stringBuffer.append(genModel.getNonNLS());
+				stringBuffer.append(TEXT_11);
+			} else if (genOperation.hasInvocationDelegate()) {
+				stringBuffer.append(TEXT_12);
+				stringBuffer.append(genOperation.getName());
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(genOperation.getParameterTypes(", "));
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genOperation.getFormattedName());
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(genOperation.getName());
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genOperation.getParameterTypes(", "));
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+				stringBuffer.append(TEXT_18);
+				stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genOperation.getQualifiedOperationAccessor());
+				stringBuffer.append(TEXT_21);
+			}
+		}
+		if (isInterface) {
+			stringBuffer.append(TEXT_22);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.javadoc.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genOperation", genOperation);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_02HWUGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/genOperation.javadoc.override.javajetinc
+		} else {
+			stringBuffer.append(TEXT_23);
+			if (isJDK50) { //Class/genOperation.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_24);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genOperation", genOperation);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_02tzQGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+		}
+		if (!isImplementation) {
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genOperation.getTypeParameters(genClass));
+			stringBuffer.append(genOperation.getImportedType(genClass));
+			stringBuffer.append(TEXT_26);
+			stringBuffer.append(genOperation.getName());
+			stringBuffer.append(TEXT_27);
+			stringBuffer.append(genOperation.getParameters(genClass));
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(genOperation.getThrows(genClass));
+			stringBuffer.append(TEXT_29);
+		} else {
+			if (genModel.useGenerics() && !genOperation.hasBody() && !genOperation.isInvariant()
+					&& genOperation.hasInvocationDelegate() && genOperation.isUncheckedCast(genClass)) {
+				stringBuffer.append(TEXT_30);
+			}
+			stringBuffer.append(TEXT_31);
+			stringBuffer.append(genOperation.getTypeParameters(genClass));
+			stringBuffer.append(genOperation.getImportedType(genClass));
+			stringBuffer.append(TEXT_32);
+			stringBuffer.append(genOperation.getName());
+			stringBuffer.append(TEXT_33);
+			stringBuffer.append(genOperation.getParameters(isImplementation, genClass));
+			stringBuffer.append(TEXT_34);
+			stringBuffer.append(genOperation.getThrows(genClass));
+			stringBuffer.append(TEXT_35);
+			if (genOperation.hasBody()) {
+				stringBuffer.append(TEXT_36);
+				stringBuffer.append(genOperation.getBody(genModel.getIndentation(stringBuffer)));
+			} else if (genOperation.isInvariant()) {
+				GenClass opClass = genOperation.getGenClass();
+				String diagnostics = genOperation.getGenParameters().get(0).getName();
+				String context = genOperation.getGenParameters().get(1).getName();
+				if (genOperation.hasInvariantExpression()) {
+					stringBuffer.append(TEXT_37);
+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+					stringBuffer.append(TEXT_38);
+					stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+					stringBuffer.append(TEXT_39);
+					stringBuffer.append(diagnostics);
+					stringBuffer.append(TEXT_40);
+					stringBuffer.append(context);
+					stringBuffer.append(TEXT_41);
+					stringBuffer.append(genOperation.getValidationDelegate());
+					stringBuffer.append(TEXT_42);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(TEXT_43);
+					stringBuffer.append(genOperation.getQualifiedOperationAccessor());
+					stringBuffer.append(TEXT_44);
+					stringBuffer
+							.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+					stringBuffer.append(TEXT_45);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+					stringBuffer.append(TEXT_47);
+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+					stringBuffer.append(TEXT_48);
+					stringBuffer.append(opClass.getOperationID(genOperation));
+					stringBuffer.append(TEXT_49);
+				} else {
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(diagnostics);
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(diagnostics);
+					stringBuffer.append(TEXT_52);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
+					stringBuffer.append(TEXT_53);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
+					stringBuffer.append(TEXT_54);
+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+					stringBuffer.append(TEXT_55);
+					stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
+					stringBuffer.append(TEXT_56);
+					stringBuffer.append(opClass.getOperationID(genOperation));
+					stringBuffer.append(TEXT_57);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
+					stringBuffer.append(TEXT_58);
+					stringBuffer.append(genOperation.getName());
+					stringBuffer.append(TEXT_59);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));
+					stringBuffer.append(TEXT_60);
+					stringBuffer.append(context);
+					stringBuffer.append(TEXT_61);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(genModel.getNonNLS(2));
+					stringBuffer.append(TEXT_62);
+				}
+			} else if (genOperation.hasInvocationDelegate()) {
+				int size = genOperation.getGenParameters().size();
+				stringBuffer.append(TEXT_63);
+				if (genOperation.isVoid()) {
+					stringBuffer.append(TEXT_64);
+					stringBuffer
+							.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+					stringBuffer.append(TEXT_65);
+					if (size > 0) {
+						stringBuffer.append(TEXT_66);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+						stringBuffer.append(TEXT_67);
+						stringBuffer.append(size);
+						stringBuffer.append(TEXT_68);
+						stringBuffer.append(genOperation.getParametersArray(genClass));
+						stringBuffer.append(TEXT_69);
+					} else {
+						stringBuffer.append(TEXT_70);
+					}
+					stringBuffer.append(TEXT_71);
+				} else {
+					stringBuffer.append(TEXT_72);
+					if (!isJDK50 && genOperation.isPrimitiveType()) {
+						stringBuffer.append(TEXT_73);
+					}
+					stringBuffer.append(TEXT_74);
+					stringBuffer.append(genOperation.getObjectType(genClass));
+					stringBuffer.append(TEXT_75);
+					stringBuffer
+							.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
+					stringBuffer.append(TEXT_76);
+					if (size > 0) {
+						stringBuffer.append(TEXT_77);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
+						stringBuffer.append(TEXT_78);
+						stringBuffer.append(size);
+						stringBuffer.append(TEXT_79);
+						stringBuffer.append(genOperation.getParametersArray(genClass));
+						stringBuffer.append(TEXT_80);
+					} else {
+						stringBuffer.append(TEXT_81);
+					}
+					stringBuffer.append(TEXT_82);
+					if (!isJDK50 && genOperation.isPrimitiveType()) {
+						stringBuffer.append(TEXT_83);
+						stringBuffer.append(genOperation.getPrimitiveValueFunction());
+						stringBuffer.append(TEXT_84);
+					}
+					stringBuffer.append(TEXT_85);
+				}
+				stringBuffer.append(TEXT_86);
+				stringBuffer
+						.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException"
+								: "java.lang.reflect.InvocationTargetException"));
+				stringBuffer.append(TEXT_87);
+				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));
+				stringBuffer.append(TEXT_88);
+			} else {
+				stringBuffer.append(TEXT_89);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genOperation", genOperation);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0229MGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//Class/implementedGenOperation.todo.override.javajetinc
+			}
+			stringBuffer.append(TEXT_90);
+		}
+		stringBuffer.append(TEXT_91);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.genOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genOperation", genOperation);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_03AuMGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_92);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureTODOoverride.java
index 8b1a5e3..5da97e1 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureTODOoverride.java
@@ -1,305 +1,305 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized InterfacegetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegetGenFeatureTODOoverride result = new InterfacegetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return the '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT";

-	protected final String TEXT_4 = NL

-			+ "\t\t// The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting"

-			+ NL + "\t\t// so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.";

-	protected final String TEXT_5 = "EcoreEMap";

-	protected final String TEXT_6 = "BasicFeatureMap";

-	protected final String TEXT_7 = "EcoreEList";

-	protected final String TEXT_8 = " should be used.";

-	protected final String TEXT_9 = NL + "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_10 = NL;

-	protected final String TEXT_11 = NL;

-

-	public InterfacegetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_10);

-		stringBuffer.append(TEXT_11);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		if (genFeature.isListType()) {

-			stringBuffer.append(TEXT_4);

-			if (genFeature.isMapType()) {

-				stringBuffer.append(TEXT_5);

-			} else if (genFeature.isFeatureMapType()) {

-				stringBuffer.append(TEXT_6);

-			} else {

-				stringBuffer.append(TEXT_7);

-			}

-			stringBuffer.append(TEXT_8);

-		}

-		stringBuffer.append(TEXT_9);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized InterfacegetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegetGenFeatureTODOoverride result = new InterfacegetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return the '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT";
+	protected final String TEXT_4 = NL
+			+ "\t\t// The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting"
+			+ NL + "\t\t// so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.";
+	protected final String TEXT_5 = "EcoreEMap";
+	protected final String TEXT_6 = "BasicFeatureMap";
+	protected final String TEXT_7 = "EcoreEList";
+	protected final String TEXT_8 = " should be used.";
+	protected final String TEXT_9 = NL + "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_10 = NL;
+	protected final String TEXT_11 = NL;
+
+	public InterfacegetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_10);
+		stringBuffer.append(TEXT_11);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		if (genFeature.isListType()) {
+			stringBuffer.append(TEXT_4);
+			if (genFeature.isMapType()) {
+				stringBuffer.append(TEXT_5);
+			} else if (genFeature.isFeatureMapType()) {
+				stringBuffer.append(TEXT_6);
+			} else {
+				stringBuffer.append(TEXT_7);
+			}
+			stringBuffer.append(TEXT_8);
+		}
+		stringBuffer.append(TEXT_9);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureannotationsinsert.java
index 7eed5a8..d75625f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized InterfacegetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegetGenFeatureannotationsinsert result = new InterfacegetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacegetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized InterfacegetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegetGenFeatureannotationsinsert result = new InterfacegetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacegetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocinsert.java
index 0c1dfad..5fe550a 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegetGenFeaturejavadocinsert {

-	protected static String nl;

-

-	public static synchronized InterfacegetGenFeaturejavadocinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegetGenFeaturejavadocinsert result = new InterfacegetGenFeaturejavadocinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacegetGenFeaturejavadocinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegetGenFeaturejavadocinsert {
+	protected static String nl;
+
+	public static synchronized InterfacegetGenFeaturejavadocinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegetGenFeaturejavadocinsert result = new InterfacegetGenFeaturejavadocinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacegetGenFeaturejavadocinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocoverride.java
index 99edfcc..6d1ca1a 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturejavadocoverride.java
@@ -1,510 +1,509 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegetGenFeaturejavadocoverride {

-	protected static String nl;

-

-	public static synchronized InterfacegetGenFeaturejavadocoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegetGenFeaturejavadocoverride result = new InterfacegetGenFeaturejavadocoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Returns the value of the '<em><b>";

-	protected final String TEXT_2 = "</b></em>' ";

-	protected final String TEXT_3 = ".";

-	protected final String TEXT_4 = NL + "\t * The key is of type ";

-	protected final String TEXT_5 = "list of {@link ";

-	protected final String TEXT_6 = "}";

-	protected final String TEXT_7 = "{@link ";

-	protected final String TEXT_8 = "}";

-	protected final String TEXT_9 = "," + NL + "\t * and the value is of type ";

-	protected final String TEXT_10 = "list of {@link ";

-	protected final String TEXT_11 = "}";

-	protected final String TEXT_12 = "{@link ";

-	protected final String TEXT_13 = "}";

-	protected final String TEXT_14 = ",";

-	protected final String TEXT_15 = NL + "\t * The list contents are of type {@link ";

-	protected final String TEXT_16 = "}";

-	protected final String TEXT_17 = ".";

-	protected final String TEXT_18 = NL + "\t * The default value is <code>";

-	protected final String TEXT_19 = "</code>.";

-	protected final String TEXT_20 = NL + "\t * The literals are from the enumeration {@link ";

-	protected final String TEXT_21 = "}.";

-	protected final String TEXT_22 = NL + "\t * It is bidirectional and its opposite is '{@link ";

-	protected final String TEXT_23 = "#";

-	protected final String TEXT_24 = " <em>";

-	protected final String TEXT_25 = "</em>}'.";

-	protected final String TEXT_26 = NL;

-	protected final String TEXT_27 = NL + "\t * <!-- begin-user-doc -->";

-	protected final String TEXT_28 = NL + "\t * <p>" + NL + "\t * If the meaning of the '<em>";

-	protected final String TEXT_29 = "</em>' ";

-	protected final String TEXT_30 = " isn't clear," + NL + "\t * there really should be more of a description here..."

-			+ NL + "\t * </p>";

-	protected final String TEXT_31 = NL + "\t * <!-- end-user-doc -->";

-	protected final String TEXT_32 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";

-	protected final String TEXT_33 = NL + "\t * <!-- end-model-doc -->";

-	protected final String TEXT_34 = NL + "\t * @return the value of the '<em>";

-	protected final String TEXT_35 = "</em>' ";

-	protected final String TEXT_36 = ".";

-	protected final String TEXT_37 = NL + "\t * @see ";

-	protected final String TEXT_38 = NL + "\t * @see #isSet";

-	protected final String TEXT_39 = "()";

-	protected final String TEXT_40 = NL + "\t * @see #unset";

-	protected final String TEXT_41 = "()";

-	protected final String TEXT_42 = NL + "\t * @see #set";

-	protected final String TEXT_43 = "(";

-	protected final String TEXT_44 = ")";

-	protected final String TEXT_45 = NL + "\t * @see ";

-	protected final String TEXT_46 = "#get";

-	protected final String TEXT_47 = "()";

-	protected final String TEXT_48 = NL + "\t * @see ";

-	protected final String TEXT_49 = "#";

-	protected final String TEXT_50 = NL + "\t * @model ";

-	protected final String TEXT_51 = NL + "\t *        ";

-	protected final String TEXT_52 = NL + "\t * @model";

-	protected final String TEXT_53 = NL + "\t * @generated" + NL + "\t */" + NL;

-	protected final String TEXT_54 = NL;

-	protected final String TEXT_55 = NL;

-

-	public InterfacegetGenFeaturejavadocoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_54);

-		stringBuffer.append(TEXT_55);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		if (genFeature.isListType() && genFeature.getEcoreFeature().getEGenericType().getETypeParameter() == null) {

-			if (genFeature.isMapType()) {

-				GenFeature keyFeature = genFeature.getMapEntryTypeGenClass().getMapEntryKeyFeature();

-				GenFeature valueFeature = genFeature.getMapEntryTypeGenClass().getMapEntryValueFeature();

-				stringBuffer.append(TEXT_4);

-				if (keyFeature.isListType()) {

-					stringBuffer.append(TEXT_5);

-					stringBuffer.append(keyFeature.getQualifiedListItemType(genClass));

-					stringBuffer.append(TEXT_6);

-				} else {

-					stringBuffer.append(TEXT_7);

-					stringBuffer.append(keyFeature.getType(genClass));

-					stringBuffer.append(TEXT_8);

-				}

-				stringBuffer.append(TEXT_9);

-				if (valueFeature.isListType()) {

-					stringBuffer.append(TEXT_10);

-					stringBuffer.append(valueFeature.getQualifiedListItemType(genClass));

-					stringBuffer.append(TEXT_11);

-				} else {

-					stringBuffer.append(TEXT_12);

-					stringBuffer.append(valueFeature.getType(genClass));

-					stringBuffer.append(TEXT_13);

-				}

-				stringBuffer.append(TEXT_14);

-			} else if (!genFeature.isWrappedFeatureMapType()

-					&& !(genModel.isSuppressEMFMetaData() && "org.eclipse.emf.ecore.EObject".equals(genFeature

-							.getQualifiedListItemType(genClass)))) {

-				String typeName = genFeature.getQualifiedListItemType(genClass);

-				String head = typeName;

-				String tail = "";

-				int index = typeName.indexOf('<');

-				if (index == -1) {

-					index = typeName.indexOf('[');

-				}

-				if (index != -1) {

-					head = typeName.substring(0, index);

-					tail = typeName.substring(index).replaceAll("<", "&lt;");

-				}

-

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(head);

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(tail);

-				stringBuffer.append(TEXT_17);

-			}

-		} else if (genFeature.isSetDefaultValue()) {

-			stringBuffer.append(TEXT_18);

-			stringBuffer.append(genFeature.getDefaultValue());

-			stringBuffer.append(TEXT_19);

-		}

-		if (genFeature.getTypeGenEnum() != null) {

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());

-			stringBuffer.append(TEXT_21);

-		}

-		if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {

-			GenFeature reverseGenFeature = genFeature.getReverse();

-			if (!reverseGenFeature.isSuppressedGetVisibility()) {

-				stringBuffer.append(TEXT_22);

-				stringBuffer.append(reverseGenFeature.getGenClass().getQualifiedInterfaceName());

-				stringBuffer.append(TEXT_23);

-				stringBuffer.append(reverseGenFeature.getGetAccessor());

-				stringBuffer.append(TEXT_24);

-				stringBuffer.append(reverseGenFeature.getFormattedName());

-				stringBuffer.append(TEXT_25);

-			}

-		}

-		stringBuffer.append(TEXT_26);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wJ4QGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_27);

-		if (!genFeature.hasDocumentation()) {

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(genFeature.getFormattedName());

-			stringBuffer.append(TEXT_29);

-			stringBuffer.append(genFeature.getFeatureKind());

-			stringBuffer.append(TEXT_30);

-		}

-		stringBuffer.append(TEXT_31);

-		if (genFeature.hasDocumentation()) {

-			stringBuffer.append(TEXT_32);

-			stringBuffer.append(genFeature.getDocumentation(genModel.getIndentation(stringBuffer)));

-			stringBuffer.append(TEXT_33);

-		}

-		stringBuffer.append(TEXT_34);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_35);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_36);

-		if (genFeature.getTypeGenEnum() != null) {

-			stringBuffer.append(TEXT_37);

-			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());

-		}

-		if (genFeature.isUnsettable()) {

-			if (!genFeature.isSuppressedIsSetVisibility()) {

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_39);

-			}

-			if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {

-				stringBuffer.append(TEXT_40);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_41);

-			}

-		}

-		if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {

-			stringBuffer.append(TEXT_42);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_43);

-			stringBuffer.append(genFeature.getRawImportedBoundType());

-			stringBuffer.append(TEXT_44);

-		}

-		if (!genModel.isSuppressEMFMetaData()) {

-			stringBuffer.append(TEXT_45);

-			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-			stringBuffer.append(TEXT_46);

-			stringBuffer.append(genFeature.getFeatureAccessorName());

-			stringBuffer.append(TEXT_47);

-		}

-		if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {

-			GenFeature reverseGenFeature = genFeature.getReverse();

-			if (!reverseGenFeature.isSuppressedGetVisibility()) {

-				stringBuffer.append(TEXT_48);

-				stringBuffer.append(reverseGenFeature.getGenClass().getQualifiedInterfaceName());

-				stringBuffer.append(TEXT_49);

-				stringBuffer.append(reverseGenFeature.getGetAccessor());

-			}

-		}

-		if (!genModel.isSuppressEMFModelTags()) {

-			boolean first = true;

-			for (StringTokenizer stringTokenizer = new StringTokenizer(genFeature.getModelInfo(), "\n\r"); stringTokenizer

-					.hasMoreTokens();) {

-				String modelInfo = stringTokenizer.nextToken();

-				if (first) {

-					first = false;

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(modelInfo);

-				} else {

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(modelInfo);

-				}

-			}

-			if (first) {

-				stringBuffer.append(TEXT_52);

-			}

-		}

-		stringBuffer.append(TEXT_53);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegetGenFeaturejavadocoverride {
+	protected static String nl;
+
+	public static synchronized InterfacegetGenFeaturejavadocoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegetGenFeaturejavadocoverride result = new InterfacegetGenFeaturejavadocoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Returns the value of the '<em><b>";
+	protected final String TEXT_2 = "</b></em>' ";
+	protected final String TEXT_3 = ".";
+	protected final String TEXT_4 = NL + "\t * The key is of type ";
+	protected final String TEXT_5 = "list of {@link ";
+	protected final String TEXT_6 = "}";
+	protected final String TEXT_7 = "{@link ";
+	protected final String TEXT_8 = "}";
+	protected final String TEXT_9 = "," + NL + "\t * and the value is of type ";
+	protected final String TEXT_10 = "list of {@link ";
+	protected final String TEXT_11 = "}";
+	protected final String TEXT_12 = "{@link ";
+	protected final String TEXT_13 = "}";
+	protected final String TEXT_14 = ",";
+	protected final String TEXT_15 = NL + "\t * The list contents are of type {@link ";
+	protected final String TEXT_16 = "}";
+	protected final String TEXT_17 = ".";
+	protected final String TEXT_18 = NL + "\t * The default value is <code>";
+	protected final String TEXT_19 = "</code>.";
+	protected final String TEXT_20 = NL + "\t * The literals are from the enumeration {@link ";
+	protected final String TEXT_21 = "}.";
+	protected final String TEXT_22 = NL + "\t * It is bidirectional and its opposite is '{@link ";
+	protected final String TEXT_23 = "#";
+	protected final String TEXT_24 = " <em>";
+	protected final String TEXT_25 = "</em>}'.";
+	protected final String TEXT_26 = NL;
+	protected final String TEXT_27 = NL + "\t * <!-- begin-user-doc -->";
+	protected final String TEXT_28 = NL + "\t * <p>" + NL + "\t * If the meaning of the '<em>";
+	protected final String TEXT_29 = "</em>' ";
+	protected final String TEXT_30 = " isn't clear," + NL + "\t * there really should be more of a description here..."
+			+ NL + "\t * </p>";
+	protected final String TEXT_31 = NL + "\t * <!-- end-user-doc -->";
+	protected final String TEXT_32 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";
+	protected final String TEXT_33 = NL + "\t * <!-- end-model-doc -->";
+	protected final String TEXT_34 = NL + "\t * @return the value of the '<em>";
+	protected final String TEXT_35 = "</em>' ";
+	protected final String TEXT_36 = ".";
+	protected final String TEXT_37 = NL + "\t * @see ";
+	protected final String TEXT_38 = NL + "\t * @see #isSet";
+	protected final String TEXT_39 = "()";
+	protected final String TEXT_40 = NL + "\t * @see #unset";
+	protected final String TEXT_41 = "()";
+	protected final String TEXT_42 = NL + "\t * @see #set";
+	protected final String TEXT_43 = "(";
+	protected final String TEXT_44 = ")";
+	protected final String TEXT_45 = NL + "\t * @see ";
+	protected final String TEXT_46 = "#get";
+	protected final String TEXT_47 = "()";
+	protected final String TEXT_48 = NL + "\t * @see ";
+	protected final String TEXT_49 = "#";
+	protected final String TEXT_50 = NL + "\t * @model ";
+	protected final String TEXT_51 = NL + "\t *        ";
+	protected final String TEXT_52 = NL + "\t * @model";
+	protected final String TEXT_53 = NL + "\t * @generated" + NL + "\t */" + NL;
+	protected final String TEXT_54 = NL;
+	protected final String TEXT_55 = NL;
+
+	public InterfacegetGenFeaturejavadocoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_54);
+		stringBuffer.append(TEXT_55);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		if (genFeature.isListType() && genFeature.getEcoreFeature().getEGenericType().getETypeParameter() == null) {
+			if (genFeature.isMapType()) {
+				GenFeature keyFeature = genFeature.getMapEntryTypeGenClass().getMapEntryKeyFeature();
+				GenFeature valueFeature = genFeature.getMapEntryTypeGenClass().getMapEntryValueFeature();
+				stringBuffer.append(TEXT_4);
+				if (keyFeature.isListType()) {
+					stringBuffer.append(TEXT_5);
+					stringBuffer.append(keyFeature.getQualifiedListItemType(genClass));
+					stringBuffer.append(TEXT_6);
+				} else {
+					stringBuffer.append(TEXT_7);
+					stringBuffer.append(keyFeature.getType(genClass));
+					stringBuffer.append(TEXT_8);
+				}
+				stringBuffer.append(TEXT_9);
+				if (valueFeature.isListType()) {
+					stringBuffer.append(TEXT_10);
+					stringBuffer.append(valueFeature.getQualifiedListItemType(genClass));
+					stringBuffer.append(TEXT_11);
+				} else {
+					stringBuffer.append(TEXT_12);
+					stringBuffer.append(valueFeature.getType(genClass));
+					stringBuffer.append(TEXT_13);
+				}
+				stringBuffer.append(TEXT_14);
+			} else if (!genFeature.isWrappedFeatureMapType() && !(genModel.isSuppressEMFMetaData()
+					&& "org.eclipse.emf.ecore.EObject".equals(genFeature.getQualifiedListItemType(genClass)))) {
+				String typeName = genFeature.getQualifiedListItemType(genClass);
+				String head = typeName;
+				String tail = "";
+				int index = typeName.indexOf('<');
+				if (index == -1) {
+					index = typeName.indexOf('[');
+				}
+				if (index != -1) {
+					head = typeName.substring(0, index);
+					tail = typeName.substring(index).replaceAll("<", "&lt;");
+				}
+
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(head);
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(tail);
+				stringBuffer.append(TEXT_17);
+			}
+		} else if (genFeature.isSetDefaultValue()) {
+			stringBuffer.append(TEXT_18);
+			stringBuffer.append(genFeature.getDefaultValue());
+			stringBuffer.append(TEXT_19);
+		}
+		if (genFeature.getTypeGenEnum() != null) {
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
+			stringBuffer.append(TEXT_21);
+		}
+		if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {
+			GenFeature reverseGenFeature = genFeature.getReverse();
+			if (!reverseGenFeature.isSuppressedGetVisibility()) {
+				stringBuffer.append(TEXT_22);
+				stringBuffer.append(reverseGenFeature.getGenClass().getQualifiedInterfaceName());
+				stringBuffer.append(TEXT_23);
+				stringBuffer.append(reverseGenFeature.getGetAccessor());
+				stringBuffer.append(TEXT_24);
+				stringBuffer.append(reverseGenFeature.getFormattedName());
+				stringBuffer.append(TEXT_25);
+			}
+		}
+		stringBuffer.append(TEXT_26);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wJ4QGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_27);
+		if (!genFeature.hasDocumentation()) {
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(genFeature.getFormattedName());
+			stringBuffer.append(TEXT_29);
+			stringBuffer.append(genFeature.getFeatureKind());
+			stringBuffer.append(TEXT_30);
+		}
+		stringBuffer.append(TEXT_31);
+		if (genFeature.hasDocumentation()) {
+			stringBuffer.append(TEXT_32);
+			stringBuffer.append(genFeature.getDocumentation(genModel.getIndentation(stringBuffer)));
+			stringBuffer.append(TEXT_33);
+		}
+		stringBuffer.append(TEXT_34);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_35);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_36);
+		if (genFeature.getTypeGenEnum() != null) {
+			stringBuffer.append(TEXT_37);
+			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
+		}
+		if (genFeature.isUnsettable()) {
+			if (!genFeature.isSuppressedIsSetVisibility()) {
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_39);
+			}
+			if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {
+				stringBuffer.append(TEXT_40);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_41);
+			}
+		}
+		if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {
+			stringBuffer.append(TEXT_42);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_43);
+			stringBuffer.append(genFeature.getRawImportedBoundType());
+			stringBuffer.append(TEXT_44);
+		}
+		if (!genModel.isSuppressEMFMetaData()) {
+			stringBuffer.append(TEXT_45);
+			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+			stringBuffer.append(TEXT_46);
+			stringBuffer.append(genFeature.getFeatureAccessorName());
+			stringBuffer.append(TEXT_47);
+		}
+		if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) {
+			GenFeature reverseGenFeature = genFeature.getReverse();
+			if (!reverseGenFeature.isSuppressedGetVisibility()) {
+				stringBuffer.append(TEXT_48);
+				stringBuffer.append(reverseGenFeature.getGenClass().getQualifiedInterfaceName());
+				stringBuffer.append(TEXT_49);
+				stringBuffer.append(reverseGenFeature.getGetAccessor());
+			}
+		}
+		if (!genModel.isSuppressEMFModelTags()) {
+			boolean first = true;
+			for (StringTokenizer stringTokenizer = new StringTokenizer(genFeature.getModelInfo(),
+					"\n\r"); stringTokenizer.hasMoreTokens();) {
+				String modelInfo = stringTokenizer.nextToken();
+				if (first) {
+					first = false;
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(modelInfo);
+				} else {
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(modelInfo);
+				}
+			}
+			if (first) {
+				stringBuffer.append(TEXT_52);
+			}
+		}
+		stringBuffer.append(TEXT_53);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureoverride.java
index 125922c..8dc9f85 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeatureoverride.java
@@ -1,1021 +1,1018 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized InterfacegetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegetGenFeatureoverride result = new InterfacegetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL + "\t";

-	protected final String TEXT_6 = " ";

-	protected final String TEXT_7 = "();" + NL;

-	protected final String TEXT_8 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_9 = NL + "\tpublic ";

-	protected final String TEXT_10 = " ";

-	protected final String TEXT_11 = "_";

-	protected final String TEXT_12 = "()" + NL + "\t{";

-	protected final String TEXT_13 = NL;

-	protected final String TEXT_14 = NL + "\t\treturn ";

-	protected final String TEXT_15 = "(";

-	protected final String TEXT_16 = "(";

-	protected final String TEXT_17 = ")eDynamicGet(";

-	protected final String TEXT_18 = " - ESTATIC_FEATURE_COUNT";

-	protected final String TEXT_19 = ", ";

-	protected final String TEXT_20 = ", true, ";

-	protected final String TEXT_21 = ")";

-	protected final String TEXT_22 = ").";

-	protected final String TEXT_23 = "()";

-	protected final String TEXT_24 = ";";

-	protected final String TEXT_25 = NL + "\t\t";

-	protected final String TEXT_26 = NL + "\t\treturn ";

-	protected final String TEXT_27 = "(";

-	protected final String TEXT_28 = "(";

-	protected final String TEXT_29 = ")eGet(";

-	protected final String TEXT_30 = ", true)";

-	protected final String TEXT_31 = ").";

-	protected final String TEXT_32 = "()";

-	protected final String TEXT_33 = ";";

-	protected final String TEXT_34 = NL + "\t\treturn ";

-	protected final String TEXT_35 = "(";

-	protected final String TEXT_36 = "(";

-	protected final String TEXT_37 = ")";

-	protected final String TEXT_38 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)";

-	protected final String TEXT_39 = ").";

-	protected final String TEXT_40 = "()";

-	protected final String TEXT_41 = ";";

-	protected final String TEXT_42 = NL + "\t\t";

-	protected final String TEXT_43 = " ";

-	protected final String TEXT_44 = " = (";

-	protected final String TEXT_45 = ")eVirtualGet(";

-	protected final String TEXT_46 = ");";

-	protected final String TEXT_47 = NL + "\t\tif (";

-	protected final String TEXT_48 = " == null)" + NL + "\t\t{";

-	protected final String TEXT_49 = NL + "\t\t\teVirtualSet(";

-	protected final String TEXT_50 = ", ";

-	protected final String TEXT_51 = " = new ";

-	protected final String TEXT_52 = ");";

-	protected final String TEXT_53 = NL + "\t\t\t";

-	protected final String TEXT_54 = " = new ";

-	protected final String TEXT_55 = ";";

-	protected final String TEXT_56 = NL + "\t\t}" + NL + "\t\treturn ";

-	protected final String TEXT_57 = ";";

-	protected final String TEXT_58 = NL + "\t\tif (eContainerFeatureID() != ";

-	protected final String TEXT_59 = ") return null;" + NL + "\t\treturn (";

-	protected final String TEXT_60 = ")";

-	protected final String TEXT_61 = "eContainer";

-	protected final String TEXT_62 = "eInternalContainer";

-	protected final String TEXT_63 = "();";

-	protected final String TEXT_64 = NL + "\t\t";

-	protected final String TEXT_65 = " ";

-	protected final String TEXT_66 = " = (";

-	protected final String TEXT_67 = ")eVirtualGet(";

-	protected final String TEXT_68 = ", ";

-	protected final String TEXT_69 = ");";

-	protected final String TEXT_70 = NL + "\t\tif (";

-	protected final String TEXT_71 = " != null && ";

-	protected final String TEXT_72 = ".eIsProxy())" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_73 = " old";

-	protected final String TEXT_74 = " = (";

-	protected final String TEXT_75 = ")";

-	protected final String TEXT_76 = ";" + NL + "\t\t\t";

-	protected final String TEXT_77 = " = ";

-	protected final String TEXT_78 = "eResolveProxy(old";

-	protected final String TEXT_79 = ");" + NL + "\t\t\tif (";

-	protected final String TEXT_80 = " != old";

-	protected final String TEXT_81 = ")" + NL + "\t\t\t{";

-	protected final String TEXT_82 = NL + "\t\t\t\t";

-	protected final String TEXT_83 = " new";

-	protected final String TEXT_84 = " = (";

-	protected final String TEXT_85 = ")";

-	protected final String TEXT_86 = ";";

-	protected final String TEXT_87 = NL + "\t\t\t\t";

-	protected final String TEXT_88 = " msgs = old";

-	protected final String TEXT_89 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

-	protected final String TEXT_90 = ", null, null);";

-	protected final String TEXT_91 = NL + "\t\t\t\t";

-	protected final String TEXT_92 = " msgs =  old";

-	protected final String TEXT_93 = ".eInverseRemove(this, ";

-	protected final String TEXT_94 = ", ";

-	protected final String TEXT_95 = ".class, null);";

-	protected final String TEXT_96 = NL + "\t\t\t\tif (new";

-	protected final String TEXT_97 = ".eInternalContainer() == null)" + NL + "\t\t\t\t{";

-	protected final String TEXT_98 = NL + "\t\t\t\t\tmsgs = new";

-	protected final String TEXT_99 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";

-	protected final String TEXT_100 = ", null, msgs);";

-	protected final String TEXT_101 = NL + "\t\t\t\t\tmsgs =  new";

-	protected final String TEXT_102 = ".eInverseAdd(this, ";

-	protected final String TEXT_103 = ", ";

-	protected final String TEXT_104 = ".class, msgs);";

-	protected final String TEXT_105 = NL + "\t\t\t\t}" + NL + "\t\t\t\tif (msgs != null) msgs.dispatch();";

-	protected final String TEXT_106 = NL + "\t\t\t\teVirtualSet(";

-	protected final String TEXT_107 = ", ";

-	protected final String TEXT_108 = ");";

-	protected final String TEXT_109 = NL + "\t\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\t\teNotify(new ";

-	protected final String TEXT_110 = "(this, ";

-	protected final String TEXT_111 = ".RESOLVE, ";

-	protected final String TEXT_112 = ", old";

-	protected final String TEXT_113 = ", ";

-	protected final String TEXT_114 = "));";

-	protected final String TEXT_115 = NL + "\t\t\t}" + NL + "\t\t}";

-	protected final String TEXT_116 = NL + "\t\treturn (";

-	protected final String TEXT_117 = ")eVirtualGet(";

-	protected final String TEXT_118 = ", ";

-	protected final String TEXT_119 = ");";

-	protected final String TEXT_120 = NL + "\t\treturn (";

-	protected final String TEXT_121 = " & ";

-	protected final String TEXT_122 = "_EFLAG) != 0;";

-	protected final String TEXT_123 = NL + "\t\treturn ";

-	protected final String TEXT_124 = "_EFLAG_VALUES[(";

-	protected final String TEXT_125 = " & ";

-	protected final String TEXT_126 = "_EFLAG) >>> ";

-	protected final String TEXT_127 = "_EFLAG_OFFSET];";

-	protected final String TEXT_128 = NL + "\t\treturn ";

-	protected final String TEXT_129 = ";";

-	protected final String TEXT_130 = NL + "\t\t";

-	protected final String TEXT_131 = " ";

-	protected final String TEXT_132 = " = basicGet";

-	protected final String TEXT_133 = "();" + NL + "\t\treturn ";

-	protected final String TEXT_134 = " != null && ";

-	protected final String TEXT_135 = ".eIsProxy() ? ";

-	protected final String TEXT_136 = "eResolveProxy((";

-	protected final String TEXT_137 = ")";

-	protected final String TEXT_138 = ") : ";

-	protected final String TEXT_139 = ";";

-	protected final String TEXT_140 = NL + "\t\treturn new ";

-	protected final String TEXT_141 = "((";

-	protected final String TEXT_142 = ".Internal)((";

-	protected final String TEXT_143 = ".Internal.Wrapper)get";

-	protected final String TEXT_144 = "()).featureMap().";

-	protected final String TEXT_145 = "list(";

-	protected final String TEXT_146 = "));";

-	protected final String TEXT_147 = NL + "\t\treturn (";

-	protected final String TEXT_148 = ")get";

-	protected final String TEXT_149 = "().";

-	protected final String TEXT_150 = "list(";

-	protected final String TEXT_151 = ");";

-	protected final String TEXT_152 = NL + "\t\treturn ((";

-	protected final String TEXT_153 = ".Internal.Wrapper)get";

-	protected final String TEXT_154 = "()).featureMap().list(";

-	protected final String TEXT_155 = ");";

-	protected final String TEXT_156 = NL + "\t\treturn get";

-	protected final String TEXT_157 = "().list(";

-	protected final String TEXT_158 = ");";

-	protected final String TEXT_159 = NL + "\t\treturn ";

-	protected final String TEXT_160 = "(";

-	protected final String TEXT_161 = "(";

-	protected final String TEXT_162 = ")";

-	protected final String TEXT_163 = "((";

-	protected final String TEXT_164 = ".Internal.Wrapper)get";

-	protected final String TEXT_165 = "()).featureMap().get(";

-	protected final String TEXT_166 = ", true)";

-	protected final String TEXT_167 = ").";

-	protected final String TEXT_168 = "()";

-	protected final String TEXT_169 = ";";

-	protected final String TEXT_170 = NL + "\t\treturn ";

-	protected final String TEXT_171 = "(";

-	protected final String TEXT_172 = "(";

-	protected final String TEXT_173 = ")";

-	protected final String TEXT_174 = "get";

-	protected final String TEXT_175 = "().get(";

-	protected final String TEXT_176 = ", true)";

-	protected final String TEXT_177 = ").";

-	protected final String TEXT_178 = "()";

-	protected final String TEXT_179 = ";";

-	protected final String TEXT_180 = NL + "\t\t";

-	protected final String TEXT_181 = NL + "\t\t";

-	protected final String TEXT_182 = NL;

-	protected final String TEXT_183 = NL + "\t}" + NL;

-	protected final String TEXT_184 = NL;

-	protected final String TEXT_185 = NL;

-	protected final String TEXT_186 = NL;

-

-	public InterfacegetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_185);

-		stringBuffer.append(TEXT_186);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isInterface) {

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vtMUGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/getGenFeature.javadoc.override.javajetinc

-		} else {

-			stringBuffer.append(TEXT_3);

-			if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_4);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wTpQGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-		}

-		if (!isImplementation) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genFeature.getGetAccessor());

-			stringBuffer.append(TEXT_7);

-		} else {

-			if (genModel.useGenerics()

-					&& ((genFeature.isContainer() || genFeature.isResolveProxies())

-							&& !genFeature.isListType()

-							&& !(genModel.isReflectiveDelegation() && genModel.isDynamicDelegation())

-							&& genFeature.isUncheckedCast(genClass)

-							|| genFeature.isListType()

-							&& !genFeature.isFeatureMapType()

-							&& (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation() || genModel

-									.isDynamicDelegation()) || genFeature.isListDataType()

-							&& genFeature.hasDelegateFeature() || genFeature.isListType()

-							&& genFeature.hasSettingDelegate())) {

-				stringBuffer.append(TEXT_8);

-			}

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genFeature.getGetAccessor());

-			if (genClass.hasCollidingGetAccessorOperation(genFeature)) {

-				stringBuffer.append(TEXT_11);

-			}

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(TEXT_13);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wczMGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			if (genModel.isDynamicDelegation()) {

-				stringBuffer.append(TEXT_14);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_15);

-				}

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				if (genClass.hasStaticFeatures()) {

-					stringBuffer.append(TEXT_18);

-				}

-				stringBuffer.append(TEXT_19);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());

-				stringBuffer.append(TEXT_21);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_22);

-					stringBuffer.append(genFeature.getPrimitiveValueFunction());

-					stringBuffer.append(TEXT_23);

-				}

-				stringBuffer.append(TEXT_24);

-			} else if (genModel.isReflectiveDelegation()) {

-				if (genFeature.hasGetterBody()) {

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));

-				} else {

-					stringBuffer.append(TEXT_26);

-					if (!isJDK50 && genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_27);

-					}

-					stringBuffer.append(TEXT_28);

-					stringBuffer.append(genFeature.getObjectType(genClass));

-					stringBuffer.append(TEXT_29);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_30);

-					if (!isJDK50 && genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_31);

-						stringBuffer.append(genFeature.getPrimitiveValueFunction());

-						stringBuffer.append(TEXT_32);

-					}

-					stringBuffer.append(TEXT_33);

-				}

-			} else if (genFeature.hasSettingDelegate()) {

-				stringBuffer.append(TEXT_34);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_35);

-				}

-				stringBuffer.append(TEXT_36);

-				stringBuffer.append(genFeature.getObjectType(genClass));

-				stringBuffer.append(TEXT_37);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_38);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_39);

-					stringBuffer.append(genFeature.getPrimitiveValueFunction());

-					stringBuffer.append(TEXT_40);

-				}

-				stringBuffer.append(TEXT_41);

-			} else if (!genFeature.isVolatile()) {

-				if (genFeature.isListType()) {

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_42);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_43);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_44);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_45);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_46);

-					}

-					stringBuffer.append(TEXT_47);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_48);

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_49);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_50);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_51);

-						stringBuffer.append(genClass.getListConstructor(genFeature));

-						stringBuffer.append(TEXT_52);

-					} else {

-						stringBuffer.append(TEXT_53);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_54);

-						stringBuffer.append(genClass.getListConstructor(genFeature));

-						stringBuffer.append(TEXT_55);

-					}

-					stringBuffer.append(TEXT_56);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()"

-							: "");

-					stringBuffer.append(TEXT_57);

-				} else if (genFeature.isContainer()) {

-					stringBuffer.append(TEXT_58);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_59);

-					stringBuffer.append(genFeature.getImportedType(genClass));

-					stringBuffer.append(TEXT_60);

-					if (genFeature.isResolveProxies()) {

-						stringBuffer.append(TEXT_61);

-					} else {

-						stringBuffer.append(TEXT_62);

-					}

-					stringBuffer.append(TEXT_63);

-				} else {

-					if (genFeature.isResolveProxies()) {

-						if (genModel.isVirtualDelegation()) {

-							stringBuffer.append(TEXT_64);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_65);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_66);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_67);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							if (genFeature.hasEDefault()) {

-								stringBuffer.append(TEXT_68);

-								stringBuffer.append(genFeature.getEDefault());

-							}

-							stringBuffer.append(TEXT_69);

-						}

-						stringBuffer.append(TEXT_70);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_71);

-						stringBuffer.append(genFeature.getSafeNameAsEObject());

-						stringBuffer.append(TEXT_72);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_73);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_74);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_75);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_76);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_77);

-						stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));

-						stringBuffer.append(TEXT_78);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_79);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_80);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_81);

-						if (genFeature.isEffectiveContains()) {

-							stringBuffer.append(TEXT_82);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-							stringBuffer.append(TEXT_83);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_84);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-							stringBuffer.append(TEXT_85);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_86);

-							if (!genFeature.isBidirectional()) {

-								stringBuffer.append(TEXT_87);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-								stringBuffer.append(TEXT_88);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_89);

-								stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-								stringBuffer.append(negativeOffsetCorrection);

-								stringBuffer.append(TEXT_90);

-							} else {

-								GenFeature reverseFeature = genFeature.getReverse();

-								GenClass targetClass = reverseFeature.getGenClass();

-								String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-										+ genClass.getOffsetCorrectionField(genFeature) : "";

-								stringBuffer.append(TEXT_91);

-								stringBuffer.append(genModel

-										.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-								stringBuffer.append(TEXT_92);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_93);

-								stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-								stringBuffer.append(reverseOffsetCorrection);

-								stringBuffer.append(TEXT_94);

-								stringBuffer.append(targetClass.getRawImportedInterfaceName());

-								stringBuffer.append(TEXT_95);

-							}

-							stringBuffer.append(TEXT_96);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_97);

-							if (!genFeature.isBidirectional()) {

-								stringBuffer.append(TEXT_98);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_99);

-								stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-								stringBuffer.append(negativeOffsetCorrection);

-								stringBuffer.append(TEXT_100);

-							} else {

-								GenFeature reverseFeature = genFeature.getReverse();

-								GenClass targetClass = reverseFeature.getGenClass();

-								String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-										+ genClass.getOffsetCorrectionField(genFeature) : "";

-								stringBuffer.append(TEXT_101);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_102);

-								stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-								stringBuffer.append(reverseOffsetCorrection);

-								stringBuffer.append(TEXT_103);

-								stringBuffer.append(targetClass.getRawImportedInterfaceName());

-								stringBuffer.append(TEXT_104);

-							}

-							stringBuffer.append(TEXT_105);

-						} else if (genModel.isVirtualDelegation()) {

-							stringBuffer.append(TEXT_106);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_107);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_108);

-						}

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_109);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_110);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_111);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_112);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_113);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_114);

-						}

-						stringBuffer.append(TEXT_115);

-					}

-					if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation()

-							&& !genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_116);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_117);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						if (genFeature.hasEDefault()) {

-							stringBuffer.append(TEXT_118);

-							stringBuffer.append(genFeature.getEDefault());

-						}

-						stringBuffer.append(TEXT_119);

-					} else if (genClass.isFlag(genFeature)) {

-						if (genFeature.isBooleanType()) {

-							stringBuffer.append(TEXT_120);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_121);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_122);

-						} else {

-							stringBuffer.append(TEXT_123);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_124);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_125);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_126);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_127);

-						}

-					} else {

-						stringBuffer.append(TEXT_128);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_129);

-					}

-				}

-			} else {//volatile

-				if (genFeature.isResolveProxies() && !genFeature.isListType()) {

-					stringBuffer.append(TEXT_130);

-					stringBuffer.append(genFeature.getImportedType(genClass));

-					stringBuffer.append(TEXT_131);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_132);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_133);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_134);

-					stringBuffer.append(genFeature.getSafeNameAsEObject());

-					stringBuffer.append(TEXT_135);

-					stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));

-					stringBuffer.append(TEXT_136);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-					stringBuffer.append(TEXT_137);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_138);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_139);

-				} else if (genFeature.hasDelegateFeature()) {

-					GenFeature delegateFeature = genFeature.getDelegateFeature();

-					if (genFeature.isFeatureMapType()) {

-						String featureMapEntryTemplateArgument = isJDK50 ? "<"

-								+ genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap") + ".Entry>" : "";

-						if (delegateFeature.isWrappedFeatureMapType()) {

-							stringBuffer.append(TEXT_140);

-							stringBuffer.append(genFeature.getImportedEffectiveFeatureMapWrapperClass());

-							stringBuffer.append(TEXT_141);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-							stringBuffer.append(TEXT_142);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-							stringBuffer.append(TEXT_143);

-							stringBuffer.append(delegateFeature.getAccessorName());

-							stringBuffer.append(TEXT_144);

-							stringBuffer.append(featureMapEntryTemplateArgument);

-							stringBuffer.append(TEXT_145);

-							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_146);

-						} else {

-							stringBuffer.append(TEXT_147);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-							stringBuffer.append(TEXT_148);

-							stringBuffer.append(delegateFeature.getAccessorName());

-							stringBuffer.append(TEXT_149);

-							stringBuffer.append(featureMapEntryTemplateArgument);

-							stringBuffer.append(TEXT_150);

-							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_151);

-						}

-					} else if (genFeature.isListType()) {

-						if (delegateFeature.isWrappedFeatureMapType()) {

-							stringBuffer.append(TEXT_152);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-							stringBuffer.append(TEXT_153);

-							stringBuffer.append(delegateFeature.getAccessorName());

-							stringBuffer.append(TEXT_154);

-							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_155);

-						} else {

-							stringBuffer.append(TEXT_156);

-							stringBuffer.append(delegateFeature.getAccessorName());

-							stringBuffer.append(TEXT_157);

-							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_158);

-						}

-					} else {

-						if (delegateFeature.isWrappedFeatureMapType()) {

-							stringBuffer.append(TEXT_159);

-							if (!isJDK50 && genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_160);

-							}

-							if (genFeature.getTypeGenDataType() == null

-									|| !genFeature.getTypeGenDataType().isObjectType()) {

-								stringBuffer.append(TEXT_161);

-								stringBuffer.append(genFeature.getObjectType(genClass));

-								stringBuffer.append(TEXT_162);

-							}

-							stringBuffer.append(TEXT_163);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-							stringBuffer.append(TEXT_164);

-							stringBuffer.append(delegateFeature.getAccessorName());

-							stringBuffer.append(TEXT_165);

-							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_166);

-							if (!isJDK50 && genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_167);

-								stringBuffer.append(genFeature.getPrimitiveValueFunction());

-								stringBuffer.append(TEXT_168);

-							}

-							stringBuffer.append(TEXT_169);

-						} else {

-							stringBuffer.append(TEXT_170);

-							if (!isJDK50 && genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_171);

-							}

-							if (genFeature.getTypeGenDataType() == null

-									|| !genFeature.getTypeGenDataType().isObjectType()) {

-								stringBuffer.append(TEXT_172);

-								stringBuffer.append(genFeature.getObjectType(genClass));

-								stringBuffer.append(TEXT_173);

-							}

-							stringBuffer.append(TEXT_174);

-							stringBuffer.append(delegateFeature.getAccessorName());

-							stringBuffer.append(TEXT_175);

-							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-							stringBuffer.append(TEXT_176);

-							if (!isJDK50 && genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_177);

-								stringBuffer.append(genFeature.getPrimitiveValueFunction());

-								stringBuffer.append(TEXT_178);

-							}

-							stringBuffer.append(TEXT_179);

-						}

-					}

-				} else if (genClass.getGetAccessorOperation(genFeature) != null) {

-					stringBuffer.append(TEXT_180);

-					stringBuffer.append(genClass.getGetAccessorOperation(genFeature).getBody(

-							genModel.getIndentation(stringBuffer)));

-				} else if (genFeature.hasGetterBody()) {

-					stringBuffer.append(TEXT_181);

-					stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));

-				} else {

-					stringBuffer.append(TEXT_182);

-					{

-						//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-						InternalPatternContext ictx = (InternalPatternContext) ctx;

-						new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-						stringBuffer.setLength(0);

-

-						final Map<String, Object> callParameters = new HashMap<String, Object>();

-						callParameters.put("genFeature", genFeature);

-						callParameters.put("genClass", genClass);

-						callParameters.put("genPackage", genPackage);

-						callParameters.put("genModel", genModel);

-						callParameters.put("isJDK50", isJDK50);

-						callParameters.put("isInterface", isInterface);

-						callParameters.put("isImplementation", isImplementation);

-						callParameters.put("isGWT", isGWT);

-						callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-						callParameters.put("singleWildcard", singleWildcard);

-						callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-						callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-						callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-						callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-						CallHelper

-								.executeWithParameterInjection(

-										"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wmkMGJ-Ed-FqczH3ESmRw",

-										new ExecutionContext((InternalPatternContext) ctx), callParameters);

-						stringBuffer.setLength(0);

-					}

-

-					//Class/getGenFeature.todo.override.javajetinc

-				}

-			}

-			stringBuffer.append(TEXT_183);

-		}

-		stringBuffer.append(TEXT_184);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized InterfacegetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegetGenFeatureoverride result = new InterfacegetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL + "\t";
+	protected final String TEXT_6 = " ";
+	protected final String TEXT_7 = "();" + NL;
+	protected final String TEXT_8 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_9 = NL + "\tpublic ";
+	protected final String TEXT_10 = " ";
+	protected final String TEXT_11 = "_";
+	protected final String TEXT_12 = "()" + NL + "\t{";
+	protected final String TEXT_13 = NL;
+	protected final String TEXT_14 = NL + "\t\treturn ";
+	protected final String TEXT_15 = "(";
+	protected final String TEXT_16 = "(";
+	protected final String TEXT_17 = ")eDynamicGet(";
+	protected final String TEXT_18 = " - ESTATIC_FEATURE_COUNT";
+	protected final String TEXT_19 = ", ";
+	protected final String TEXT_20 = ", true, ";
+	protected final String TEXT_21 = ")";
+	protected final String TEXT_22 = ").";
+	protected final String TEXT_23 = "()";
+	protected final String TEXT_24 = ";";
+	protected final String TEXT_25 = NL + "\t\t";
+	protected final String TEXT_26 = NL + "\t\treturn ";
+	protected final String TEXT_27 = "(";
+	protected final String TEXT_28 = "(";
+	protected final String TEXT_29 = ")eGet(";
+	protected final String TEXT_30 = ", true)";
+	protected final String TEXT_31 = ").";
+	protected final String TEXT_32 = "()";
+	protected final String TEXT_33 = ";";
+	protected final String TEXT_34 = NL + "\t\treturn ";
+	protected final String TEXT_35 = "(";
+	protected final String TEXT_36 = "(";
+	protected final String TEXT_37 = ")";
+	protected final String TEXT_38 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)";
+	protected final String TEXT_39 = ").";
+	protected final String TEXT_40 = "()";
+	protected final String TEXT_41 = ";";
+	protected final String TEXT_42 = NL + "\t\t";
+	protected final String TEXT_43 = " ";
+	protected final String TEXT_44 = " = (";
+	protected final String TEXT_45 = ")eVirtualGet(";
+	protected final String TEXT_46 = ");";
+	protected final String TEXT_47 = NL + "\t\tif (";
+	protected final String TEXT_48 = " == null)" + NL + "\t\t{";
+	protected final String TEXT_49 = NL + "\t\t\teVirtualSet(";
+	protected final String TEXT_50 = ", ";
+	protected final String TEXT_51 = " = new ";
+	protected final String TEXT_52 = ");";
+	protected final String TEXT_53 = NL + "\t\t\t";
+	protected final String TEXT_54 = " = new ";
+	protected final String TEXT_55 = ";";
+	protected final String TEXT_56 = NL + "\t\t}" + NL + "\t\treturn ";
+	protected final String TEXT_57 = ";";
+	protected final String TEXT_58 = NL + "\t\tif (eContainerFeatureID() != ";
+	protected final String TEXT_59 = ") return null;" + NL + "\t\treturn (";
+	protected final String TEXT_60 = ")";
+	protected final String TEXT_61 = "eContainer";
+	protected final String TEXT_62 = "eInternalContainer";
+	protected final String TEXT_63 = "();";
+	protected final String TEXT_64 = NL + "\t\t";
+	protected final String TEXT_65 = " ";
+	protected final String TEXT_66 = " = (";
+	protected final String TEXT_67 = ")eVirtualGet(";
+	protected final String TEXT_68 = ", ";
+	protected final String TEXT_69 = ");";
+	protected final String TEXT_70 = NL + "\t\tif (";
+	protected final String TEXT_71 = " != null && ";
+	protected final String TEXT_72 = ".eIsProxy())" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_73 = " old";
+	protected final String TEXT_74 = " = (";
+	protected final String TEXT_75 = ")";
+	protected final String TEXT_76 = ";" + NL + "\t\t\t";
+	protected final String TEXT_77 = " = ";
+	protected final String TEXT_78 = "eResolveProxy(old";
+	protected final String TEXT_79 = ");" + NL + "\t\t\tif (";
+	protected final String TEXT_80 = " != old";
+	protected final String TEXT_81 = ")" + NL + "\t\t\t{";
+	protected final String TEXT_82 = NL + "\t\t\t\t";
+	protected final String TEXT_83 = " new";
+	protected final String TEXT_84 = " = (";
+	protected final String TEXT_85 = ")";
+	protected final String TEXT_86 = ";";
+	protected final String TEXT_87 = NL + "\t\t\t\t";
+	protected final String TEXT_88 = " msgs = old";
+	protected final String TEXT_89 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+	protected final String TEXT_90 = ", null, null);";
+	protected final String TEXT_91 = NL + "\t\t\t\t";
+	protected final String TEXT_92 = " msgs =  old";
+	protected final String TEXT_93 = ".eInverseRemove(this, ";
+	protected final String TEXT_94 = ", ";
+	protected final String TEXT_95 = ".class, null);";
+	protected final String TEXT_96 = NL + "\t\t\t\tif (new";
+	protected final String TEXT_97 = ".eInternalContainer() == null)" + NL + "\t\t\t\t{";
+	protected final String TEXT_98 = NL + "\t\t\t\t\tmsgs = new";
+	protected final String TEXT_99 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";
+	protected final String TEXT_100 = ", null, msgs);";
+	protected final String TEXT_101 = NL + "\t\t\t\t\tmsgs =  new";
+	protected final String TEXT_102 = ".eInverseAdd(this, ";
+	protected final String TEXT_103 = ", ";
+	protected final String TEXT_104 = ".class, msgs);";
+	protected final String TEXT_105 = NL + "\t\t\t\t}" + NL + "\t\t\t\tif (msgs != null) msgs.dispatch();";
+	protected final String TEXT_106 = NL + "\t\t\t\teVirtualSet(";
+	protected final String TEXT_107 = ", ";
+	protected final String TEXT_108 = ");";
+	protected final String TEXT_109 = NL + "\t\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\t\teNotify(new ";
+	protected final String TEXT_110 = "(this, ";
+	protected final String TEXT_111 = ".RESOLVE, ";
+	protected final String TEXT_112 = ", old";
+	protected final String TEXT_113 = ", ";
+	protected final String TEXT_114 = "));";
+	protected final String TEXT_115 = NL + "\t\t\t}" + NL + "\t\t}";
+	protected final String TEXT_116 = NL + "\t\treturn (";
+	protected final String TEXT_117 = ")eVirtualGet(";
+	protected final String TEXT_118 = ", ";
+	protected final String TEXT_119 = ");";
+	protected final String TEXT_120 = NL + "\t\treturn (";
+	protected final String TEXT_121 = " & ";
+	protected final String TEXT_122 = "_EFLAG) != 0;";
+	protected final String TEXT_123 = NL + "\t\treturn ";
+	protected final String TEXT_124 = "_EFLAG_VALUES[(";
+	protected final String TEXT_125 = " & ";
+	protected final String TEXT_126 = "_EFLAG) >>> ";
+	protected final String TEXT_127 = "_EFLAG_OFFSET];";
+	protected final String TEXT_128 = NL + "\t\treturn ";
+	protected final String TEXT_129 = ";";
+	protected final String TEXT_130 = NL + "\t\t";
+	protected final String TEXT_131 = " ";
+	protected final String TEXT_132 = " = basicGet";
+	protected final String TEXT_133 = "();" + NL + "\t\treturn ";
+	protected final String TEXT_134 = " != null && ";
+	protected final String TEXT_135 = ".eIsProxy() ? ";
+	protected final String TEXT_136 = "eResolveProxy((";
+	protected final String TEXT_137 = ")";
+	protected final String TEXT_138 = ") : ";
+	protected final String TEXT_139 = ";";
+	protected final String TEXT_140 = NL + "\t\treturn new ";
+	protected final String TEXT_141 = "((";
+	protected final String TEXT_142 = ".Internal)((";
+	protected final String TEXT_143 = ".Internal.Wrapper)get";
+	protected final String TEXT_144 = "()).featureMap().";
+	protected final String TEXT_145 = "list(";
+	protected final String TEXT_146 = "));";
+	protected final String TEXT_147 = NL + "\t\treturn (";
+	protected final String TEXT_148 = ")get";
+	protected final String TEXT_149 = "().";
+	protected final String TEXT_150 = "list(";
+	protected final String TEXT_151 = ");";
+	protected final String TEXT_152 = NL + "\t\treturn ((";
+	protected final String TEXT_153 = ".Internal.Wrapper)get";
+	protected final String TEXT_154 = "()).featureMap().list(";
+	protected final String TEXT_155 = ");";
+	protected final String TEXT_156 = NL + "\t\treturn get";
+	protected final String TEXT_157 = "().list(";
+	protected final String TEXT_158 = ");";
+	protected final String TEXT_159 = NL + "\t\treturn ";
+	protected final String TEXT_160 = "(";
+	protected final String TEXT_161 = "(";
+	protected final String TEXT_162 = ")";
+	protected final String TEXT_163 = "((";
+	protected final String TEXT_164 = ".Internal.Wrapper)get";
+	protected final String TEXT_165 = "()).featureMap().get(";
+	protected final String TEXT_166 = ", true)";
+	protected final String TEXT_167 = ").";
+	protected final String TEXT_168 = "()";
+	protected final String TEXT_169 = ";";
+	protected final String TEXT_170 = NL + "\t\treturn ";
+	protected final String TEXT_171 = "(";
+	protected final String TEXT_172 = "(";
+	protected final String TEXT_173 = ")";
+	protected final String TEXT_174 = "get";
+	protected final String TEXT_175 = "().get(";
+	protected final String TEXT_176 = ", true)";
+	protected final String TEXT_177 = ").";
+	protected final String TEXT_178 = "()";
+	protected final String TEXT_179 = ";";
+	protected final String TEXT_180 = NL + "\t\t";
+	protected final String TEXT_181 = NL + "\t\t";
+	protected final String TEXT_182 = NL;
+	protected final String TEXT_183 = NL + "\t}" + NL;
+	protected final String TEXT_184 = NL;
+	protected final String TEXT_185 = NL;
+	protected final String TEXT_186 = NL;
+
+	public InterfacegetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_185);
+		stringBuffer.append(TEXT_186);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isInterface) {
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0vtMUGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/getGenFeature.javadoc.override.javajetinc
+		} else {
+			stringBuffer.append(TEXT_3);
+			if (isJDK50) { //Class/getGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_4);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wTpQGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+		}
+		if (!isImplementation) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genFeature.getGetAccessor());
+			stringBuffer.append(TEXT_7);
+		} else {
+			if (genModel.useGenerics()
+					&& ((genFeature.isContainer() || genFeature.isResolveProxies()) && !genFeature.isListType()
+							&& !(genModel.isReflectiveDelegation() && genModel.isDynamicDelegation())
+							&& genFeature.isUncheckedCast(genClass)
+							|| genFeature.isListType() && !genFeature.isFeatureMapType()
+									&& (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation()
+											|| genModel.isDynamicDelegation())
+					|| genFeature.isListDataType() && genFeature.hasDelegateFeature()
+					|| genFeature.isListType() && genFeature.hasSettingDelegate())) {
+				stringBuffer.append(TEXT_8);
+			}
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genFeature.getGetAccessor());
+			if (genClass.hasCollidingGetAccessorOperation(genFeature)) {
+				stringBuffer.append(TEXT_11);
+			}
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(TEXT_13);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.pre.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wczMGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			if (genModel.isDynamicDelegation()) {
+				stringBuffer.append(TEXT_14);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_15);
+				}
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				if (genClass.hasStaticFeatures()) {
+					stringBuffer.append(TEXT_18);
+				}
+				stringBuffer.append(TEXT_19);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());
+				stringBuffer.append(TEXT_21);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_22);
+					stringBuffer.append(genFeature.getPrimitiveValueFunction());
+					stringBuffer.append(TEXT_23);
+				}
+				stringBuffer.append(TEXT_24);
+			} else if (genModel.isReflectiveDelegation()) {
+				if (genFeature.hasGetterBody()) {
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
+				} else {
+					stringBuffer.append(TEXT_26);
+					if (!isJDK50 && genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_27);
+					}
+					stringBuffer.append(TEXT_28);
+					stringBuffer.append(genFeature.getObjectType(genClass));
+					stringBuffer.append(TEXT_29);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_30);
+					if (!isJDK50 && genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_31);
+						stringBuffer.append(genFeature.getPrimitiveValueFunction());
+						stringBuffer.append(TEXT_32);
+					}
+					stringBuffer.append(TEXT_33);
+				}
+			} else if (genFeature.hasSettingDelegate()) {
+				stringBuffer.append(TEXT_34);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_35);
+				}
+				stringBuffer.append(TEXT_36);
+				stringBuffer.append(genFeature.getObjectType(genClass));
+				stringBuffer.append(TEXT_37);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_38);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_39);
+					stringBuffer.append(genFeature.getPrimitiveValueFunction());
+					stringBuffer.append(TEXT_40);
+				}
+				stringBuffer.append(TEXT_41);
+			} else if (!genFeature.isVolatile()) {
+				if (genFeature.isListType()) {
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_42);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_43);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_44);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_45);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_46);
+					}
+					stringBuffer.append(TEXT_47);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_48);
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_49);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_50);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_51);
+						stringBuffer.append(genClass.getListConstructor(genFeature));
+						stringBuffer.append(TEXT_52);
+					} else {
+						stringBuffer.append(TEXT_53);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_54);
+						stringBuffer.append(genClass.getListConstructor(genFeature));
+						stringBuffer.append(TEXT_55);
+					}
+					stringBuffer.append(TEXT_56);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer
+							.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");
+					stringBuffer.append(TEXT_57);
+				} else if (genFeature.isContainer()) {
+					stringBuffer.append(TEXT_58);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_59);
+					stringBuffer.append(genFeature.getImportedType(genClass));
+					stringBuffer.append(TEXT_60);
+					if (genFeature.isResolveProxies()) {
+						stringBuffer.append(TEXT_61);
+					} else {
+						stringBuffer.append(TEXT_62);
+					}
+					stringBuffer.append(TEXT_63);
+				} else {
+					if (genFeature.isResolveProxies()) {
+						if (genModel.isVirtualDelegation()) {
+							stringBuffer.append(TEXT_64);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_65);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_66);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_67);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							if (genFeature.hasEDefault()) {
+								stringBuffer.append(TEXT_68);
+								stringBuffer.append(genFeature.getEDefault());
+							}
+							stringBuffer.append(TEXT_69);
+						}
+						stringBuffer.append(TEXT_70);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_71);
+						stringBuffer.append(genFeature.getSafeNameAsEObject());
+						stringBuffer.append(TEXT_72);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_73);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_74);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_75);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_76);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_77);
+						stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));
+						stringBuffer.append(TEXT_78);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_79);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_80);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_81);
+						if (genFeature.isEffectiveContains()) {
+							stringBuffer.append(TEXT_82);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+							stringBuffer.append(TEXT_83);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_84);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+							stringBuffer.append(TEXT_85);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_86);
+							if (!genFeature.isBidirectional()) {
+								stringBuffer.append(TEXT_87);
+								stringBuffer.append(
+										genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+								stringBuffer.append(TEXT_88);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_89);
+								stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+								stringBuffer.append(negativeOffsetCorrection);
+								stringBuffer.append(TEXT_90);
+							} else {
+								GenFeature reverseFeature = genFeature.getReverse();
+								GenClass targetClass = reverseFeature.getGenClass();
+								String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+										? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+								stringBuffer.append(TEXT_91);
+								stringBuffer.append(
+										genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+								stringBuffer.append(TEXT_92);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_93);
+								stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+								stringBuffer.append(reverseOffsetCorrection);
+								stringBuffer.append(TEXT_94);
+								stringBuffer.append(targetClass.getRawImportedInterfaceName());
+								stringBuffer.append(TEXT_95);
+							}
+							stringBuffer.append(TEXT_96);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_97);
+							if (!genFeature.isBidirectional()) {
+								stringBuffer.append(TEXT_98);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_99);
+								stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+								stringBuffer.append(negativeOffsetCorrection);
+								stringBuffer.append(TEXT_100);
+							} else {
+								GenFeature reverseFeature = genFeature.getReverse();
+								GenClass targetClass = reverseFeature.getGenClass();
+								String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+										? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+								stringBuffer.append(TEXT_101);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_102);
+								stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+								stringBuffer.append(reverseOffsetCorrection);
+								stringBuffer.append(TEXT_103);
+								stringBuffer.append(targetClass.getRawImportedInterfaceName());
+								stringBuffer.append(TEXT_104);
+							}
+							stringBuffer.append(TEXT_105);
+						} else if (genModel.isVirtualDelegation()) {
+							stringBuffer.append(TEXT_106);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_107);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_108);
+						}
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_109);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_110);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_111);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_112);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_113);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_114);
+						}
+						stringBuffer.append(TEXT_115);
+					}
+					if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation()
+							&& !genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_116);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_117);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						if (genFeature.hasEDefault()) {
+							stringBuffer.append(TEXT_118);
+							stringBuffer.append(genFeature.getEDefault());
+						}
+						stringBuffer.append(TEXT_119);
+					} else if (genClass.isFlag(genFeature)) {
+						if (genFeature.isBooleanType()) {
+							stringBuffer.append(TEXT_120);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_121);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_122);
+						} else {
+							stringBuffer.append(TEXT_123);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_124);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_125);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_126);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_127);
+						}
+					} else {
+						stringBuffer.append(TEXT_128);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_129);
+					}
+				}
+			} else {//volatile
+				if (genFeature.isResolveProxies() && !genFeature.isListType()) {
+					stringBuffer.append(TEXT_130);
+					stringBuffer.append(genFeature.getImportedType(genClass));
+					stringBuffer.append(TEXT_131);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_132);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_133);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_134);
+					stringBuffer.append(genFeature.getSafeNameAsEObject());
+					stringBuffer.append(TEXT_135);
+					stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));
+					stringBuffer.append(TEXT_136);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+					stringBuffer.append(TEXT_137);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_138);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_139);
+				} else if (genFeature.hasDelegateFeature()) {
+					GenFeature delegateFeature = genFeature.getDelegateFeature();
+					if (genFeature.isFeatureMapType()) {
+						String featureMapEntryTemplateArgument = isJDK50
+								? "<" + genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap") + ".Entry>"
+								: "";
+						if (delegateFeature.isWrappedFeatureMapType()) {
+							stringBuffer.append(TEXT_140);
+							stringBuffer.append(genFeature.getImportedEffectiveFeatureMapWrapperClass());
+							stringBuffer.append(TEXT_141);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+							stringBuffer.append(TEXT_142);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+							stringBuffer.append(TEXT_143);
+							stringBuffer.append(delegateFeature.getAccessorName());
+							stringBuffer.append(TEXT_144);
+							stringBuffer.append(featureMapEntryTemplateArgument);
+							stringBuffer.append(TEXT_145);
+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_146);
+						} else {
+							stringBuffer.append(TEXT_147);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+							stringBuffer.append(TEXT_148);
+							stringBuffer.append(delegateFeature.getAccessorName());
+							stringBuffer.append(TEXT_149);
+							stringBuffer.append(featureMapEntryTemplateArgument);
+							stringBuffer.append(TEXT_150);
+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_151);
+						}
+					} else if (genFeature.isListType()) {
+						if (delegateFeature.isWrappedFeatureMapType()) {
+							stringBuffer.append(TEXT_152);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+							stringBuffer.append(TEXT_153);
+							stringBuffer.append(delegateFeature.getAccessorName());
+							stringBuffer.append(TEXT_154);
+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_155);
+						} else {
+							stringBuffer.append(TEXT_156);
+							stringBuffer.append(delegateFeature.getAccessorName());
+							stringBuffer.append(TEXT_157);
+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_158);
+						}
+					} else {
+						if (delegateFeature.isWrappedFeatureMapType()) {
+							stringBuffer.append(TEXT_159);
+							if (!isJDK50 && genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_160);
+							}
+							if (genFeature.getTypeGenDataType() == null
+									|| !genFeature.getTypeGenDataType().isObjectType()) {
+								stringBuffer.append(TEXT_161);
+								stringBuffer.append(genFeature.getObjectType(genClass));
+								stringBuffer.append(TEXT_162);
+							}
+							stringBuffer.append(TEXT_163);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+							stringBuffer.append(TEXT_164);
+							stringBuffer.append(delegateFeature.getAccessorName());
+							stringBuffer.append(TEXT_165);
+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_166);
+							if (!isJDK50 && genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_167);
+								stringBuffer.append(genFeature.getPrimitiveValueFunction());
+								stringBuffer.append(TEXT_168);
+							}
+							stringBuffer.append(TEXT_169);
+						} else {
+							stringBuffer.append(TEXT_170);
+							if (!isJDK50 && genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_171);
+							}
+							if (genFeature.getTypeGenDataType() == null
+									|| !genFeature.getTypeGenDataType().isObjectType()) {
+								stringBuffer.append(TEXT_172);
+								stringBuffer.append(genFeature.getObjectType(genClass));
+								stringBuffer.append(TEXT_173);
+							}
+							stringBuffer.append(TEXT_174);
+							stringBuffer.append(delegateFeature.getAccessorName());
+							stringBuffer.append(TEXT_175);
+							stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+							stringBuffer.append(TEXT_176);
+							if (!isJDK50 && genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_177);
+								stringBuffer.append(genFeature.getPrimitiveValueFunction());
+								stringBuffer.append(TEXT_178);
+							}
+							stringBuffer.append(TEXT_179);
+						}
+					}
+				} else if (genClass.getGetAccessorOperation(genFeature) != null) {
+					stringBuffer.append(TEXT_180);
+					stringBuffer.append(genClass.getGetAccessorOperation(genFeature)
+							.getBody(genModel.getIndentation(stringBuffer)));
+				} else if (genFeature.hasGetterBody()) {
+					stringBuffer.append(TEXT_181);
+					stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
+				} else {
+					stringBuffer.append(TEXT_182);
+					{
+						//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.getGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+						InternalPatternContext ictx = (InternalPatternContext) ctx;
+						new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+						stringBuffer.setLength(0);
+
+						final Map<String, Object> callParameters = new HashMap<String, Object>();
+						callParameters.put("genFeature", genFeature);
+						callParameters.put("genClass", genClass);
+						callParameters.put("genPackage", genPackage);
+						callParameters.put("genModel", genModel);
+						callParameters.put("isJDK50", isJDK50);
+						callParameters.put("isInterface", isInterface);
+						callParameters.put("isImplementation", isImplementation);
+						callParameters.put("isGWT", isGWT);
+						callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+						callParameters.put("singleWildcard", singleWildcard);
+						callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+						callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+						callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+						callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+						CallHelper.executeWithParameterInjection(
+								"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0wmkMGJ-Ed-FqczH3ESmRw",
+								new ExecutionContext((InternalPatternContext) ctx), callParameters);
+						stringBuffer.setLength(0);
+					}
+
+					//Class/getGenFeature.todo.override.javajetinc
+				}
+			}
+			stringBuffer.append(TEXT_183);
+		}
+		stringBuffer.append(TEXT_184);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturepreinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturepreinsert.java
index 2606182..c904b9a 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturepreinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacegetGenFeaturepreinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacegetGenFeaturepreinsert {

-	protected static String nl;

-

-	public static synchronized InterfacegetGenFeaturepreinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacegetGenFeaturepreinsert result = new InterfacegetGenFeaturepreinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacegetGenFeaturepreinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacegetGenFeaturepreinsert {
+	protected static String nl;
+
+	public static synchronized InterfacegetGenFeaturepreinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacegetGenFeaturepreinsert result = new InterfacegetGenFeaturepreinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacegetGenFeaturepreinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceimplementedGenOperationTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceimplementedGenOperationTODOoverride.java
index 2872217..200be31 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceimplementedGenOperationTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceimplementedGenOperationTODOoverride.java
@@ -1,281 +1,281 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceimplementedGenOperationTODOoverride {

-	protected static String nl;

-

-	public static synchronized InterfaceimplementedGenOperationTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceimplementedGenOperationTODOoverride result = new InterfaceimplementedGenOperationTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL;

-

-	public InterfaceimplementedGenOperationTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(TEXT_3);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceimplementedGenOperationTODOoverride {
+	protected static String nl;
+
+	public static synchronized InterfaceimplementedGenOperationTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceimplementedGenOperationTODOoverride result = new InterfaceimplementedGenOperationTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL;
+
+	public InterfaceimplementedGenOperationTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(TEXT_3);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinsert.java
index 2ec1f87..5614930 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinsert.java
@@ -1,263 +1,264 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Interfaceinsert {

-	protected static String nl;

-

-	public static synchronized Interfaceinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		Interfaceinsert result = new Interfaceinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public Interfaceinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object isJDK50Parameter : isJDK50List) {

-						for (Object isInterfaceParameter : isInterfaceList) {

-							for (Object isImplementationParameter : isImplementationList) {

-								for (Object isGWTParameter : isGWTList) {

-									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-										for (Object singleWildcardParameter : singleWildcardList) {

-											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-															this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-															this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-															this.isGWT = (java.lang.Boolean) isGWTParameter;

-															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-															this.singleWildcard = (java.lang.String) singleWildcardParameter;

-															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-															if (preCondition(ctx)) {

-																ctx.setNode(new Node.Container(currentNode, getClass()));

-																orchestration(ctx);

-															}

-

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Interfaceinsert {
+	protected static String nl;
+
+	public static synchronized Interfaceinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		Interfaceinsert result = new Interfaceinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public Interfaceinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object isJDK50Parameter : isJDK50List) {
+						for (Object isInterfaceParameter : isInterfaceList) {
+							for (Object isImplementationParameter : isImplementationList) {
+								for (Object isGWTParameter : isGWTList) {
+									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+										for (Object singleWildcardParameter : singleWildcardList) {
+											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+															this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+															this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+															this.isGWT = (java.lang.Boolean) isGWTParameter;
+															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+															this.singleWildcard = (java.lang.String) singleWildcardParameter;
+															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+															if (preCondition(ctx)) {
+																ctx.setNode(
+																		new Node.Container(currentNode, getClass()));
+																orchestration(ctx);
+															}
+
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinterfacejavadocoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinterfacejavadocoverride.java
index 5f190d8..ffd2822 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinterfacejavadocoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/Interfaceinterfacejavadocoverride.java
@@ -1,340 +1,341 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class Interfaceinterfacejavadocoverride {

-	protected static String nl;

-

-	public static synchronized Interfaceinterfacejavadocoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		Interfaceinterfacejavadocoverride result = new Interfaceinterfacejavadocoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * A representation of the model object '<em><b>";

-	protected final String TEXT_2 = "</b></em>'." + NL + " * <!-- end-user-doc -->";

-	protected final String TEXT_3 = NL + " *" + NL + " * <!-- begin-model-doc -->" + NL + " * ";

-	protected final String TEXT_4 = NL + " * <!-- end-model-doc -->";

-	protected final String TEXT_5 = NL + " *";

-	protected final String TEXT_6 = NL + " * <p>" + NL + " * The following features are supported:" + NL + " * </p>"

-			+ NL + " * <ul>";

-	protected final String TEXT_7 = NL + " *   <li>{@link ";

-	protected final String TEXT_8 = "#";

-	protected final String TEXT_9 = " <em>";

-	protected final String TEXT_10 = "</em>}</li>";

-	protected final String TEXT_11 = NL + " * </ul>";

-	protected final String TEXT_12 = NL + " *";

-	protected final String TEXT_13 = NL + " * @see ";

-	protected final String TEXT_14 = "#get";

-	protected final String TEXT_15 = "()";

-	protected final String TEXT_16 = NL + " * @model ";

-	protected final String TEXT_17 = NL + " *        ";

-	protected final String TEXT_18 = NL + " * @model";

-	protected final String TEXT_19 = NL + " * @extends ";

-	protected final String TEXT_20 = NL + " * @generated" + NL + " */" + NL;

-	protected final String TEXT_21 = NL;

-	protected final String TEXT_22 = NL;

-

-	public Interfaceinterfacejavadocoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object isJDK50Parameter : isJDK50List) {

-						for (Object isInterfaceParameter : isInterfaceList) {

-							for (Object isImplementationParameter : isImplementationList) {

-								for (Object isGWTParameter : isGWTList) {

-									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-										for (Object singleWildcardParameter : singleWildcardList) {

-											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-															this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-															this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-															this.isGWT = (java.lang.Boolean) isGWTParameter;

-															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-															this.singleWildcard = (java.lang.String) singleWildcardParameter;

-															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-															if (preCondition(ctx)) {

-																ctx.setNode(new Node.Container(currentNode, getClass()));

-																orchestration(ctx);

-															}

-

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_21);

-		stringBuffer.append(TEXT_22);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genClass.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		if (genClass.hasDocumentation()) {

-			stringBuffer.append(TEXT_3);

-			stringBuffer.append(genClass.getDocumentation(genModel.getIndentation(stringBuffer)));

-			stringBuffer.append(TEXT_4);

-		}

-		stringBuffer.append(TEXT_5);

-		if (!genClass.getGenFeatures().isEmpty()) {

-			stringBuffer.append(TEXT_6);

-			for (GenFeature genFeature : genClass.getGenFeatures()) {

-				if (!genFeature.isSuppressedGetVisibility()) {

-					stringBuffer.append(TEXT_7);

-					stringBuffer.append(genClass.getQualifiedInterfaceName());

-					stringBuffer.append(TEXT_8);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_9);

-					stringBuffer.append(genFeature.getFormattedName());

-					stringBuffer.append(TEXT_10);

-				}

-			}

-			stringBuffer.append(TEXT_11);

-		}

-		stringBuffer.append(TEXT_12);

-		if (!genModel.isSuppressEMFMetaData()) {

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());

-			stringBuffer.append(TEXT_14);

-			stringBuffer.append(genClass.getClassifierAccessorName());

-			stringBuffer.append(TEXT_15);

-		}

-		if (!genModel.isSuppressEMFModelTags()) {

-			boolean first = true;

-			for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer

-					.hasMoreTokens();) {

-				String modelInfo = stringTokenizer.nextToken();

-				if (first) {

-					first = false;

-					stringBuffer.append(TEXT_16);

-					stringBuffer.append(modelInfo);

-				} else {

-					stringBuffer.append(TEXT_17);

-					stringBuffer.append(modelInfo);

-				}

-			}

-			if (first) {

-				stringBuffer.append(TEXT_18);

-			}

-		}

-		if (genClass.needsRootExtendsInterfaceExtendsTag()) {

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genModel.getImportedName(genModel.getRootExtendsInterface()));

-		}

-		stringBuffer.append(TEXT_20);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class Interfaceinterfacejavadocoverride {
+	protected static String nl;
+
+	public static synchronized Interfaceinterfacejavadocoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		Interfaceinterfacejavadocoverride result = new Interfaceinterfacejavadocoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * A representation of the model object '<em><b>";
+	protected final String TEXT_2 = "</b></em>'." + NL + " * <!-- end-user-doc -->";
+	protected final String TEXT_3 = NL + " *" + NL + " * <!-- begin-model-doc -->" + NL + " * ";
+	protected final String TEXT_4 = NL + " * <!-- end-model-doc -->";
+	protected final String TEXT_5 = NL + " *";
+	protected final String TEXT_6 = NL + " * <p>" + NL + " * The following features are supported:" + NL + " * </p>"
+			+ NL + " * <ul>";
+	protected final String TEXT_7 = NL + " *   <li>{@link ";
+	protected final String TEXT_8 = "#";
+	protected final String TEXT_9 = " <em>";
+	protected final String TEXT_10 = "</em>}</li>";
+	protected final String TEXT_11 = NL + " * </ul>";
+	protected final String TEXT_12 = NL + " *";
+	protected final String TEXT_13 = NL + " * @see ";
+	protected final String TEXT_14 = "#get";
+	protected final String TEXT_15 = "()";
+	protected final String TEXT_16 = NL + " * @model ";
+	protected final String TEXT_17 = NL + " *        ";
+	protected final String TEXT_18 = NL + " * @model";
+	protected final String TEXT_19 = NL + " * @extends ";
+	protected final String TEXT_20 = NL + " * @generated" + NL + " */" + NL;
+	protected final String TEXT_21 = NL;
+	protected final String TEXT_22 = NL;
+
+	public Interfaceinterfacejavadocoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object isJDK50Parameter : isJDK50List) {
+						for (Object isInterfaceParameter : isInterfaceList) {
+							for (Object isImplementationParameter : isImplementationList) {
+								for (Object isGWTParameter : isGWTList) {
+									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+										for (Object singleWildcardParameter : singleWildcardList) {
+											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+															this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+															this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+															this.isGWT = (java.lang.Boolean) isGWTParameter;
+															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+															this.singleWildcard = (java.lang.String) singleWildcardParameter;
+															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+															if (preCondition(ctx)) {
+																ctx.setNode(
+																		new Node.Container(currentNode, getClass()));
+																orchestration(ctx);
+															}
+
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_21);
+		stringBuffer.append(TEXT_22);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genClass.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		if (genClass.hasDocumentation()) {
+			stringBuffer.append(TEXT_3);
+			stringBuffer.append(genClass.getDocumentation(genModel.getIndentation(stringBuffer)));
+			stringBuffer.append(TEXT_4);
+		}
+		stringBuffer.append(TEXT_5);
+		if (!genClass.getGenFeatures().isEmpty()) {
+			stringBuffer.append(TEXT_6);
+			for (GenFeature genFeature : genClass.getGenFeatures()) {
+				if (!genFeature.isSuppressedGetVisibility()) {
+					stringBuffer.append(TEXT_7);
+					stringBuffer.append(genClass.getQualifiedInterfaceName());
+					stringBuffer.append(TEXT_8);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_9);
+					stringBuffer.append(genFeature.getFormattedName());
+					stringBuffer.append(TEXT_10);
+				}
+			}
+			stringBuffer.append(TEXT_11);
+		}
+		stringBuffer.append(TEXT_12);
+		if (!genModel.isSuppressEMFMetaData()) {
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
+			stringBuffer.append(TEXT_14);
+			stringBuffer.append(genClass.getClassifierAccessorName());
+			stringBuffer.append(TEXT_15);
+		}
+		if (!genModel.isSuppressEMFModelTags()) {
+			boolean first = true;
+			for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer
+					.hasMoreTokens();) {
+				String modelInfo = stringTokenizer.nextToken();
+				if (first) {
+					first = false;
+					stringBuffer.append(TEXT_16);
+					stringBuffer.append(modelInfo);
+				} else {
+					stringBuffer.append(TEXT_17);
+					stringBuffer.append(modelInfo);
+				}
+			}
+			if (first) {
+				stringBuffer.append(TEXT_18);
+			}
+		}
+		if (genClass.needsRootExtendsInterfaceExtendsTag()) {
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genModel.getImportedName(genModel.getRootExtendsInterface()));
+		}
+		stringBuffer.append(TEXT_20);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureTODOoverride.java
index c5a518d..e4df2cc 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureTODOoverride.java
@@ -1,287 +1,287 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceisSetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized InterfaceisSetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceisSetGenFeatureTODOoverride result = new InterfaceisSetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return whether the '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = " is set" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public InterfaceisSetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceisSetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized InterfaceisSetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceisSetGenFeatureTODOoverride result = new InterfaceisSetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to return whether the '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = " is set" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public InterfaceisSetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureannotationsinsert.java
index 2e37a7c..5be5698 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceisSetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized InterfaceisSetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceisSetGenFeatureannotationsinsert result = new InterfaceisSetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfaceisSetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceisSetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized InterfaceisSetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceisSetGenFeatureannotationsinsert result = new InterfaceisSetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfaceisSetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocinsert.java
index cc2cab6..70624ee 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceisSetGenFeaturejavadocinsert {

-	protected static String nl;

-

-	public static synchronized InterfaceisSetGenFeaturejavadocinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceisSetGenFeaturejavadocinsert result = new InterfaceisSetGenFeaturejavadocinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfaceisSetGenFeaturejavadocinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceisSetGenFeaturejavadocinsert {
+	protected static String nl;
+
+	public static synchronized InterfaceisSetGenFeaturejavadocinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceisSetGenFeaturejavadocinsert result = new InterfaceisSetGenFeaturejavadocinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfaceisSetGenFeaturejavadocinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocoverride.java
index 77b1201..654138c 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeaturejavadocoverride.java
@@ -1,354 +1,354 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceisSetGenFeaturejavadocoverride {

-	protected static String nl;

-

-	public static synchronized InterfaceisSetGenFeaturejavadocoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceisSetGenFeaturejavadocoverride result = new InterfaceisSetGenFeaturejavadocoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Returns whether the value of the '{@link ";

-	protected final String TEXT_2 = "#";

-	protected final String TEXT_3 = " <em>";

-	protected final String TEXT_4 = "</em>}' ";

-	protected final String TEXT_5 = " is set.";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @return whether the value of the '<em>";

-	protected final String TEXT_8 = "</em>' ";

-	protected final String TEXT_9 = " is set.";

-	protected final String TEXT_10 = NL + "\t * @see #unset";

-	protected final String TEXT_11 = "()";

-	protected final String TEXT_12 = NL + "\t * @see #";

-	protected final String TEXT_13 = "()";

-	protected final String TEXT_14 = NL + "\t * @see #set";

-	protected final String TEXT_15 = "(";

-	protected final String TEXT_16 = ")";

-	protected final String TEXT_17 = NL + "\t * @generated" + NL + "\t */" + NL;

-	protected final String TEXT_18 = NL;

-	protected final String TEXT_19 = NL;

-

-	public InterfaceisSetGenFeaturejavadocoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_18);

-		stringBuffer.append(TEXT_19);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genClass.getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(TEXT_6);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_01N-cGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_7);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_8);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_9);

-		if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_11);

-		}

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_13);

-		if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {

-			stringBuffer.append(TEXT_14);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genFeature.getRawImportedBoundType());

-			stringBuffer.append(TEXT_16);

-		}

-		stringBuffer.append(TEXT_17);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceisSetGenFeaturejavadocoverride {
+	protected static String nl;
+
+	public static synchronized InterfaceisSetGenFeaturejavadocoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceisSetGenFeaturejavadocoverride result = new InterfaceisSetGenFeaturejavadocoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Returns whether the value of the '{@link ";
+	protected final String TEXT_2 = "#";
+	protected final String TEXT_3 = " <em>";
+	protected final String TEXT_4 = "</em>}' ";
+	protected final String TEXT_5 = " is set.";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @return whether the value of the '<em>";
+	protected final String TEXT_8 = "</em>' ";
+	protected final String TEXT_9 = " is set.";
+	protected final String TEXT_10 = NL + "\t * @see #unset";
+	protected final String TEXT_11 = "()";
+	protected final String TEXT_12 = NL + "\t * @see #";
+	protected final String TEXT_13 = "()";
+	protected final String TEXT_14 = NL + "\t * @see #set";
+	protected final String TEXT_15 = "(";
+	protected final String TEXT_16 = ")";
+	protected final String TEXT_17 = NL + "\t * @generated" + NL + "\t */" + NL;
+	protected final String TEXT_18 = NL;
+	protected final String TEXT_19 = NL;
+
+	public InterfaceisSetGenFeaturejavadocoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_18);
+		stringBuffer.append(TEXT_19);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genClass.getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(TEXT_6);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_01N-cGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_7);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_8);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_9);
+		if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_11);
+		}
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_13);
+		if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {
+			stringBuffer.append(TEXT_14);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genFeature.getRawImportedBoundType());
+			stringBuffer.append(TEXT_16);
+		}
+		stringBuffer.append(TEXT_17);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureoverride.java
index ffbce6f..6477826 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceisSetGenFeatureoverride.java
@@ -1,522 +1,520 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceisSetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized InterfaceisSetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceisSetGenFeatureoverride result = new InterfaceisSetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL + "\tboolean isSet";

-	protected final String TEXT_6 = "();" + NL;

-	protected final String TEXT_7 = NL + "\tpublic boolean isSet";

-	protected final String TEXT_8 = "_";

-	protected final String TEXT_9 = "()" + NL + "\t{";

-	protected final String TEXT_10 = NL + "\t\treturn eDynamicIsSet(";

-	protected final String TEXT_11 = " - ESTATIC_FEATURE_COUNT";

-	protected final String TEXT_12 = ", ";

-	protected final String TEXT_13 = ");";

-	protected final String TEXT_14 = NL + "\t\treturn eIsSet(";

-	protected final String TEXT_15 = ");";

-	protected final String TEXT_16 = NL + "\t\treturn ";

-	protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";

-	protected final String TEXT_18 = NL + "\t\t";

-	protected final String TEXT_19 = " ";

-	protected final String TEXT_20 = " = (";

-	protected final String TEXT_21 = ")eVirtualGet(";

-	protected final String TEXT_22 = ");";

-	protected final String TEXT_23 = NL + "\t\treturn ";

-	protected final String TEXT_24 = " != null && ((";

-	protected final String TEXT_25 = ".Unsettable";

-	protected final String TEXT_26 = ")";

-	protected final String TEXT_27 = ").isSet();";

-	protected final String TEXT_28 = NL + "\t\treturn eVirtualIsSet(";

-	protected final String TEXT_29 = ");";

-	protected final String TEXT_30 = NL + "\t\treturn (";

-	protected final String TEXT_31 = " & ";

-	protected final String TEXT_32 = "_ESETFLAG) != 0;";

-	protected final String TEXT_33 = NL + "\t\treturn ";

-	protected final String TEXT_34 = "ESet;";

-	protected final String TEXT_35 = NL + "\t\treturn !((";

-	protected final String TEXT_36 = ".Internal)((";

-	protected final String TEXT_37 = ".Internal.Wrapper)get";

-	protected final String TEXT_38 = "()).featureMap()).isEmpty(";

-	protected final String TEXT_39 = ");";

-	protected final String TEXT_40 = NL + "\t\treturn !((";

-	protected final String TEXT_41 = ".Internal)get";

-	protected final String TEXT_42 = "()).isEmpty(";

-	protected final String TEXT_43 = ");";

-	protected final String TEXT_44 = NL + "\t\t";

-	protected final String TEXT_45 = NL;

-	protected final String TEXT_46 = NL + "\t}" + NL;

-	protected final String TEXT_47 = NL;

-	protected final String TEXT_48 = NL;

-	protected final String TEXT_49 = NL;

-

-	public InterfaceisSetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_48);

-		stringBuffer.append(TEXT_49);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isInterface) {

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00x5kGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/isSetGenFeature.javadoc.override.javajetinc

-		} else {

-			stringBuffer.append(TEXT_3);

-			if (isJDK50) { //Class/isSetGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_4);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_01hgcGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-		}

-		if (!isImplementation) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_6);

-		} else {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genFeature.getAccessorName());

-			if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {

-				stringBuffer.append(TEXT_8);

-			}

-			stringBuffer.append(TEXT_9);

-			if (genModel.isDynamicDelegation()) {

-				stringBuffer.append(TEXT_10);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				if (genClass.hasStaticFeatures()) {

-					stringBuffer.append(TEXT_11);

-				}

-				stringBuffer.append(TEXT_12);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_13);

-			} else if (genModel.isReflectiveDelegation()) {

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_15);

-			} else if (genFeature.hasSettingDelegate()) {

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_17);

-			} else if (!genFeature.isVolatile()) {

-				if (genFeature.isListType()) {

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_18);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_19);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_20);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_21);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_22);

-					}

-					stringBuffer.append(TEXT_23);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_24);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(singleWildcard);

-					stringBuffer.append(TEXT_26);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_27);

-				} else {

-					if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_28);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_29);

-					} else if (genClass.isESetFlag(genFeature)) {

-						stringBuffer.append(TEXT_30);

-						stringBuffer.append(genClass.getESetFlagsField(genFeature));

-						stringBuffer.append(TEXT_31);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_32);

-					} else {

-						stringBuffer.append(TEXT_33);

-						stringBuffer.append(genFeature.getUncapName());

-						stringBuffer.append(TEXT_34);

-					}

-				}

-			} else if (genFeature.hasDelegateFeature()) {

-				GenFeature delegateFeature = genFeature.getDelegateFeature();

-				if (delegateFeature.isWrappedFeatureMapType()) {

-					stringBuffer.append(TEXT_35);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_36);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_37);

-					stringBuffer.append(delegateFeature.getAccessorName());

-					stringBuffer.append(TEXT_38);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_39);

-				} else {

-					stringBuffer.append(TEXT_40);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_41);

-					stringBuffer.append(delegateFeature.getAccessorName());

-					stringBuffer.append(TEXT_42);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_43);

-				}

-			} else if (genClass.getIsSetAccessorOperation(genFeature) != null) {

-				stringBuffer.append(TEXT_44);

-				stringBuffer.append(genClass.getIsSetAccessorOperation(genFeature).getBody(

-						genModel.getIndentation(stringBuffer)));

-			} else {

-				stringBuffer.append(TEXT_45);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_01qqYGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//Class/isSetGenFeature.todo.override.javajetinc

-			}

-			stringBuffer.append(TEXT_46);

-		}

-		stringBuffer.append(TEXT_47);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceisSetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized InterfaceisSetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceisSetGenFeatureoverride result = new InterfaceisSetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL + "\tboolean isSet";
+	protected final String TEXT_6 = "();" + NL;
+	protected final String TEXT_7 = NL + "\tpublic boolean isSet";
+	protected final String TEXT_8 = "_";
+	protected final String TEXT_9 = "()" + NL + "\t{";
+	protected final String TEXT_10 = NL + "\t\treturn eDynamicIsSet(";
+	protected final String TEXT_11 = " - ESTATIC_FEATURE_COUNT";
+	protected final String TEXT_12 = ", ";
+	protected final String TEXT_13 = ");";
+	protected final String TEXT_14 = NL + "\t\treturn eIsSet(";
+	protected final String TEXT_15 = ");";
+	protected final String TEXT_16 = NL + "\t\treturn ";
+	protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";
+	protected final String TEXT_18 = NL + "\t\t";
+	protected final String TEXT_19 = " ";
+	protected final String TEXT_20 = " = (";
+	protected final String TEXT_21 = ")eVirtualGet(";
+	protected final String TEXT_22 = ");";
+	protected final String TEXT_23 = NL + "\t\treturn ";
+	protected final String TEXT_24 = " != null && ((";
+	protected final String TEXT_25 = ".Unsettable";
+	protected final String TEXT_26 = ")";
+	protected final String TEXT_27 = ").isSet();";
+	protected final String TEXT_28 = NL + "\t\treturn eVirtualIsSet(";
+	protected final String TEXT_29 = ");";
+	protected final String TEXT_30 = NL + "\t\treturn (";
+	protected final String TEXT_31 = " & ";
+	protected final String TEXT_32 = "_ESETFLAG) != 0;";
+	protected final String TEXT_33 = NL + "\t\treturn ";
+	protected final String TEXT_34 = "ESet;";
+	protected final String TEXT_35 = NL + "\t\treturn !((";
+	protected final String TEXT_36 = ".Internal)((";
+	protected final String TEXT_37 = ".Internal.Wrapper)get";
+	protected final String TEXT_38 = "()).featureMap()).isEmpty(";
+	protected final String TEXT_39 = ");";
+	protected final String TEXT_40 = NL + "\t\treturn !((";
+	protected final String TEXT_41 = ".Internal)get";
+	protected final String TEXT_42 = "()).isEmpty(";
+	protected final String TEXT_43 = ");";
+	protected final String TEXT_44 = NL + "\t\t";
+	protected final String TEXT_45 = NL;
+	protected final String TEXT_46 = NL + "\t}" + NL;
+	protected final String TEXT_47 = NL;
+	protected final String TEXT_48 = NL;
+	protected final String TEXT_49 = NL;
+
+	public InterfaceisSetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_48);
+		stringBuffer.append(TEXT_49);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isInterface) {
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00x5kGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/isSetGenFeature.javadoc.override.javajetinc
+		} else {
+			stringBuffer.append(TEXT_3);
+			if (isJDK50) { //Class/isSetGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_4);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_01hgcGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+		}
+		if (!isImplementation) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_6);
+		} else {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genFeature.getAccessorName());
+			if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {
+				stringBuffer.append(TEXT_8);
+			}
+			stringBuffer.append(TEXT_9);
+			if (genModel.isDynamicDelegation()) {
+				stringBuffer.append(TEXT_10);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				if (genClass.hasStaticFeatures()) {
+					stringBuffer.append(TEXT_11);
+				}
+				stringBuffer.append(TEXT_12);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_13);
+			} else if (genModel.isReflectiveDelegation()) {
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_15);
+			} else if (genFeature.hasSettingDelegate()) {
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_17);
+			} else if (!genFeature.isVolatile()) {
+				if (genFeature.isListType()) {
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_18);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_19);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_20);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_21);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_22);
+					}
+					stringBuffer.append(TEXT_23);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_24);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(singleWildcard);
+					stringBuffer.append(TEXT_26);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_27);
+				} else {
+					if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_28);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_29);
+					} else if (genClass.isESetFlag(genFeature)) {
+						stringBuffer.append(TEXT_30);
+						stringBuffer.append(genClass.getESetFlagsField(genFeature));
+						stringBuffer.append(TEXT_31);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_32);
+					} else {
+						stringBuffer.append(TEXT_33);
+						stringBuffer.append(genFeature.getUncapName());
+						stringBuffer.append(TEXT_34);
+					}
+				}
+			} else if (genFeature.hasDelegateFeature()) {
+				GenFeature delegateFeature = genFeature.getDelegateFeature();
+				if (delegateFeature.isWrappedFeatureMapType()) {
+					stringBuffer.append(TEXT_35);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_36);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_37);
+					stringBuffer.append(delegateFeature.getAccessorName());
+					stringBuffer.append(TEXT_38);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_39);
+				} else {
+					stringBuffer.append(TEXT_40);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_41);
+					stringBuffer.append(delegateFeature.getAccessorName());
+					stringBuffer.append(TEXT_42);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_43);
+				}
+			} else if (genClass.getIsSetAccessorOperation(genFeature) != null) {
+				stringBuffer.append(TEXT_44);
+				stringBuffer.append(
+						genClass.getIsSetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));
+			} else {
+				stringBuffer.append(TEXT_45);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.isSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_01qqYGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//Class/isSetGenFeature.todo.override.javajetinc
+			}
+			stringBuffer.append(TEXT_46);
+		}
+		stringBuffer.append(TEXT_47);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacereflectiveDelegationoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacereflectiveDelegationoverride.java
index f80897e..55508e3 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacereflectiveDelegationoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacereflectiveDelegationoverride.java
@@ -1,298 +1,299 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacereflectiveDelegationoverride {

-	protected static String nl;

-

-	public static synchronized InterfacereflectiveDelegationoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacereflectiveDelegationoverride result = new InterfacereflectiveDelegationoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected static final int ESTATIC_FEATURE_COUNT = ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_5 = NL + "\t@Override";

-	protected final String TEXT_6 = NL + "\tprotected int eStaticFeatureCount()" + NL + "\t{" + NL + "\t\treturn ";

-	protected final String TEXT_7 = ";" + NL + "\t}" + NL;

-	protected final String TEXT_8 = NL;

-	protected final String TEXT_9 = NL;

-	protected final String TEXT_10 = NL;

-

-	public InterfacereflectiveDelegationoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-					for (Object isJDK50Parameter : isJDK50List) {

-						for (Object isInterfaceParameter : isInterfaceList) {

-							for (Object isImplementationParameter : isImplementationList) {

-								for (Object isGWTParameter : isGWTList) {

-									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-										for (Object singleWildcardParameter : singleWildcardList) {

-											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-															this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-															this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-															this.isGWT = (java.lang.Boolean) isGWTParameter;

-															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-															this.singleWildcard = (java.lang.String) singleWildcardParameter;

-															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-															if (preCondition(ctx)) {

-																ctx.setNode(new Node.Container(currentNode, getClass()));

-																orchestration(ctx);

-															}

-

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_9);

-		stringBuffer.append(TEXT_10);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isImplementation

-				&& (genModel.getFeatureDelegation() == GenDelegationKind.REFLECTIVE_LITERAL || genModel

-						.isDynamicDelegation())

-				&& (genClass.getClassExtendsGenClass() == null || (genClass.getClassExtendsGenClass().getGenModel()

-						.getFeatureDelegation() != GenDelegationKind.REFLECTIVE_LITERAL && !genClass

-						.getClassExtendsGenClass().getGenModel().isDynamicDelegation()))) {

-			if (genClass.hasStaticFeatures()) {

-				stringBuffer.append(TEXT_2);

-				stringBuffer.append(genClass.getClassExtendsGenClass() == null ? 0 : genClass.getClassExtendsGenClass()

-						.getAllGenFeatures().size());

-				stringBuffer.append(TEXT_3);

-			}

-			stringBuffer.append(TEXT_4);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_5);

-			}

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genClass.getClassExtendsGenClass() == null ? "0"

-					: genClass.hasStaticFeatures() ? "ESTATIC_FEATURE_COUNT" : Integer.toString(genClass

-							.getClassExtendsGenClass().getAllGenFeatures().size()));

-			stringBuffer.append(TEXT_7);

-		}

-		stringBuffer.append(TEXT_8);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacereflectiveDelegationoverride {
+	protected static String nl;
+
+	public static synchronized InterfacereflectiveDelegationoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacereflectiveDelegationoverride result = new InterfacereflectiveDelegationoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected static final int ESTATIC_FEATURE_COUNT = ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_5 = NL + "\t@Override";
+	protected final String TEXT_6 = NL + "\tprotected int eStaticFeatureCount()" + NL + "\t{" + NL + "\t\treturn ";
+	protected final String TEXT_7 = ";" + NL + "\t}" + NL;
+	protected final String TEXT_8 = NL;
+	protected final String TEXT_9 = NL;
+	protected final String TEXT_10 = NL;
+
+	public InterfacereflectiveDelegationoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+					for (Object isJDK50Parameter : isJDK50List) {
+						for (Object isInterfaceParameter : isInterfaceList) {
+							for (Object isImplementationParameter : isImplementationList) {
+								for (Object isGWTParameter : isGWTList) {
+									for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+										for (Object singleWildcardParameter : singleWildcardList) {
+											for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+												for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+													for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+														for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+															this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+															this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+															this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+															this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+															this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+															this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+															this.isGWT = (java.lang.Boolean) isGWTParameter;
+															this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+															this.singleWildcard = (java.lang.String) singleWildcardParameter;
+															this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+															this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+															this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+															this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+															if (preCondition(ctx)) {
+																ctx.setNode(
+																		new Node.Container(currentNode, getClass()));
+																orchestration(ctx);
+															}
+
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_9);
+		stringBuffer.append(TEXT_10);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isImplementation
+				&& (genModel.getFeatureDelegation() == GenDelegationKind.REFLECTIVE_LITERAL
+						|| genModel.isDynamicDelegation())
+				&& (genClass.getClassExtendsGenClass() == null || (genClass.getClassExtendsGenClass().getGenModel()
+						.getFeatureDelegation() != GenDelegationKind.REFLECTIVE_LITERAL
+						&& !genClass.getClassExtendsGenClass().getGenModel().isDynamicDelegation()))) {
+			if (genClass.hasStaticFeatures()) {
+				stringBuffer.append(TEXT_2);
+				stringBuffer.append(genClass.getClassExtendsGenClass() == null ? 0
+						: genClass.getClassExtendsGenClass().getAllGenFeatures().size());
+				stringBuffer.append(TEXT_3);
+			}
+			stringBuffer.append(TEXT_4);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_5);
+			}
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genClass.getClassExtendsGenClass() == null ? "0"
+					: genClass.hasStaticFeatures() ? "ESTATIC_FEATURE_COUNT"
+							: Integer.toString(genClass.getClassExtendsGenClass().getAllGenFeatures().size()));
+			stringBuffer.append(TEXT_7);
+		}
+		stringBuffer.append(TEXT_8);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureTODOoverride.java
index 7ff4654..5b5ad6e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureTODOoverride.java
@@ -1,299 +1,299 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacesetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized InterfacesetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacesetGenFeatureTODOoverride result = new InterfacesetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to set the '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public InterfacesetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> setAccessorOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object setAccessorOperationParameter : setAccessorOperationList) {

-			for (Object genFeatureParameter : genFeatureList) {

-				for (Object genClassParameter : genClassList) {

-					for (Object genPackageParameter : genPackageList) {

-						for (Object genModelParameter : genModelList) {

-							for (Object isJDK50Parameter : isJDK50List) {

-								for (Object isInterfaceParameter : isInterfaceList) {

-									for (Object isImplementationParameter : isImplementationList) {

-										for (Object isGWTParameter : isGWTList) {

-											for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-												for (Object singleWildcardParameter : singleWildcardList) {

-													for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-														for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-															for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-																for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																	this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;

-																	this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																	this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																	this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																	this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																	this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																	this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																	this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																	this.isGWT = (java.lang.Boolean) isGWTParameter;

-																	this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																	this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																	this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																	this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																	this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																	this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																	if (preCondition(ctx)) {

-																		ctx.setNode(new Node.Container(currentNode,

-																				getClass()));

-																		orchestration(ctx);

-																	}

-

-																}

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("setAccessorOperation", this.setAccessorOperation);

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;

-

-	public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.setAccessorOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("setAccessorOperation", this.setAccessorOperation);

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized InterfacesetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacesetGenFeatureTODOoverride result = new InterfacesetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to set the '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public InterfacesetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> setAccessorOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object setAccessorOperationParameter : setAccessorOperationList) {
+			for (Object genFeatureParameter : genFeatureList) {
+				for (Object genClassParameter : genClassList) {
+					for (Object genPackageParameter : genPackageList) {
+						for (Object genModelParameter : genModelList) {
+							for (Object isJDK50Parameter : isJDK50List) {
+								for (Object isInterfaceParameter : isInterfaceList) {
+									for (Object isImplementationParameter : isImplementationList) {
+										for (Object isGWTParameter : isGWTList) {
+											for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+												for (Object singleWildcardParameter : singleWildcardList) {
+													for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+														for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+															for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+																for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																	this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+																	this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																	this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																	this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																	this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																	this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																	this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																	this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																	this.isGWT = (java.lang.Boolean) isGWTParameter;
+																	this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																	this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																	this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																	this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																	this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																	this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																	if (preCondition(ctx)) {
+																		ctx.setNode(new Node.Container(currentNode,
+																				getClass()));
+																		orchestration(ctx);
+																	}
+
+																}
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+	public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.setAccessorOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("setAccessorOperation", this.setAccessorOperation);
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureannotationsinsert.java
index eb3b83c..86e686b 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacesetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized InterfacesetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacesetGenFeatureannotationsinsert result = new InterfacesetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacesetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized InterfacesetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacesetGenFeatureannotationsinsert result = new InterfacesetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacesetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocinsert.java
index 5cfede0..690fef8 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacesetGenFeaturejavadocinsert {

-	protected static String nl;

-

-	public static synchronized InterfacesetGenFeaturejavadocinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacesetGenFeaturejavadocinsert result = new InterfacesetGenFeaturejavadocinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacesetGenFeaturejavadocinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeaturejavadocinsert {
+	protected static String nl;
+
+	public static synchronized InterfacesetGenFeaturejavadocinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacesetGenFeaturejavadocinsert result = new InterfacesetGenFeaturejavadocinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacesetGenFeaturejavadocinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocoverride.java
index 2e66f1c..f340b8e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturejavadocoverride.java
@@ -1,356 +1,356 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacesetGenFeaturejavadocoverride {

-	protected static String nl;

-

-	public static synchronized InterfacesetGenFeaturejavadocoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacesetGenFeaturejavadocoverride result = new InterfacesetGenFeaturejavadocoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Sets the value of the '{@link ";

-	protected final String TEXT_2 = "#";

-	protected final String TEXT_3 = " <em>";

-	protected final String TEXT_4 = "</em>}' ";

-	protected final String TEXT_5 = ".";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @param value the new value of the '<em>";

-	protected final String TEXT_8 = "</em>' ";

-	protected final String TEXT_9 = ".";

-	protected final String TEXT_10 = NL + "\t * @see ";

-	protected final String TEXT_11 = NL + "\t * @see #isSet";

-	protected final String TEXT_12 = "()";

-	protected final String TEXT_13 = NL + "\t * @see #unset";

-	protected final String TEXT_14 = "()";

-	protected final String TEXT_15 = NL + "\t * @see #";

-	protected final String TEXT_16 = "()" + NL + "\t * @generated" + NL + "\t */" + NL;

-	protected final String TEXT_17 = NL;

-	protected final String TEXT_18 = NL;

-

-	public InterfacesetGenFeaturejavadocoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_17);

-		stringBuffer.append(TEXT_18);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genClass.getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(TEXT_6);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0yid4GJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_7);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_8);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_9);

-		if (genFeature.isEnumType()) {

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());

-		}

-		if (genFeature.isUnsettable()) {

-			if (!genFeature.isSuppressedIsSetVisibility()) {

-				stringBuffer.append(TEXT_11);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_12);

-			}

-			if (!genFeature.isSuppressedUnsetVisibility()) {

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(genFeature.getAccessorName());

-				stringBuffer.append(TEXT_14);

-			}

-		}

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_16);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeaturejavadocoverride {
+	protected static String nl;
+
+	public static synchronized InterfacesetGenFeaturejavadocoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacesetGenFeaturejavadocoverride result = new InterfacesetGenFeaturejavadocoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Sets the value of the '{@link ";
+	protected final String TEXT_2 = "#";
+	protected final String TEXT_3 = " <em>";
+	protected final String TEXT_4 = "</em>}' ";
+	protected final String TEXT_5 = ".";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @param value the new value of the '<em>";
+	protected final String TEXT_8 = "</em>' ";
+	protected final String TEXT_9 = ".";
+	protected final String TEXT_10 = NL + "\t * @see ";
+	protected final String TEXT_11 = NL + "\t * @see #isSet";
+	protected final String TEXT_12 = "()";
+	protected final String TEXT_13 = NL + "\t * @see #unset";
+	protected final String TEXT_14 = "()";
+	protected final String TEXT_15 = NL + "\t * @see #";
+	protected final String TEXT_16 = "()" + NL + "\t * @generated" + NL + "\t */" + NL;
+	protected final String TEXT_17 = NL;
+	protected final String TEXT_18 = NL;
+
+	public InterfacesetGenFeaturejavadocoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_17);
+		stringBuffer.append(TEXT_18);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genClass.getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(TEXT_6);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0yid4GJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_7);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_8);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_9);
+		if (genFeature.isEnumType()) {
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
+		}
+		if (genFeature.isUnsettable()) {
+			if (!genFeature.isSuppressedIsSetVisibility()) {
+				stringBuffer.append(TEXT_11);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_12);
+			}
+			if (!genFeature.isSuppressedUnsetVisibility()) {
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(genFeature.getAccessorName());
+				stringBuffer.append(TEXT_14);
+			}
+		}
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_16);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureoverride.java
index 1280c5b..74d114b 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeatureoverride.java
@@ -1,1243 +1,1240 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacesetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized InterfacesetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacesetGenFeatureoverride result = new InterfacesetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL + "\tvoid set";

-	protected final String TEXT_6 = "(";

-	protected final String TEXT_7 = " value);" + NL;

-	protected final String TEXT_8 = NL + "\tpublic void set";

-	protected final String TEXT_9 = "_";

-	protected final String TEXT_10 = "(";

-	protected final String TEXT_11 = " ";

-	protected final String TEXT_12 = ")" + NL + "\t{";

-	protected final String TEXT_13 = NL;

-	protected final String TEXT_14 = NL + "\t\teDynamicSet(";

-	protected final String TEXT_15 = " - ESTATIC_FEATURE_COUNT";

-	protected final String TEXT_16 = ", ";

-	protected final String TEXT_17 = ", ";

-	protected final String TEXT_18 = "new ";

-	protected final String TEXT_19 = "(";

-	protected final String TEXT_20 = "new";

-	protected final String TEXT_21 = ")";

-	protected final String TEXT_22 = ");";

-	protected final String TEXT_23 = NL + "\t\teSet(";

-	protected final String TEXT_24 = ", ";

-	protected final String TEXT_25 = "new ";

-	protected final String TEXT_26 = "(";

-	protected final String TEXT_27 = "new";

-	protected final String TEXT_28 = ")";

-	protected final String TEXT_29 = ");";

-	protected final String TEXT_30 = NL + "\t\t";

-	protected final String TEXT_31 = "__ESETTING_DELEGATE.dynamicSet(this, null, 0, ";

-	protected final String TEXT_32 = "new ";

-	protected final String TEXT_33 = "(";

-	protected final String TEXT_34 = "new";

-	protected final String TEXT_35 = ")";

-	protected final String TEXT_36 = ");";

-	protected final String TEXT_37 = NL + "\t\tif (new";

-	protected final String TEXT_38 = " != eInternalContainer() || (eContainerFeatureID() != ";

-	protected final String TEXT_39 = " && new";

-	protected final String TEXT_40 = " != null))" + NL + "\t\t{" + NL + "\t\t\tif (";

-	protected final String TEXT_41 = ".isAncestor(this, ";

-	protected final String TEXT_42 = "new";

-	protected final String TEXT_43 = "))" + NL + "\t\t\t\tthrow new ";

-	protected final String TEXT_44 = "(\"Recursive containment not allowed for \" + toString());";

-	protected final String TEXT_45 = NL + "\t\t\t";

-	protected final String TEXT_46 = " msgs = null;" + NL + "\t\t\tif (eInternalContainer() != null)" + NL

-			+ "\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);" + NL + "\t\t\tif (new";

-	protected final String TEXT_47 = " != null)" + NL + "\t\t\t\tmsgs = ((";

-	protected final String TEXT_48 = ")new";

-	protected final String TEXT_49 = ").eInverseAdd(this, ";

-	protected final String TEXT_50 = ", ";

-	protected final String TEXT_51 = ".class, msgs);" + NL + "\t\t\tmsgs = basicSet";

-	protected final String TEXT_52 = "(";

-	protected final String TEXT_53 = "new";

-	protected final String TEXT_54 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";

-	protected final String TEXT_55 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

-	protected final String TEXT_56 = "(this, ";

-	protected final String TEXT_57 = ".SET, ";

-	protected final String TEXT_58 = ", new";

-	protected final String TEXT_59 = ", new";

-	protected final String TEXT_60 = "));";

-	protected final String TEXT_61 = NL + "\t\t";

-	protected final String TEXT_62 = " ";

-	protected final String TEXT_63 = " = (";

-	protected final String TEXT_64 = ")eVirtualGet(";

-	protected final String TEXT_65 = ");";

-	protected final String TEXT_66 = NL + "\t\tif (new";

-	protected final String TEXT_67 = " != ";

-	protected final String TEXT_68 = ")" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_69 = " msgs = null;" + NL + "\t\t\tif (";

-	protected final String TEXT_70 = " != null)";

-	protected final String TEXT_71 = NL + "\t\t\t\tmsgs = ((";

-	protected final String TEXT_72 = ")";

-	protected final String TEXT_73 = ").eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

-	protected final String TEXT_74 = ", null, msgs);" + NL + "\t\t\tif (new";

-	protected final String TEXT_75 = " != null)" + NL + "\t\t\t\tmsgs = ((";

-	protected final String TEXT_76 = ")new";

-	protected final String TEXT_77 = ").eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";

-	protected final String TEXT_78 = ", null, msgs);";

-	protected final String TEXT_79 = NL + "\t\t\t\tmsgs = ((";

-	protected final String TEXT_80 = ")";

-	protected final String TEXT_81 = ").eInverseRemove(this, ";

-	protected final String TEXT_82 = ", ";

-	protected final String TEXT_83 = ".class, msgs);" + NL + "\t\t\tif (new";

-	protected final String TEXT_84 = " != null)" + NL + "\t\t\t\tmsgs = ((";

-	protected final String TEXT_85 = ")new";

-	protected final String TEXT_86 = ").eInverseAdd(this, ";

-	protected final String TEXT_87 = ", ";

-	protected final String TEXT_88 = ".class, msgs);";

-	protected final String TEXT_89 = NL + "\t\t\tmsgs = basicSet";

-	protected final String TEXT_90 = "(";

-	protected final String TEXT_91 = "new";

-	protected final String TEXT_92 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";

-	protected final String TEXT_93 = NL + "\t\telse" + NL + "\t\t{";

-	protected final String TEXT_94 = NL + "\t\t\tboolean old";

-	protected final String TEXT_95 = "ESet = eVirtualIsSet(";

-	protected final String TEXT_96 = ");";

-	protected final String TEXT_97 = NL + "\t\t\tboolean old";

-	protected final String TEXT_98 = "ESet = (";

-	protected final String TEXT_99 = " & ";

-	protected final String TEXT_100 = "_ESETFLAG) != 0;";

-	protected final String TEXT_101 = NL + "\t\t\t";

-	protected final String TEXT_102 = " |= ";

-	protected final String TEXT_103 = "_ESETFLAG;";

-	protected final String TEXT_104 = NL + "\t\t\tboolean old";

-	protected final String TEXT_105 = "ESet = ";

-	protected final String TEXT_106 = "ESet;";

-	protected final String TEXT_107 = NL + "\t\t\t";

-	protected final String TEXT_108 = "ESet = true;";

-	protected final String TEXT_109 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";

-	protected final String TEXT_110 = "(this, ";

-	protected final String TEXT_111 = ".SET, ";

-	protected final String TEXT_112 = ", new";

-	protected final String TEXT_113 = ", new";

-	protected final String TEXT_114 = ", !old";

-	protected final String TEXT_115 = "ESet));";

-	protected final String TEXT_116 = NL + "\t\t}";

-	protected final String TEXT_117 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

-	protected final String TEXT_118 = "(this, ";

-	protected final String TEXT_119 = ".SET, ";

-	protected final String TEXT_120 = ", new";

-	protected final String TEXT_121 = ", new";

-	protected final String TEXT_122 = "));";

-	protected final String TEXT_123 = NL + "\t\t";

-	protected final String TEXT_124 = " old";

-	protected final String TEXT_125 = " = (";

-	protected final String TEXT_126 = " & ";

-	protected final String TEXT_127 = "_EFLAG) != 0;";

-	protected final String TEXT_128 = NL + "\t\t";

-	protected final String TEXT_129 = " old";

-	protected final String TEXT_130 = " = ";

-	protected final String TEXT_131 = "_EFLAG_VALUES[(";

-	protected final String TEXT_132 = " & ";

-	protected final String TEXT_133 = "_EFLAG) >>> ";

-	protected final String TEXT_134 = "_EFLAG_OFFSET];";

-	protected final String TEXT_135 = NL + "\t\tif (new";

-	protected final String TEXT_136 = ") ";

-	protected final String TEXT_137 = " |= ";

-	protected final String TEXT_138 = "_EFLAG; else ";

-	protected final String TEXT_139 = " &= ~";

-	protected final String TEXT_140 = "_EFLAG;";

-	protected final String TEXT_141 = NL + "\t\tif (new";

-	protected final String TEXT_142 = " == null) new";

-	protected final String TEXT_143 = " = ";

-	protected final String TEXT_144 = "_EDEFAULT;" + NL + "\t\t";

-	protected final String TEXT_145 = " = ";

-	protected final String TEXT_146 = " & ~";

-	protected final String TEXT_147 = "_EFLAG | ";

-	protected final String TEXT_148 = "new";

-	protected final String TEXT_149 = ".ordinal()";

-	protected final String TEXT_150 = ".VALUES.indexOf(new";

-	protected final String TEXT_151 = ")";

-	protected final String TEXT_152 = " << ";

-	protected final String TEXT_153 = "_EFLAG_OFFSET;";

-	protected final String TEXT_154 = NL + "\t\t";

-	protected final String TEXT_155 = " old";

-	protected final String TEXT_156 = " = ";

-	protected final String TEXT_157 = ";";

-	protected final String TEXT_158 = NL + "\t\t";

-	protected final String TEXT_159 = " ";

-	protected final String TEXT_160 = " = new";

-	protected final String TEXT_161 = " == null ? ";

-	protected final String TEXT_162 = " : new";

-	protected final String TEXT_163 = ";";

-	protected final String TEXT_164 = NL + "\t\t";

-	protected final String TEXT_165 = " = new";

-	protected final String TEXT_166 = " == null ? ";

-	protected final String TEXT_167 = " : new";

-	protected final String TEXT_168 = ";";

-	protected final String TEXT_169 = NL + "\t\t";

-	protected final String TEXT_170 = " ";

-	protected final String TEXT_171 = " = ";

-	protected final String TEXT_172 = "new";

-	protected final String TEXT_173 = ";";

-	protected final String TEXT_174 = NL + "\t\t";

-	protected final String TEXT_175 = " = ";

-	protected final String TEXT_176 = "new";

-	protected final String TEXT_177 = ";";

-	protected final String TEXT_178 = NL + "\t\tObject old";

-	protected final String TEXT_179 = " = eVirtualSet(";

-	protected final String TEXT_180 = ", ";

-	protected final String TEXT_181 = ");";

-	protected final String TEXT_182 = NL + "\t\tboolean isSetChange = old";

-	protected final String TEXT_183 = " == EVIRTUAL_NO_VALUE;";

-	protected final String TEXT_184 = NL + "\t\tboolean old";

-	protected final String TEXT_185 = "ESet = (";

-	protected final String TEXT_186 = " & ";

-	protected final String TEXT_187 = "_ESETFLAG) != 0;";

-	protected final String TEXT_188 = NL + "\t\t";

-	protected final String TEXT_189 = " |= ";

-	protected final String TEXT_190 = "_ESETFLAG;";

-	protected final String TEXT_191 = NL + "\t\tboolean old";

-	protected final String TEXT_192 = "ESet = ";

-	protected final String TEXT_193 = "ESet;";

-	protected final String TEXT_194 = NL + "\t\t";

-	protected final String TEXT_195 = "ESet = true;";

-	protected final String TEXT_196 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

-	protected final String TEXT_197 = "(this, ";

-	protected final String TEXT_198 = ".SET, ";

-	protected final String TEXT_199 = ", ";

-	protected final String TEXT_200 = "isSetChange ? ";

-	protected final String TEXT_201 = " : old";

-	protected final String TEXT_202 = "old";

-	protected final String TEXT_203 = ", ";

-	protected final String TEXT_204 = "new";

-	protected final String TEXT_205 = ", ";

-	protected final String TEXT_206 = "isSetChange";

-	protected final String TEXT_207 = "!old";

-	protected final String TEXT_208 = "ESet";

-	protected final String TEXT_209 = "));";

-	protected final String TEXT_210 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

-	protected final String TEXT_211 = "(this, ";

-	protected final String TEXT_212 = ".SET, ";

-	protected final String TEXT_213 = ", ";

-	protected final String TEXT_214 = "old";

-	protected final String TEXT_215 = " == EVIRTUAL_NO_VALUE ? ";

-	protected final String TEXT_216 = " : old";

-	protected final String TEXT_217 = "old";

-	protected final String TEXT_218 = ", ";

-	protected final String TEXT_219 = "new";

-	protected final String TEXT_220 = "));";

-	protected final String TEXT_221 = NL;

-	protected final String TEXT_222 = NL + "\t\t((";

-	protected final String TEXT_223 = ".Internal)((";

-	protected final String TEXT_224 = ".Internal.Wrapper)get";

-	protected final String TEXT_225 = "()).featureMap()).set(";

-	protected final String TEXT_226 = ", ";

-	protected final String TEXT_227 = "new ";

-	protected final String TEXT_228 = "(";

-	protected final String TEXT_229 = "new";

-	protected final String TEXT_230 = ")";

-	protected final String TEXT_231 = ");";

-	protected final String TEXT_232 = NL + "\t\t((";

-	protected final String TEXT_233 = ".Internal)get";

-	protected final String TEXT_234 = "()).set(";

-	protected final String TEXT_235 = ", ";

-	protected final String TEXT_236 = "new ";

-	protected final String TEXT_237 = "(";

-	protected final String TEXT_238 = "new";

-	protected final String TEXT_239 = ")";

-	protected final String TEXT_240 = ");";

-	protected final String TEXT_241 = NL + "\t\t";

-	protected final String TEXT_242 = NL;

-	protected final String TEXT_243 = NL + "\t}" + NL;

-	protected final String TEXT_244 = NL;

-	protected final String TEXT_245 = NL;

-	protected final String TEXT_246 = NL;

-

-	public InterfacesetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_245);

-		stringBuffer.append(TEXT_246);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isInterface) {

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0yZT8GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/setGenFeature.javadoc.override.javajetinc

-		} else {

-			stringBuffer.append(TEXT_3);

-			if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_4);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0ysO4GJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-		}

-		if (!isImplementation) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_6);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_7);

-		} else {

-			GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genFeature.getAccessorName());

-			if (genClass.hasCollidingSetAccessorOperation(genFeature)) {

-				stringBuffer.append(TEXT_9);

-			}

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genFeature.getImportedType(genClass));

-			stringBuffer.append(TEXT_11);

-			stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation

-					.getGenParameters().get(0).getName());

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(TEXT_13);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("setAccessorOperation", setAccessorOperation);

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0y1Y0GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			if (genModel.isDynamicDelegation()) {

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				if (genClass.hasStaticFeatures()) {

-					stringBuffer.append(TEXT_15);

-				}

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_17);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_18);

-					stringBuffer.append(genFeature.getObjectType(genClass));

-					stringBuffer.append(TEXT_19);

-				}

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(genFeature.getCapName());

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_21);

-				}

-				stringBuffer.append(TEXT_22);

-			} else if (genModel.isReflectiveDelegation()) {

-				stringBuffer.append(TEXT_23);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_24);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(genFeature.getObjectType(genClass));

-					stringBuffer.append(TEXT_26);

-				}

-				stringBuffer.append(TEXT_27);

-				stringBuffer.append(genFeature.getCapName());

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_28);

-				}

-				stringBuffer.append(TEXT_29);

-			} else if (genFeature.hasSettingDelegate()) {

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_31);

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_32);

-					stringBuffer.append(genFeature.getObjectType(genClass));

-					stringBuffer.append(TEXT_33);

-				}

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genFeature.getCapName());

-				if (!isJDK50 && genFeature.isPrimitiveType()) {

-					stringBuffer.append(TEXT_35);

-				}

-				stringBuffer.append(TEXT_36);

-			} else if (!genFeature.isVolatile()) {

-				if (genFeature.isContainer()) {

-					GenFeature reverseFeature = genFeature.getReverse();

-					GenClass targetClass = reverseFeature.getGenClass();

-					String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-							+ genClass.getOffsetCorrectionField(genFeature) : "";

-					stringBuffer.append(TEXT_37);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_38);

-					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-					stringBuffer.append(positiveOffsetCorrection);

-					stringBuffer.append(TEXT_39);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_40);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));

-					stringBuffer.append(TEXT_41);

-					stringBuffer.append(genFeature.getEObjectCast());

-					stringBuffer.append(TEXT_42);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_43);

-					stringBuffer.append(genModel.getImportedName("java.lang.IllegalArgumentException"));

-					stringBuffer.append(TEXT_44);

-					stringBuffer.append(genModel.getNonNLS());

-					stringBuffer.append(TEXT_45);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_47);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-					stringBuffer.append(TEXT_48);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_49);

-					stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-					stringBuffer.append(reverseOffsetCorrection);

-					stringBuffer.append(TEXT_50);

-					stringBuffer.append(targetClass.getRawImportedInterfaceName());

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_52);

-					stringBuffer.append(genFeature.getInternalTypeCast());

-					stringBuffer.append(TEXT_53);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_54);

-					if (!genModel.isSuppressNotification()) {

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-						stringBuffer.append(TEXT_56);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-						stringBuffer.append(TEXT_57);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_58);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_59);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_60);

-					}

-				} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_61);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_62);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_63);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_64);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_65);

-					}

-					stringBuffer.append(TEXT_66);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_67);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_68);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-					stringBuffer.append(TEXT_69);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_70);

-					if (!genFeature.isBidirectional()) {

-						stringBuffer.append(TEXT_71);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_72);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_73);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(negativeOffsetCorrection);

-						stringBuffer.append(TEXT_74);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_75);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_76);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_77);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(negativeOffsetCorrection);

-						stringBuffer.append(TEXT_78);

-					} else {

-						GenFeature reverseFeature = genFeature.getReverse();

-						GenClass targetClass = reverseFeature.getGenClass();

-						String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-								+ genClass.getOffsetCorrectionField(genFeature) : "";

-						stringBuffer.append(TEXT_79);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_80);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_81);

-						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-						stringBuffer.append(reverseOffsetCorrection);

-						stringBuffer.append(TEXT_82);

-						stringBuffer.append(targetClass.getRawImportedInterfaceName());

-						stringBuffer.append(TEXT_83);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_84);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_85);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_86);

-						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-						stringBuffer.append(reverseOffsetCorrection);

-						stringBuffer.append(TEXT_87);

-						stringBuffer.append(targetClass.getRawImportedInterfaceName());

-						stringBuffer.append(TEXT_88);

-					}

-					stringBuffer.append(TEXT_89);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_90);

-					stringBuffer.append(genFeature.getInternalTypeCast());

-					stringBuffer.append(TEXT_91);

-					stringBuffer.append(genFeature.getCapName());

-					stringBuffer.append(TEXT_92);

-					if (genFeature.isUnsettable()) {

-						stringBuffer.append(TEXT_93);

-						if (genModel.isVirtualDelegation()) {

-							stringBuffer.append(TEXT_94);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_95);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_96);

-						} else if (genClass.isESetFlag(genFeature)) {

-							if (!genModel.isSuppressNotification()) {

-								stringBuffer.append(TEXT_97);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_98);

-								stringBuffer.append(genClass.getESetFlagsField(genFeature));

-								stringBuffer.append(TEXT_99);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_100);

-							}

-							stringBuffer.append(TEXT_101);

-							stringBuffer.append(genClass.getESetFlagsField(genFeature));

-							stringBuffer.append(TEXT_102);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_103);

-						} else {

-							if (!genModel.isSuppressNotification()) {

-								stringBuffer.append(TEXT_104);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_105);

-								stringBuffer.append(genFeature.getUncapName());

-								stringBuffer.append(TEXT_106);

-							}

-							stringBuffer.append(TEXT_107);

-							stringBuffer.append(genFeature.getUncapName());

-							stringBuffer.append(TEXT_108);

-						}

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_109);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_110);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_111);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_112);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_113);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_114);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_115);

-						}

-						stringBuffer.append(TEXT_116);

-					} else {

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_117);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_118);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_119);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_120);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_121);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_122);

-						}

-					}

-				} else {

-					if (genClass.isFlag(genFeature)) {

-						if (!genModel.isSuppressNotification()) {

-							if (genFeature.isBooleanType()) {

-								stringBuffer.append(TEXT_123);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_124);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_125);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_126);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_127);

-							} else {

-								stringBuffer.append(TEXT_128);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_129);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_130);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_131);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_132);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_133);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_134);

-							}

-						}

-						if (genFeature.isBooleanType()) {

-							stringBuffer.append(TEXT_135);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_136);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_137);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_138);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_139);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_140);

-						} else {

-							stringBuffer.append(TEXT_141);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_142);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_143);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_144);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_145);

-							stringBuffer.append(genClass.getFlagsField(genFeature));

-							stringBuffer.append(TEXT_146);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_147);

-							if (isJDK50) {

-								stringBuffer.append(TEXT_148);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_149);

-							} else {

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_150);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_151);

-							}

-							stringBuffer.append(TEXT_152);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_153);

-						}

-					} else {

-						if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {

-							if (!genModel.isSuppressNotification()) {

-								stringBuffer.append(TEXT_154);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_155);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_156);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_157);

-							}

-						}

-						if (genFeature.isEnumType()) {

-							if (genModel.isVirtualDelegation()) {

-								stringBuffer.append(TEXT_158);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_159);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_160);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_161);

-								stringBuffer.append(genFeature.getEDefault());

-								stringBuffer.append(TEXT_162);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_163);

-							} else {

-								stringBuffer.append(TEXT_164);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_165);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_166);

-								stringBuffer.append(genFeature.getEDefault());

-								stringBuffer.append(TEXT_167);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_168);

-							}

-						} else {

-							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_169);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_170);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_171);

-								stringBuffer.append(genFeature.getInternalTypeCast());

-								stringBuffer.append(TEXT_172);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_173);

-							} else {

-								stringBuffer.append(TEXT_174);

-								stringBuffer.append(genFeature.getSafeName());

-								stringBuffer.append(TEXT_175);

-								stringBuffer.append(genFeature.getInternalTypeCast());

-								stringBuffer.append(TEXT_176);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_177);

-							}

-						}

-						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-							stringBuffer.append(TEXT_178);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_179);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_180);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_181);

-						}

-					}

-					if (genFeature.isUnsettable()) {

-						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-							stringBuffer.append(TEXT_182);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_183);

-						} else if (genClass.isESetFlag(genFeature)) {

-							if (!genModel.isSuppressNotification()) {

-								stringBuffer.append(TEXT_184);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_185);

-								stringBuffer.append(genClass.getESetFlagsField(genFeature));

-								stringBuffer.append(TEXT_186);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_187);

-							}

-							stringBuffer.append(TEXT_188);

-							stringBuffer.append(genClass.getESetFlagsField(genFeature));

-							stringBuffer.append(TEXT_189);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_190);

-						} else {

-							if (!genModel.isSuppressNotification()) {

-								stringBuffer.append(TEXT_191);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_192);

-								stringBuffer.append(genFeature.getUncapName());

-								stringBuffer.append(TEXT_193);

-							}

-							stringBuffer.append(TEXT_194);

-							stringBuffer.append(genFeature.getUncapName());

-							stringBuffer.append(TEXT_195);

-						}

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_196);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_197);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_198);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_199);

-							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_200);

-								stringBuffer.append(genFeature.getEDefault());

-								stringBuffer.append(TEXT_201);

-								stringBuffer.append(genFeature.getCapName());

-							} else {

-								stringBuffer.append(TEXT_202);

-								stringBuffer.append(genFeature.getCapName());

-							}

-							stringBuffer.append(TEXT_203);

-							if (genClass.isFlag(genFeature)) {

-								stringBuffer.append(TEXT_204);

-								stringBuffer.append(genFeature.getCapName());

-							} else {

-								stringBuffer.append(genFeature.getSafeName());

-							}

-							stringBuffer.append(TEXT_205);

-							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_206);

-							} else {

-								stringBuffer.append(TEXT_207);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_208);

-							}

-							stringBuffer.append(TEXT_209);

-						}

-					} else {

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_210);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_211);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_212);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_213);

-							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_214);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_215);

-								stringBuffer.append(genFeature.getEDefault());

-								stringBuffer.append(TEXT_216);

-								stringBuffer.append(genFeature.getCapName());

-							} else {

-								stringBuffer.append(TEXT_217);

-								stringBuffer.append(genFeature.getCapName());

-							}

-							stringBuffer.append(TEXT_218);

-							if (genClass.isFlag(genFeature)) {

-								stringBuffer.append(TEXT_219);

-								stringBuffer.append(genFeature.getCapName());

-							} else {

-								stringBuffer.append(genFeature.getSafeName());

-							}

-							stringBuffer.append(TEXT_220);

-						}

-					}

-				}

-				stringBuffer.append(TEXT_221);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("setAccessorOperation", setAccessorOperation);

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0y_J0GJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			} else if (genFeature.hasDelegateFeature()) {

-				GenFeature delegateFeature = genFeature.getDelegateFeature();

-				if (delegateFeature.isWrappedFeatureMapType()) {

-					stringBuffer.append(TEXT_222);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_223);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_224);

-					stringBuffer.append(delegateFeature.getAccessorName());

-					stringBuffer.append(TEXT_225);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_226);

-					if (!isJDK50 && genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_227);

-						stringBuffer.append(genFeature.getObjectType(genClass));

-						stringBuffer.append(TEXT_228);

-					}

-					stringBuffer.append(TEXT_229);

-					stringBuffer.append(genFeature.getCapName());

-					if (!isJDK50 && genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_230);

-					}

-					stringBuffer.append(TEXT_231);

-				} else {

-					stringBuffer.append(TEXT_232);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_233);

-					stringBuffer.append(delegateFeature.getAccessorName());

-					stringBuffer.append(TEXT_234);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_235);

-					if (!isJDK50 && genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_236);

-						stringBuffer.append(genFeature.getObjectType(genClass));

-						stringBuffer.append(TEXT_237);

-					}

-					stringBuffer.append(TEXT_238);

-					stringBuffer.append(genFeature.getCapName());

-					if (!isJDK50 && genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_239);

-					}

-					stringBuffer.append(TEXT_240);

-				}

-			} else if (setAccessorOperation != null) {

-				stringBuffer.append(TEXT_241);

-				stringBuffer.append(setAccessorOperation.getBody(genModel.getIndentation(stringBuffer)));

-			} else {

-				stringBuffer.append(TEXT_242);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.TODO.override" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("setAccessorOperation", setAccessorOperation);

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0y_J5WJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//Class/setGenFeature.todo.override.javajetinc

-			}

-			stringBuffer.append(TEXT_243);

-		}

-		stringBuffer.append(TEXT_244);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized InterfacesetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacesetGenFeatureoverride result = new InterfacesetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL + "\tvoid set";
+	protected final String TEXT_6 = "(";
+	protected final String TEXT_7 = " value);" + NL;
+	protected final String TEXT_8 = NL + "\tpublic void set";
+	protected final String TEXT_9 = "_";
+	protected final String TEXT_10 = "(";
+	protected final String TEXT_11 = " ";
+	protected final String TEXT_12 = ")" + NL + "\t{";
+	protected final String TEXT_13 = NL;
+	protected final String TEXT_14 = NL + "\t\teDynamicSet(";
+	protected final String TEXT_15 = " - ESTATIC_FEATURE_COUNT";
+	protected final String TEXT_16 = ", ";
+	protected final String TEXT_17 = ", ";
+	protected final String TEXT_18 = "new ";
+	protected final String TEXT_19 = "(";
+	protected final String TEXT_20 = "new";
+	protected final String TEXT_21 = ")";
+	protected final String TEXT_22 = ");";
+	protected final String TEXT_23 = NL + "\t\teSet(";
+	protected final String TEXT_24 = ", ";
+	protected final String TEXT_25 = "new ";
+	protected final String TEXT_26 = "(";
+	protected final String TEXT_27 = "new";
+	protected final String TEXT_28 = ")";
+	protected final String TEXT_29 = ");";
+	protected final String TEXT_30 = NL + "\t\t";
+	protected final String TEXT_31 = "__ESETTING_DELEGATE.dynamicSet(this, null, 0, ";
+	protected final String TEXT_32 = "new ";
+	protected final String TEXT_33 = "(";
+	protected final String TEXT_34 = "new";
+	protected final String TEXT_35 = ")";
+	protected final String TEXT_36 = ");";
+	protected final String TEXT_37 = NL + "\t\tif (new";
+	protected final String TEXT_38 = " != eInternalContainer() || (eContainerFeatureID() != ";
+	protected final String TEXT_39 = " && new";
+	protected final String TEXT_40 = " != null))" + NL + "\t\t{" + NL + "\t\t\tif (";
+	protected final String TEXT_41 = ".isAncestor(this, ";
+	protected final String TEXT_42 = "new";
+	protected final String TEXT_43 = "))" + NL + "\t\t\t\tthrow new ";
+	protected final String TEXT_44 = "(\"Recursive containment not allowed for \" + toString());";
+	protected final String TEXT_45 = NL + "\t\t\t";
+	protected final String TEXT_46 = " msgs = null;" + NL + "\t\t\tif (eInternalContainer() != null)" + NL
+			+ "\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);" + NL + "\t\t\tif (new";
+	protected final String TEXT_47 = " != null)" + NL + "\t\t\t\tmsgs = ((";
+	protected final String TEXT_48 = ")new";
+	protected final String TEXT_49 = ").eInverseAdd(this, ";
+	protected final String TEXT_50 = ", ";
+	protected final String TEXT_51 = ".class, msgs);" + NL + "\t\t\tmsgs = basicSet";
+	protected final String TEXT_52 = "(";
+	protected final String TEXT_53 = "new";
+	protected final String TEXT_54 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";
+	protected final String TEXT_55 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+	protected final String TEXT_56 = "(this, ";
+	protected final String TEXT_57 = ".SET, ";
+	protected final String TEXT_58 = ", new";
+	protected final String TEXT_59 = ", new";
+	protected final String TEXT_60 = "));";
+	protected final String TEXT_61 = NL + "\t\t";
+	protected final String TEXT_62 = " ";
+	protected final String TEXT_63 = " = (";
+	protected final String TEXT_64 = ")eVirtualGet(";
+	protected final String TEXT_65 = ");";
+	protected final String TEXT_66 = NL + "\t\tif (new";
+	protected final String TEXT_67 = " != ";
+	protected final String TEXT_68 = ")" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_69 = " msgs = null;" + NL + "\t\t\tif (";
+	protected final String TEXT_70 = " != null)";
+	protected final String TEXT_71 = NL + "\t\t\t\tmsgs = ((";
+	protected final String TEXT_72 = ")";
+	protected final String TEXT_73 = ").eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+	protected final String TEXT_74 = ", null, msgs);" + NL + "\t\t\tif (new";
+	protected final String TEXT_75 = " != null)" + NL + "\t\t\t\tmsgs = ((";
+	protected final String TEXT_76 = ")new";
+	protected final String TEXT_77 = ").eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";
+	protected final String TEXT_78 = ", null, msgs);";
+	protected final String TEXT_79 = NL + "\t\t\t\tmsgs = ((";
+	protected final String TEXT_80 = ")";
+	protected final String TEXT_81 = ").eInverseRemove(this, ";
+	protected final String TEXT_82 = ", ";
+	protected final String TEXT_83 = ".class, msgs);" + NL + "\t\t\tif (new";
+	protected final String TEXT_84 = " != null)" + NL + "\t\t\t\tmsgs = ((";
+	protected final String TEXT_85 = ")new";
+	protected final String TEXT_86 = ").eInverseAdd(this, ";
+	protected final String TEXT_87 = ", ";
+	protected final String TEXT_88 = ".class, msgs);";
+	protected final String TEXT_89 = NL + "\t\t\tmsgs = basicSet";
+	protected final String TEXT_90 = "(";
+	protected final String TEXT_91 = "new";
+	protected final String TEXT_92 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";
+	protected final String TEXT_93 = NL + "\t\telse" + NL + "\t\t{";
+	protected final String TEXT_94 = NL + "\t\t\tboolean old";
+	protected final String TEXT_95 = "ESet = eVirtualIsSet(";
+	protected final String TEXT_96 = ");";
+	protected final String TEXT_97 = NL + "\t\t\tboolean old";
+	protected final String TEXT_98 = "ESet = (";
+	protected final String TEXT_99 = " & ";
+	protected final String TEXT_100 = "_ESETFLAG) != 0;";
+	protected final String TEXT_101 = NL + "\t\t\t";
+	protected final String TEXT_102 = " |= ";
+	protected final String TEXT_103 = "_ESETFLAG;";
+	protected final String TEXT_104 = NL + "\t\t\tboolean old";
+	protected final String TEXT_105 = "ESet = ";
+	protected final String TEXT_106 = "ESet;";
+	protected final String TEXT_107 = NL + "\t\t\t";
+	protected final String TEXT_108 = "ESet = true;";
+	protected final String TEXT_109 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";
+	protected final String TEXT_110 = "(this, ";
+	protected final String TEXT_111 = ".SET, ";
+	protected final String TEXT_112 = ", new";
+	protected final String TEXT_113 = ", new";
+	protected final String TEXT_114 = ", !old";
+	protected final String TEXT_115 = "ESet));";
+	protected final String TEXT_116 = NL + "\t\t}";
+	protected final String TEXT_117 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+	protected final String TEXT_118 = "(this, ";
+	protected final String TEXT_119 = ".SET, ";
+	protected final String TEXT_120 = ", new";
+	protected final String TEXT_121 = ", new";
+	protected final String TEXT_122 = "));";
+	protected final String TEXT_123 = NL + "\t\t";
+	protected final String TEXT_124 = " old";
+	protected final String TEXT_125 = " = (";
+	protected final String TEXT_126 = " & ";
+	protected final String TEXT_127 = "_EFLAG) != 0;";
+	protected final String TEXT_128 = NL + "\t\t";
+	protected final String TEXT_129 = " old";
+	protected final String TEXT_130 = " = ";
+	protected final String TEXT_131 = "_EFLAG_VALUES[(";
+	protected final String TEXT_132 = " & ";
+	protected final String TEXT_133 = "_EFLAG) >>> ";
+	protected final String TEXT_134 = "_EFLAG_OFFSET];";
+	protected final String TEXT_135 = NL + "\t\tif (new";
+	protected final String TEXT_136 = ") ";
+	protected final String TEXT_137 = " |= ";
+	protected final String TEXT_138 = "_EFLAG; else ";
+	protected final String TEXT_139 = " &= ~";
+	protected final String TEXT_140 = "_EFLAG;";
+	protected final String TEXT_141 = NL + "\t\tif (new";
+	protected final String TEXT_142 = " == null) new";
+	protected final String TEXT_143 = " = ";
+	protected final String TEXT_144 = "_EDEFAULT;" + NL + "\t\t";
+	protected final String TEXT_145 = " = ";
+	protected final String TEXT_146 = " & ~";
+	protected final String TEXT_147 = "_EFLAG | ";
+	protected final String TEXT_148 = "new";
+	protected final String TEXT_149 = ".ordinal()";
+	protected final String TEXT_150 = ".VALUES.indexOf(new";
+	protected final String TEXT_151 = ")";
+	protected final String TEXT_152 = " << ";
+	protected final String TEXT_153 = "_EFLAG_OFFSET;";
+	protected final String TEXT_154 = NL + "\t\t";
+	protected final String TEXT_155 = " old";
+	protected final String TEXT_156 = " = ";
+	protected final String TEXT_157 = ";";
+	protected final String TEXT_158 = NL + "\t\t";
+	protected final String TEXT_159 = " ";
+	protected final String TEXT_160 = " = new";
+	protected final String TEXT_161 = " == null ? ";
+	protected final String TEXT_162 = " : new";
+	protected final String TEXT_163 = ";";
+	protected final String TEXT_164 = NL + "\t\t";
+	protected final String TEXT_165 = " = new";
+	protected final String TEXT_166 = " == null ? ";
+	protected final String TEXT_167 = " : new";
+	protected final String TEXT_168 = ";";
+	protected final String TEXT_169 = NL + "\t\t";
+	protected final String TEXT_170 = " ";
+	protected final String TEXT_171 = " = ";
+	protected final String TEXT_172 = "new";
+	protected final String TEXT_173 = ";";
+	protected final String TEXT_174 = NL + "\t\t";
+	protected final String TEXT_175 = " = ";
+	protected final String TEXT_176 = "new";
+	protected final String TEXT_177 = ";";
+	protected final String TEXT_178 = NL + "\t\tObject old";
+	protected final String TEXT_179 = " = eVirtualSet(";
+	protected final String TEXT_180 = ", ";
+	protected final String TEXT_181 = ");";
+	protected final String TEXT_182 = NL + "\t\tboolean isSetChange = old";
+	protected final String TEXT_183 = " == EVIRTUAL_NO_VALUE;";
+	protected final String TEXT_184 = NL + "\t\tboolean old";
+	protected final String TEXT_185 = "ESet = (";
+	protected final String TEXT_186 = " & ";
+	protected final String TEXT_187 = "_ESETFLAG) != 0;";
+	protected final String TEXT_188 = NL + "\t\t";
+	protected final String TEXT_189 = " |= ";
+	protected final String TEXT_190 = "_ESETFLAG;";
+	protected final String TEXT_191 = NL + "\t\tboolean old";
+	protected final String TEXT_192 = "ESet = ";
+	protected final String TEXT_193 = "ESet;";
+	protected final String TEXT_194 = NL + "\t\t";
+	protected final String TEXT_195 = "ESet = true;";
+	protected final String TEXT_196 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+	protected final String TEXT_197 = "(this, ";
+	protected final String TEXT_198 = ".SET, ";
+	protected final String TEXT_199 = ", ";
+	protected final String TEXT_200 = "isSetChange ? ";
+	protected final String TEXT_201 = " : old";
+	protected final String TEXT_202 = "old";
+	protected final String TEXT_203 = ", ";
+	protected final String TEXT_204 = "new";
+	protected final String TEXT_205 = ", ";
+	protected final String TEXT_206 = "isSetChange";
+	protected final String TEXT_207 = "!old";
+	protected final String TEXT_208 = "ESet";
+	protected final String TEXT_209 = "));";
+	protected final String TEXT_210 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+	protected final String TEXT_211 = "(this, ";
+	protected final String TEXT_212 = ".SET, ";
+	protected final String TEXT_213 = ", ";
+	protected final String TEXT_214 = "old";
+	protected final String TEXT_215 = " == EVIRTUAL_NO_VALUE ? ";
+	protected final String TEXT_216 = " : old";
+	protected final String TEXT_217 = "old";
+	protected final String TEXT_218 = ", ";
+	protected final String TEXT_219 = "new";
+	protected final String TEXT_220 = "));";
+	protected final String TEXT_221 = NL;
+	protected final String TEXT_222 = NL + "\t\t((";
+	protected final String TEXT_223 = ".Internal)((";
+	protected final String TEXT_224 = ".Internal.Wrapper)get";
+	protected final String TEXT_225 = "()).featureMap()).set(";
+	protected final String TEXT_226 = ", ";
+	protected final String TEXT_227 = "new ";
+	protected final String TEXT_228 = "(";
+	protected final String TEXT_229 = "new";
+	protected final String TEXT_230 = ")";
+	protected final String TEXT_231 = ");";
+	protected final String TEXT_232 = NL + "\t\t((";
+	protected final String TEXT_233 = ".Internal)get";
+	protected final String TEXT_234 = "()).set(";
+	protected final String TEXT_235 = ", ";
+	protected final String TEXT_236 = "new ";
+	protected final String TEXT_237 = "(";
+	protected final String TEXT_238 = "new";
+	protected final String TEXT_239 = ")";
+	protected final String TEXT_240 = ");";
+	protected final String TEXT_241 = NL + "\t\t";
+	protected final String TEXT_242 = NL;
+	protected final String TEXT_243 = NL + "\t}" + NL;
+	protected final String TEXT_244 = NL;
+	protected final String TEXT_245 = NL;
+	protected final String TEXT_246 = NL;
+
+	public InterfacesetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_245);
+		stringBuffer.append(TEXT_246);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isInterface) {
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0yZT8GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/setGenFeature.javadoc.override.javajetinc
+		} else {
+			stringBuffer.append(TEXT_3);
+			if (isJDK50) { //Class/setGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_4);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0ysO4GJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+		}
+		if (!isImplementation) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_6);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_7);
+		} else {
+			GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genFeature.getAccessorName());
+			if (genClass.hasCollidingSetAccessorOperation(genFeature)) {
+				stringBuffer.append(TEXT_9);
+			}
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genFeature.getImportedType(genClass));
+			stringBuffer.append(TEXT_11);
+			stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName()
+					: setAccessorOperation.getGenParameters().get(0).getName());
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(TEXT_13);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.pre.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("setAccessorOperation", setAccessorOperation);
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0y1Y0GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			if (genModel.isDynamicDelegation()) {
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				if (genClass.hasStaticFeatures()) {
+					stringBuffer.append(TEXT_15);
+				}
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_17);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_18);
+					stringBuffer.append(genFeature.getObjectType(genClass));
+					stringBuffer.append(TEXT_19);
+				}
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(genFeature.getCapName());
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_21);
+				}
+				stringBuffer.append(TEXT_22);
+			} else if (genModel.isReflectiveDelegation()) {
+				stringBuffer.append(TEXT_23);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_24);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(genFeature.getObjectType(genClass));
+					stringBuffer.append(TEXT_26);
+				}
+				stringBuffer.append(TEXT_27);
+				stringBuffer.append(genFeature.getCapName());
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_28);
+				}
+				stringBuffer.append(TEXT_29);
+			} else if (genFeature.hasSettingDelegate()) {
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_31);
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_32);
+					stringBuffer.append(genFeature.getObjectType(genClass));
+					stringBuffer.append(TEXT_33);
+				}
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genFeature.getCapName());
+				if (!isJDK50 && genFeature.isPrimitiveType()) {
+					stringBuffer.append(TEXT_35);
+				}
+				stringBuffer.append(TEXT_36);
+			} else if (!genFeature.isVolatile()) {
+				if (genFeature.isContainer()) {
+					GenFeature reverseFeature = genFeature.getReverse();
+					GenClass targetClass = reverseFeature.getGenClass();
+					String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+							? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+					stringBuffer.append(TEXT_37);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_38);
+					stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+					stringBuffer.append(positiveOffsetCorrection);
+					stringBuffer.append(TEXT_39);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_40);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));
+					stringBuffer.append(TEXT_41);
+					stringBuffer.append(genFeature.getEObjectCast());
+					stringBuffer.append(TEXT_42);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_43);
+					stringBuffer.append(genModel.getImportedName("java.lang.IllegalArgumentException"));
+					stringBuffer.append(TEXT_44);
+					stringBuffer.append(genModel.getNonNLS());
+					stringBuffer.append(TEXT_45);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_47);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+					stringBuffer.append(TEXT_48);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_49);
+					stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+					stringBuffer.append(reverseOffsetCorrection);
+					stringBuffer.append(TEXT_50);
+					stringBuffer.append(targetClass.getRawImportedInterfaceName());
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_52);
+					stringBuffer.append(genFeature.getInternalTypeCast());
+					stringBuffer.append(TEXT_53);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_54);
+					if (!genModel.isSuppressNotification()) {
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+						stringBuffer.append(TEXT_56);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+						stringBuffer.append(TEXT_57);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_58);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_59);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_60);
+					}
+				} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_61);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_62);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_63);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_64);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_65);
+					}
+					stringBuffer.append(TEXT_66);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_67);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_68);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+					stringBuffer.append(TEXT_69);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_70);
+					if (!genFeature.isBidirectional()) {
+						stringBuffer.append(TEXT_71);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_72);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_73);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(negativeOffsetCorrection);
+						stringBuffer.append(TEXT_74);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_75);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_76);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_77);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(negativeOffsetCorrection);
+						stringBuffer.append(TEXT_78);
+					} else {
+						GenFeature reverseFeature = genFeature.getReverse();
+						GenClass targetClass = reverseFeature.getGenClass();
+						String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+								? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+						stringBuffer.append(TEXT_79);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_80);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_81);
+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+						stringBuffer.append(reverseOffsetCorrection);
+						stringBuffer.append(TEXT_82);
+						stringBuffer.append(targetClass.getRawImportedInterfaceName());
+						stringBuffer.append(TEXT_83);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_84);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_85);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_86);
+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+						stringBuffer.append(reverseOffsetCorrection);
+						stringBuffer.append(TEXT_87);
+						stringBuffer.append(targetClass.getRawImportedInterfaceName());
+						stringBuffer.append(TEXT_88);
+					}
+					stringBuffer.append(TEXT_89);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_90);
+					stringBuffer.append(genFeature.getInternalTypeCast());
+					stringBuffer.append(TEXT_91);
+					stringBuffer.append(genFeature.getCapName());
+					stringBuffer.append(TEXT_92);
+					if (genFeature.isUnsettable()) {
+						stringBuffer.append(TEXT_93);
+						if (genModel.isVirtualDelegation()) {
+							stringBuffer.append(TEXT_94);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_95);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_96);
+						} else if (genClass.isESetFlag(genFeature)) {
+							if (!genModel.isSuppressNotification()) {
+								stringBuffer.append(TEXT_97);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_98);
+								stringBuffer.append(genClass.getESetFlagsField(genFeature));
+								stringBuffer.append(TEXT_99);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_100);
+							}
+							stringBuffer.append(TEXT_101);
+							stringBuffer.append(genClass.getESetFlagsField(genFeature));
+							stringBuffer.append(TEXT_102);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_103);
+						} else {
+							if (!genModel.isSuppressNotification()) {
+								stringBuffer.append(TEXT_104);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_105);
+								stringBuffer.append(genFeature.getUncapName());
+								stringBuffer.append(TEXT_106);
+							}
+							stringBuffer.append(TEXT_107);
+							stringBuffer.append(genFeature.getUncapName());
+							stringBuffer.append(TEXT_108);
+						}
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_109);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_110);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_111);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_112);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_113);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_114);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_115);
+						}
+						stringBuffer.append(TEXT_116);
+					} else {
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_117);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_118);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_119);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_120);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_121);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_122);
+						}
+					}
+				} else {
+					if (genClass.isFlag(genFeature)) {
+						if (!genModel.isSuppressNotification()) {
+							if (genFeature.isBooleanType()) {
+								stringBuffer.append(TEXT_123);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_124);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_125);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_126);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_127);
+							} else {
+								stringBuffer.append(TEXT_128);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_129);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_130);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_131);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_132);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_133);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_134);
+							}
+						}
+						if (genFeature.isBooleanType()) {
+							stringBuffer.append(TEXT_135);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_136);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_137);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_138);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_139);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_140);
+						} else {
+							stringBuffer.append(TEXT_141);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_142);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_143);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_144);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_145);
+							stringBuffer.append(genClass.getFlagsField(genFeature));
+							stringBuffer.append(TEXT_146);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_147);
+							if (isJDK50) {
+								stringBuffer.append(TEXT_148);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_149);
+							} else {
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_150);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_151);
+							}
+							stringBuffer.append(TEXT_152);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_153);
+						}
+					} else {
+						if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
+							if (!genModel.isSuppressNotification()) {
+								stringBuffer.append(TEXT_154);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_155);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_156);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_157);
+							}
+						}
+						if (genFeature.isEnumType()) {
+							if (genModel.isVirtualDelegation()) {
+								stringBuffer.append(TEXT_158);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_159);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_160);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_161);
+								stringBuffer.append(genFeature.getEDefault());
+								stringBuffer.append(TEXT_162);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_163);
+							} else {
+								stringBuffer.append(TEXT_164);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_165);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_166);
+								stringBuffer.append(genFeature.getEDefault());
+								stringBuffer.append(TEXT_167);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_168);
+							}
+						} else {
+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_169);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_170);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_171);
+								stringBuffer.append(genFeature.getInternalTypeCast());
+								stringBuffer.append(TEXT_172);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_173);
+							} else {
+								stringBuffer.append(TEXT_174);
+								stringBuffer.append(genFeature.getSafeName());
+								stringBuffer.append(TEXT_175);
+								stringBuffer.append(genFeature.getInternalTypeCast());
+								stringBuffer.append(TEXT_176);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_177);
+							}
+						}
+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+							stringBuffer.append(TEXT_178);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_179);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_180);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_181);
+						}
+					}
+					if (genFeature.isUnsettable()) {
+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+							stringBuffer.append(TEXT_182);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_183);
+						} else if (genClass.isESetFlag(genFeature)) {
+							if (!genModel.isSuppressNotification()) {
+								stringBuffer.append(TEXT_184);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_185);
+								stringBuffer.append(genClass.getESetFlagsField(genFeature));
+								stringBuffer.append(TEXT_186);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_187);
+							}
+							stringBuffer.append(TEXT_188);
+							stringBuffer.append(genClass.getESetFlagsField(genFeature));
+							stringBuffer.append(TEXT_189);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_190);
+						} else {
+							if (!genModel.isSuppressNotification()) {
+								stringBuffer.append(TEXT_191);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_192);
+								stringBuffer.append(genFeature.getUncapName());
+								stringBuffer.append(TEXT_193);
+							}
+							stringBuffer.append(TEXT_194);
+							stringBuffer.append(genFeature.getUncapName());
+							stringBuffer.append(TEXT_195);
+						}
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_196);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_197);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_198);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_199);
+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_200);
+								stringBuffer.append(genFeature.getEDefault());
+								stringBuffer.append(TEXT_201);
+								stringBuffer.append(genFeature.getCapName());
+							} else {
+								stringBuffer.append(TEXT_202);
+								stringBuffer.append(genFeature.getCapName());
+							}
+							stringBuffer.append(TEXT_203);
+							if (genClass.isFlag(genFeature)) {
+								stringBuffer.append(TEXT_204);
+								stringBuffer.append(genFeature.getCapName());
+							} else {
+								stringBuffer.append(genFeature.getSafeName());
+							}
+							stringBuffer.append(TEXT_205);
+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_206);
+							} else {
+								stringBuffer.append(TEXT_207);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_208);
+							}
+							stringBuffer.append(TEXT_209);
+						}
+					} else {
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_210);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_211);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_212);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_213);
+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_214);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_215);
+								stringBuffer.append(genFeature.getEDefault());
+								stringBuffer.append(TEXT_216);
+								stringBuffer.append(genFeature.getCapName());
+							} else {
+								stringBuffer.append(TEXT_217);
+								stringBuffer.append(genFeature.getCapName());
+							}
+							stringBuffer.append(TEXT_218);
+							if (genClass.isFlag(genFeature)) {
+								stringBuffer.append(TEXT_219);
+								stringBuffer.append(genFeature.getCapName());
+							} else {
+								stringBuffer.append(genFeature.getSafeName());
+							}
+							stringBuffer.append(TEXT_220);
+						}
+					}
+				}
+				stringBuffer.append(TEXT_221);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.post.insert" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("setAccessorOperation", setAccessorOperation);
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0y_J0GJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			} else if (genFeature.hasDelegateFeature()) {
+				GenFeature delegateFeature = genFeature.getDelegateFeature();
+				if (delegateFeature.isWrappedFeatureMapType()) {
+					stringBuffer.append(TEXT_222);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_223);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_224);
+					stringBuffer.append(delegateFeature.getAccessorName());
+					stringBuffer.append(TEXT_225);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_226);
+					if (!isJDK50 && genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_227);
+						stringBuffer.append(genFeature.getObjectType(genClass));
+						stringBuffer.append(TEXT_228);
+					}
+					stringBuffer.append(TEXT_229);
+					stringBuffer.append(genFeature.getCapName());
+					if (!isJDK50 && genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_230);
+					}
+					stringBuffer.append(TEXT_231);
+				} else {
+					stringBuffer.append(TEXT_232);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_233);
+					stringBuffer.append(delegateFeature.getAccessorName());
+					stringBuffer.append(TEXT_234);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_235);
+					if (!isJDK50 && genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_236);
+						stringBuffer.append(genFeature.getObjectType(genClass));
+						stringBuffer.append(TEXT_237);
+					}
+					stringBuffer.append(TEXT_238);
+					stringBuffer.append(genFeature.getCapName());
+					if (!isJDK50 && genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_239);
+					}
+					stringBuffer.append(TEXT_240);
+				}
+			} else if (setAccessorOperation != null) {
+				stringBuffer.append(TEXT_241);
+				stringBuffer.append(setAccessorOperation.getBody(genModel.getIndentation(stringBuffer)));
+			} else {
+				stringBuffer.append(TEXT_242);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.setGenFeature.TODO.override" args="setAccessorOperation:setAccessorOperation,genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("setAccessorOperation", setAccessorOperation);
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0y_J5WJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//Class/setGenFeature.todo.override.javajetinc
+			}
+			stringBuffer.append(TEXT_243);
+		}
+		stringBuffer.append(TEXT_244);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepostinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepostinsert.java
index e92edf5..c8242bd 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepostinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepostinsert.java
@@ -1,290 +1,290 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacesetGenFeaturepostinsert {

-	protected static String nl;

-

-	public static synchronized InterfacesetGenFeaturepostinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacesetGenFeaturepostinsert result = new InterfacesetGenFeaturepostinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacesetGenFeaturepostinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> setAccessorOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object setAccessorOperationParameter : setAccessorOperationList) {

-			for (Object genFeatureParameter : genFeatureList) {

-				for (Object genClassParameter : genClassList) {

-					for (Object genPackageParameter : genPackageList) {

-						for (Object genModelParameter : genModelList) {

-							for (Object isJDK50Parameter : isJDK50List) {

-								for (Object isInterfaceParameter : isInterfaceList) {

-									for (Object isImplementationParameter : isImplementationList) {

-										for (Object isGWTParameter : isGWTList) {

-											for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-												for (Object singleWildcardParameter : singleWildcardList) {

-													for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-														for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-															for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-																for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																	this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;

-																	this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																	this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																	this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																	this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																	this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																	this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																	this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																	this.isGWT = (java.lang.Boolean) isGWTParameter;

-																	this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																	this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																	this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																	this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																	this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																	this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																	if (preCondition(ctx)) {

-																		ctx.setNode(new Node.Container(currentNode,

-																				getClass()));

-																		orchestration(ctx);

-																	}

-

-																}

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("setAccessorOperation", this.setAccessorOperation);

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;

-

-	public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.setAccessorOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("setAccessorOperation", this.setAccessorOperation);

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeaturepostinsert {
+	protected static String nl;
+
+	public static synchronized InterfacesetGenFeaturepostinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacesetGenFeaturepostinsert result = new InterfacesetGenFeaturepostinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacesetGenFeaturepostinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> setAccessorOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object setAccessorOperationParameter : setAccessorOperationList) {
+			for (Object genFeatureParameter : genFeatureList) {
+				for (Object genClassParameter : genClassList) {
+					for (Object genPackageParameter : genPackageList) {
+						for (Object genModelParameter : genModelList) {
+							for (Object isJDK50Parameter : isJDK50List) {
+								for (Object isInterfaceParameter : isInterfaceList) {
+									for (Object isImplementationParameter : isImplementationList) {
+										for (Object isGWTParameter : isGWTList) {
+											for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+												for (Object singleWildcardParameter : singleWildcardList) {
+													for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+														for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+															for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+																for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																	this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+																	this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																	this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																	this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																	this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																	this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																	this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																	this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																	this.isGWT = (java.lang.Boolean) isGWTParameter;
+																	this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																	this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																	this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																	this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																	this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																	this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																	if (preCondition(ctx)) {
+																		ctx.setNode(new Node.Container(currentNode,
+																				getClass()));
+																		orchestration(ctx);
+																	}
+
+																}
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+	public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.setAccessorOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("setAccessorOperation", this.setAccessorOperation);
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepreinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepreinsert.java
index 17c6cf1..e31ea6b 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepreinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfacesetGenFeaturepreinsert.java
@@ -1,290 +1,290 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfacesetGenFeaturepreinsert {

-	protected static String nl;

-

-	public static synchronized InterfacesetGenFeaturepreinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfacesetGenFeaturepreinsert result = new InterfacesetGenFeaturepreinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfacesetGenFeaturepreinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> setAccessorOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object setAccessorOperationParameter : setAccessorOperationList) {

-			for (Object genFeatureParameter : genFeatureList) {

-				for (Object genClassParameter : genClassList) {

-					for (Object genPackageParameter : genPackageList) {

-						for (Object genModelParameter : genModelList) {

-							for (Object isJDK50Parameter : isJDK50List) {

-								for (Object isInterfaceParameter : isInterfaceList) {

-									for (Object isImplementationParameter : isImplementationList) {

-										for (Object isGWTParameter : isGWTList) {

-											for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-												for (Object singleWildcardParameter : singleWildcardList) {

-													for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-														for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-															for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-																for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																	this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;

-																	this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																	this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																	this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																	this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																	this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																	this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																	this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																	this.isGWT = (java.lang.Boolean) isGWTParameter;

-																	this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																	this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																	this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																	this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																	this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																	this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																	if (preCondition(ctx)) {

-																		ctx.setNode(new Node.Container(currentNode,

-																				getClass()));

-																		orchestration(ctx);

-																	}

-

-																}

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("setAccessorOperation", this.setAccessorOperation);

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;

-

-	public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.setAccessorOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("setAccessorOperation", this.setAccessorOperation);

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfacesetGenFeaturepreinsert {
+	protected static String nl;
+
+	public static synchronized InterfacesetGenFeaturepreinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfacesetGenFeaturepreinsert result = new InterfacesetGenFeaturepreinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfacesetGenFeaturepreinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> setAccessorOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object setAccessorOperationParameter : setAccessorOperationList) {
+			for (Object genFeatureParameter : genFeatureList) {
+				for (Object genClassParameter : genClassList) {
+					for (Object genPackageParameter : genPackageList) {
+						for (Object genModelParameter : genModelList) {
+							for (Object isJDK50Parameter : isJDK50List) {
+								for (Object isInterfaceParameter : isInterfaceList) {
+									for (Object isImplementationParameter : isImplementationList) {
+										for (Object isGWTParameter : isGWTList) {
+											for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+												for (Object singleWildcardParameter : singleWildcardList) {
+													for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+														for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+															for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+																for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																	this.setAccessorOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) setAccessorOperationParameter;
+																	this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																	this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																	this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																	this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																	this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																	this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																	this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																	this.isGWT = (java.lang.Boolean) isGWTParameter;
+																	this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																	this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																	this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																	this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																	this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																	this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																	if (preCondition(ctx)) {
+																		ctx.setNode(new Node.Container(currentNode,
+																				getClass()));
+																		orchestration(ctx);
+																	}
+
+																}
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("setAccessorOperation", this.setAccessorOperation);
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation setAccessorOperation = null;
+
+	public void set_setAccessorOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.setAccessorOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("setAccessorOperation", this.setAccessorOperation);
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureTODOoverride.java
index cafea02..901a207 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureTODOoverride.java
@@ -1,286 +1,286 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceunsetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized InterfaceunsetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceunsetGenFeatureTODOoverride result = new InterfaceunsetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to unset the '";

-	protected final String TEXT_2 = "' ";

-	protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL

-			+ "\t\tthrow new UnsupportedOperationException();" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public InterfaceunsetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceunsetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized InterfaceunsetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceunsetGenFeatureTODOoverride result = new InterfaceunsetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this method to unset the '";
+	protected final String TEXT_2 = "' ";
+	protected final String TEXT_3 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL
+			+ "\t\tthrow new UnsupportedOperationException();" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public InterfaceunsetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureannotationsinsert.java
index 9655a31..75c67ae 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureannotationsinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceunsetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized InterfaceunsetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceunsetGenFeatureannotationsinsert result = new InterfaceunsetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfaceunsetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceunsetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized InterfaceunsetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceunsetGenFeatureannotationsinsert result = new InterfaceunsetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfaceunsetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocinsert.java
index c10797e..d2e56d6 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocinsert.java
@@ -1,277 +1,277 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceunsetGenFeaturejavadocinsert {

-	protected static String nl;

-

-	public static synchronized InterfaceunsetGenFeaturejavadocinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceunsetGenFeaturejavadocinsert result = new InterfaceunsetGenFeaturejavadocinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public InterfaceunsetGenFeaturejavadocinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceunsetGenFeaturejavadocinsert {
+	protected static String nl;
+
+	public static synchronized InterfaceunsetGenFeaturejavadocinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceunsetGenFeaturejavadocinsert result = new InterfaceunsetGenFeaturejavadocinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public InterfaceunsetGenFeaturejavadocinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocoverride.java
index 0f81f37..0854e13 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeaturejavadocoverride.java
@@ -1,347 +1,347 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceunsetGenFeaturejavadocoverride {

-	protected static String nl;

-

-	public static synchronized InterfaceunsetGenFeaturejavadocoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceunsetGenFeaturejavadocoverride result = new InterfaceunsetGenFeaturejavadocoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Unsets the value of the '{@link ";

-	protected final String TEXT_2 = "#";

-	protected final String TEXT_3 = " <em>";

-	protected final String TEXT_4 = "</em>}' ";

-	protected final String TEXT_5 = ".";

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";

-	protected final String TEXT_8 = NL + "\t * @see #isSet";

-	protected final String TEXT_9 = "()";

-	protected final String TEXT_10 = NL + "\t * @see #";

-	protected final String TEXT_11 = "()";

-	protected final String TEXT_12 = NL + "\t * @see #set";

-	protected final String TEXT_13 = "(";

-	protected final String TEXT_14 = ")";

-	protected final String TEXT_15 = NL + "\t * @generated" + NL + "\t */" + NL;

-	protected final String TEXT_16 = NL;

-	protected final String TEXT_17 = NL;

-

-	public InterfaceunsetGenFeaturejavadocoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_16);

-		stringBuffer.append(TEXT_17);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genClass.getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getFeatureKind());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(TEXT_6);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			callParameters.put("isJDK50", isJDK50);

-			callParameters.put("isInterface", isInterface);

-			callParameters.put("isImplementation", isImplementation);

-			callParameters.put("isGWT", isGWT);

-			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-			callParameters.put("singleWildcard", singleWildcard);

-			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00LcoGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_7);

-		if (!genFeature.isSuppressedIsSetVisibility()) {

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_9);

-		}

-		stringBuffer.append(TEXT_10);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_11);

-		if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(genFeature.getRawImportedBoundType());

-			stringBuffer.append(TEXT_14);

-		}

-		stringBuffer.append(TEXT_15);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceunsetGenFeaturejavadocoverride {
+	protected static String nl;
+
+	public static synchronized InterfaceunsetGenFeaturejavadocoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceunsetGenFeaturejavadocoverride result = new InterfaceunsetGenFeaturejavadocoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t/**" + NL + "\t * Unsets the value of the '{@link ";
+	protected final String TEXT_2 = "#";
+	protected final String TEXT_3 = " <em>";
+	protected final String TEXT_4 = "</em>}' ";
+	protected final String TEXT_5 = ".";
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+	protected final String TEXT_8 = NL + "\t * @see #isSet";
+	protected final String TEXT_9 = "()";
+	protected final String TEXT_10 = NL + "\t * @see #";
+	protected final String TEXT_11 = "()";
+	protected final String TEXT_12 = NL + "\t * @see #set";
+	protected final String TEXT_13 = "(";
+	protected final String TEXT_14 = ")";
+	protected final String TEXT_15 = NL + "\t * @generated" + NL + "\t */" + NL;
+	protected final String TEXT_16 = NL;
+	protected final String TEXT_17 = NL;
+
+	public InterfaceunsetGenFeaturejavadocoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_16);
+		stringBuffer.append(TEXT_17);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genClass.getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getFeatureKind());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(TEXT_6);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.javadoc.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			callParameters.put("isJDK50", isJDK50);
+			callParameters.put("isInterface", isInterface);
+			callParameters.put("isImplementation", isImplementation);
+			callParameters.put("isGWT", isGWT);
+			callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+			callParameters.put("singleWildcard", singleWildcard);
+			callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+			callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+			callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+			callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00LcoGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_7);
+		if (!genFeature.isSuppressedIsSetVisibility()) {
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_9);
+		}
+		stringBuffer.append(TEXT_10);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_11);
+		if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(genFeature.getRawImportedBoundType());
+			stringBuffer.append(TEXT_14);
+		}
+		stringBuffer.append(TEXT_15);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureoverride.java
index d480e5e..75e4b5a 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/Interface/InterfaceunsetGenFeatureoverride.java
@@ -1,901 +1,899 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.Interface;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class InterfaceunsetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized InterfaceunsetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		InterfaceunsetGenFeatureoverride result = new InterfaceunsetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL + "\tvoid unset";

-	protected final String TEXT_6 = "();" + NL;

-	protected final String TEXT_7 = NL + "\tpublic void unset";

-	protected final String TEXT_8 = "_";

-	protected final String TEXT_9 = "()" + NL + "\t{";

-	protected final String TEXT_10 = NL + "\t\teDynamicUnset(";

-	protected final String TEXT_11 = " - ESTATIC_FEATURE_COUNT";

-	protected final String TEXT_12 = ", ";

-	protected final String TEXT_13 = ");";

-	protected final String TEXT_14 = NL + "\t\teUnset(";

-	protected final String TEXT_15 = ");";

-	protected final String TEXT_16 = NL + "\t\t";

-	protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";

-	protected final String TEXT_18 = NL + "\t\t";

-	protected final String TEXT_19 = " ";

-	protected final String TEXT_20 = " = (";

-	protected final String TEXT_21 = ")eVirtualGet(";

-	protected final String TEXT_22 = ");";

-	protected final String TEXT_23 = NL + "\t\tif (";

-	protected final String TEXT_24 = " != null) ((";

-	protected final String TEXT_25 = ".Unsettable";

-	protected final String TEXT_26 = ")";

-	protected final String TEXT_27 = ").unset();";

-	protected final String TEXT_28 = NL + "\t\t";

-	protected final String TEXT_29 = " ";

-	protected final String TEXT_30 = " = (";

-	protected final String TEXT_31 = ")eVirtualGet(";

-	protected final String TEXT_32 = ");";

-	protected final String TEXT_33 = NL + "\t\tif (";

-	protected final String TEXT_34 = " != null)" + NL + "\t\t{" + NL + "\t\t\t";

-	protected final String TEXT_35 = " msgs = null;";

-	protected final String TEXT_36 = NL + "\t\t\tmsgs = ((";

-	protected final String TEXT_37 = ")";

-	protected final String TEXT_38 = ").eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";

-	protected final String TEXT_39 = ", null, msgs);";

-	protected final String TEXT_40 = NL + "\t\t\tmsgs = ((";

-	protected final String TEXT_41 = ")";

-	protected final String TEXT_42 = ").eInverseRemove(this, ";

-	protected final String TEXT_43 = ", ";

-	protected final String TEXT_44 = ".class, msgs);";

-	protected final String TEXT_45 = NL + "\t\t\tmsgs = basicUnset";

-	protected final String TEXT_46 = "(msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}" + NL

-			+ "\t\telse" + NL + "\t\t{";

-	protected final String TEXT_47 = NL + "\t\t\tboolean old";

-	protected final String TEXT_48 = "ESet = eVirtualIsSet(";

-	protected final String TEXT_49 = ");";

-	protected final String TEXT_50 = NL + "\t\t\tboolean old";

-	protected final String TEXT_51 = "ESet = (";

-	protected final String TEXT_52 = " & ";

-	protected final String TEXT_53 = "_ESETFLAG) != 0;";

-	protected final String TEXT_54 = NL + "\t\t\t";

-	protected final String TEXT_55 = " &= ~";

-	protected final String TEXT_56 = "_ESETFLAG;";

-	protected final String TEXT_57 = NL + "\t\t\tboolean old";

-	protected final String TEXT_58 = "ESet = ";

-	protected final String TEXT_59 = "ESet;";

-	protected final String TEXT_60 = NL + "\t\t\t";

-	protected final String TEXT_61 = "ESet = false;";

-	protected final String TEXT_62 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";

-	protected final String TEXT_63 = "(this, ";

-	protected final String TEXT_64 = ".UNSET, ";

-	protected final String TEXT_65 = ", null, null, old";

-	protected final String TEXT_66 = "ESet));";

-	protected final String TEXT_67 = NL + "\t\t}";

-	protected final String TEXT_68 = NL + "\t\t";

-	protected final String TEXT_69 = " old";

-	protected final String TEXT_70 = " = (";

-	protected final String TEXT_71 = " & ";

-	protected final String TEXT_72 = "_EFLAG) != 0;";

-	protected final String TEXT_73 = NL + "\t\t";

-	protected final String TEXT_74 = " old";

-	protected final String TEXT_75 = " = ";

-	protected final String TEXT_76 = "_EFLAG_VALUES[(";

-	protected final String TEXT_77 = " & ";

-	protected final String TEXT_78 = "_EFLAG) >>> ";

-	protected final String TEXT_79 = "_EFLAG_OFFSET];";

-	protected final String TEXT_80 = NL + "\t\tObject old";

-	protected final String TEXT_81 = " = eVirtualUnset(";

-	protected final String TEXT_82 = ");";

-	protected final String TEXT_83 = NL + "\t\t";

-	protected final String TEXT_84 = " old";

-	protected final String TEXT_85 = " = ";

-	protected final String TEXT_86 = ";";

-	protected final String TEXT_87 = NL + "\t\tboolean isSetChange = old";

-	protected final String TEXT_88 = " != EVIRTUAL_NO_VALUE;";

-	protected final String TEXT_89 = NL + "\t\tboolean old";

-	protected final String TEXT_90 = "ESet = (";

-	protected final String TEXT_91 = " & ";

-	protected final String TEXT_92 = "_ESETFLAG) != 0;";

-	protected final String TEXT_93 = NL + "\t\tboolean old";

-	protected final String TEXT_94 = "ESet = ";

-	protected final String TEXT_95 = "ESet;";

-	protected final String TEXT_96 = NL + "\t\t";

-	protected final String TEXT_97 = " = null;";

-	protected final String TEXT_98 = NL + "\t\t";

-	protected final String TEXT_99 = " &= ~";

-	protected final String TEXT_100 = "_ESETFLAG;";

-	protected final String TEXT_101 = NL + "\t\t";

-	protected final String TEXT_102 = "ESet = false;";

-	protected final String TEXT_103 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

-	protected final String TEXT_104 = "(this, ";

-	protected final String TEXT_105 = ".UNSET, ";

-	protected final String TEXT_106 = ", ";

-	protected final String TEXT_107 = "isSetChange ? old";

-	protected final String TEXT_108 = " : null";

-	protected final String TEXT_109 = "old";

-	protected final String TEXT_110 = ", null, ";

-	protected final String TEXT_111 = "isSetChange";

-	protected final String TEXT_112 = "old";

-	protected final String TEXT_113 = "ESet";

-	protected final String TEXT_114 = "));";

-	protected final String TEXT_115 = NL + "\t\tif (";

-	protected final String TEXT_116 = ") ";

-	protected final String TEXT_117 = " |= ";

-	protected final String TEXT_118 = "_EFLAG; else ";

-	protected final String TEXT_119 = " &= ~";

-	protected final String TEXT_120 = "_EFLAG;";

-	protected final String TEXT_121 = NL + "\t\t";

-	protected final String TEXT_122 = " = ";

-	protected final String TEXT_123 = " & ~";

-	protected final String TEXT_124 = "_EFLAG | ";

-	protected final String TEXT_125 = "_EFLAG_DEFAULT;";

-	protected final String TEXT_126 = NL + "\t\t";

-	protected final String TEXT_127 = " = ";

-	protected final String TEXT_128 = ";";

-	protected final String TEXT_129 = NL + "\t\t";

-	protected final String TEXT_130 = " &= ~";

-	protected final String TEXT_131 = "_ESETFLAG;";

-	protected final String TEXT_132 = NL + "\t\t";

-	protected final String TEXT_133 = "ESet = false;";

-	protected final String TEXT_134 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";

-	protected final String TEXT_135 = "(this, ";

-	protected final String TEXT_136 = ".UNSET, ";

-	protected final String TEXT_137 = ", ";

-	protected final String TEXT_138 = "isSetChange ? old";

-	protected final String TEXT_139 = " : ";

-	protected final String TEXT_140 = "old";

-	protected final String TEXT_141 = ", ";

-	protected final String TEXT_142 = ", ";

-	protected final String TEXT_143 = "isSetChange";

-	protected final String TEXT_144 = "old";

-	protected final String TEXT_145 = "ESet";

-	protected final String TEXT_146 = "));";

-	protected final String TEXT_147 = NL + "\t\t((";

-	protected final String TEXT_148 = ".Internal)((";

-	protected final String TEXT_149 = ".Internal.Wrapper)get";

-	protected final String TEXT_150 = "()).featureMap()).clear(";

-	protected final String TEXT_151 = ");";

-	protected final String TEXT_152 = NL + "\t\t((";

-	protected final String TEXT_153 = ".Internal)get";

-	protected final String TEXT_154 = "()).clear(";

-	protected final String TEXT_155 = ");";

-	protected final String TEXT_156 = NL + "\t\t";

-	protected final String TEXT_157 = NL;

-	protected final String TEXT_158 = NL + "\t}" + NL;

-	protected final String TEXT_159 = NL;

-	protected final String TEXT_160 = NL;

-	protected final String TEXT_161 = NL;

-

-	public InterfaceunsetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isJDK50List = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isInterfaceList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isImplementationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> isGWTList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> publicStaticFinalFlagList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> negativeOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> positiveOperationOffsetCorrectionList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-						for (Object isJDK50Parameter : isJDK50List) {

-							for (Object isInterfaceParameter : isInterfaceList) {

-								for (Object isImplementationParameter : isImplementationList) {

-									for (Object isGWTParameter : isGWTList) {

-										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {

-											for (Object singleWildcardParameter : singleWildcardList) {

-												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {

-													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {

-														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {

-															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {

-

-																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;

-																this.isInterface = (java.lang.Boolean) isInterfaceParameter;

-																this.isImplementation = (java.lang.Boolean) isImplementationParameter;

-																this.isGWT = (java.lang.Boolean) isGWTParameter;

-																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;

-																this.singleWildcard = (java.lang.String) singleWildcardParameter;

-																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;

-																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;

-																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;

-																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;

-

-																if (preCondition(ctx)) {

-																	ctx.setNode(new Node.Container(currentNode,

-																			getClass()));

-																	orchestration(ctx);

-																}

-

-															}

-														}

-													}

-												}

-											}

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_160);

-		stringBuffer.append(TEXT_161);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("isJDK50", this.isJDK50);

-			parameterValues.put("isInterface", this.isInterface);

-			parameterValues.put("isImplementation", this.isImplementation);

-			parameterValues.put("isGWT", this.isGWT);

-			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.Boolean isJDK50 = null;

-

-	public void set_isJDK50(java.lang.Boolean object) {

-		this.isJDK50 = object;

-	}

-

-	protected java.lang.Boolean isInterface = null;

-

-	public void set_isInterface(java.lang.Boolean object) {

-		this.isInterface = object;

-	}

-

-	protected java.lang.Boolean isImplementation = null;

-

-	public void set_isImplementation(java.lang.Boolean object) {

-		this.isImplementation = object;

-	}

-

-	protected java.lang.Boolean isGWT = null;

-

-	public void set_isGWT(java.lang.Boolean object) {

-		this.isGWT = object;

-	}

-

-	protected java.lang.String publicStaticFinalFlag = null;

-

-	public void set_publicStaticFinalFlag(java.lang.String object) {

-		this.publicStaticFinalFlag = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String negativeOffsetCorrection = null;

-

-	public void set_negativeOffsetCorrection(java.lang.String object) {

-		this.negativeOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOffsetCorrection = null;

-

-	public void set_positiveOffsetCorrection(java.lang.String object) {

-		this.positiveOffsetCorrection = object;

-	}

-

-	protected java.lang.String negativeOperationOffsetCorrection = null;

-

-	public void set_negativeOperationOffsetCorrection(java.lang.String object) {

-		this.negativeOperationOffsetCorrection = object;

-	}

-

-	protected java.lang.String positiveOperationOffsetCorrection = null;

-

-	public void set_positiveOperationOffsetCorrection(java.lang.String object) {

-		this.positiveOperationOffsetCorrection = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("isJDK50", this.isJDK50);

-		parameters.put("isInterface", this.isInterface);

-		parameters.put("isImplementation", this.isImplementation);

-		parameters.put("isGWT", this.isGWT);

-		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);

-		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);

-		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);

-		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (isInterface) {

-			stringBuffer.append(TEXT_2);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				callParameters.put("isJDK50", isJDK50);

-				callParameters.put("isInterface", isInterface);

-				callParameters.put("isImplementation", isImplementation);

-				callParameters.put("isGWT", isGWT);

-				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-				callParameters.put("singleWildcard", singleWildcard);

-				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00BroGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//Class/unsetGenFeature.javadoc.override.javajetinc

-		} else {

-			stringBuffer.append(TEXT_3);

-			if (isJDK50) { //Class/unsetGenFeature.annotations.insert.javajetinc

-				stringBuffer.append(TEXT_4);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00VNoGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-			}

-		}

-		if (!isImplementation) {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genFeature.getAccessorName());

-			stringBuffer.append(TEXT_6);

-		} else {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(genFeature.getAccessorName());

-			if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {

-				stringBuffer.append(TEXT_8);

-			}

-			stringBuffer.append(TEXT_9);

-			if (genModel.isDynamicDelegation()) {

-				stringBuffer.append(TEXT_10);

-				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-				if (genClass.hasStaticFeatures()) {

-					stringBuffer.append(TEXT_11);

-				}

-				stringBuffer.append(TEXT_12);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_13);

-			} else if (genModel.isReflectiveDelegation()) {

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-				stringBuffer.append(TEXT_15);

-			} else if (genFeature.hasSettingDelegate()) {

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genFeature.getUpperName());

-				stringBuffer.append(TEXT_17);

-			} else if (!genFeature.isVolatile()) {

-				if (genFeature.isListType()) {

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_18);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_19);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_20);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_21);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_22);

-					}

-					stringBuffer.append(TEXT_23);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_24);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));

-					stringBuffer.append(TEXT_25);

-					stringBuffer.append(singleWildcard);

-					stringBuffer.append(TEXT_26);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_27);

-				} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_28);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_29);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_30);

-						stringBuffer.append(genFeature.getImportedType(genClass));

-						stringBuffer.append(TEXT_31);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_32);

-					}

-					stringBuffer.append(TEXT_33);

-					stringBuffer.append(genFeature.getSafeName());

-					stringBuffer.append(TEXT_34);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));

-					stringBuffer.append(TEXT_35);

-					if (!genFeature.isBidirectional()) {

-						stringBuffer.append(TEXT_36);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_37);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_38);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(negativeOffsetCorrection);

-						stringBuffer.append(TEXT_39);

-					} else {

-						GenFeature reverseFeature = genFeature.getReverse();

-						GenClass targetClass = reverseFeature.getGenClass();

-						String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + "

-								+ genClass.getOffsetCorrectionField(genFeature) : "";

-						stringBuffer.append(TEXT_40);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));

-						stringBuffer.append(TEXT_41);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_42);

-						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));

-						stringBuffer.append(reverseOffsetCorrection);

-						stringBuffer.append(TEXT_43);

-						stringBuffer.append(targetClass.getRawImportedInterfaceName());

-						stringBuffer.append(TEXT_44);

-					}

-					stringBuffer.append(TEXT_45);

-					stringBuffer.append(genFeature.getAccessorName());

-					stringBuffer.append(TEXT_46);

-					if (genModel.isVirtualDelegation()) {

-						stringBuffer.append(TEXT_47);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_48);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_49);

-					} else if (genClass.isESetFlag(genFeature)) {

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_50);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_51);

-							stringBuffer.append(genClass.getESetFlagsField(genFeature));

-							stringBuffer.append(TEXT_52);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_53);

-						}

-						stringBuffer.append(TEXT_54);

-						stringBuffer.append(genClass.getESetFlagsField(genFeature));

-						stringBuffer.append(TEXT_55);

-						stringBuffer.append(genFeature.getUpperName());

-						stringBuffer.append(TEXT_56);

-					} else {

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_57);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_58);

-							stringBuffer.append(genFeature.getUncapName());

-							stringBuffer.append(TEXT_59);

-						}

-						stringBuffer.append(TEXT_60);

-						stringBuffer.append(genFeature.getUncapName());

-						stringBuffer.append(TEXT_61);

-					}

-					if (!genModel.isSuppressNotification()) {

-						stringBuffer.append(TEXT_62);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-						stringBuffer.append(TEXT_63);

-						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-						stringBuffer.append(TEXT_64);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_65);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_66);

-					}

-					stringBuffer.append(TEXT_67);

-				} else {

-					if (genClass.isFlag(genFeature)) {

-						if (!genModel.isSuppressNotification()) {

-							if (genFeature.isBooleanType()) {

-								stringBuffer.append(TEXT_68);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_69);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_70);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_71);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_72);

-							} else {

-								stringBuffer.append(TEXT_73);

-								stringBuffer.append(genFeature.getImportedType(genClass));

-								stringBuffer.append(TEXT_74);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_75);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_76);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_77);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_78);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_79);

-							}

-						}

-					} else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-						stringBuffer.append(TEXT_80);

-						stringBuffer.append(genFeature.getCapName());

-						stringBuffer.append(TEXT_81);

-						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-						stringBuffer.append(positiveOffsetCorrection);

-						stringBuffer.append(TEXT_82);

-					} else {

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_83);

-							stringBuffer.append(genFeature.getImportedType(genClass));

-							stringBuffer.append(TEXT_84);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_85);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_86);

-						}

-					}

-					if (!genModel.isSuppressNotification()) {

-						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-							stringBuffer.append(TEXT_87);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_88);

-						} else if (genClass.isESetFlag(genFeature)) {

-							stringBuffer.append(TEXT_89);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_90);

-							stringBuffer.append(genClass.getESetFlagsField(genFeature));

-							stringBuffer.append(TEXT_91);

-							stringBuffer.append(genFeature.getUpperName());

-							stringBuffer.append(TEXT_92);

-						} else {

-							stringBuffer.append(TEXT_93);

-							stringBuffer.append(genFeature.getCapName());

-							stringBuffer.append(TEXT_94);

-							stringBuffer.append(genFeature.getUncapName());

-							stringBuffer.append(TEXT_95);

-						}

-					}

-					if (genFeature.isReferenceType()) {

-						stringBuffer.append(TEXT_96);

-						stringBuffer.append(genFeature.getSafeName());

-						stringBuffer.append(TEXT_97);

-						if (!genModel.isVirtualDelegation()) {

-							if (genClass.isESetFlag(genFeature)) {

-								stringBuffer.append(TEXT_98);

-								stringBuffer.append(genClass.getESetFlagsField(genFeature));

-								stringBuffer.append(TEXT_99);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_100);

-							} else {

-								stringBuffer.append(TEXT_101);

-								stringBuffer.append(genFeature.getUncapName());

-								stringBuffer.append(TEXT_102);

-							}

-						}

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_103);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_104);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_105);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_106);

-							if (genModel.isVirtualDelegation()) {

-								stringBuffer.append(TEXT_107);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_108);

-							} else {

-								stringBuffer.append(TEXT_109);

-								stringBuffer.append(genFeature.getCapName());

-							}

-							stringBuffer.append(TEXT_110);

-							if (genModel.isVirtualDelegation()) {

-								stringBuffer.append(TEXT_111);

-							} else {

-								stringBuffer.append(TEXT_112);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_113);

-							}

-							stringBuffer.append(TEXT_114);

-						}

-					} else {

-						if (genClass.isFlag(genFeature)) {

-							if (genFeature.isBooleanType()) {

-								stringBuffer.append(TEXT_115);

-								stringBuffer.append(genFeature.getEDefault());

-								stringBuffer.append(TEXT_116);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_117);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_118);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_119);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_120);

-							} else {

-								stringBuffer.append(TEXT_121);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_122);

-								stringBuffer.append(genClass.getFlagsField(genFeature));

-								stringBuffer.append(TEXT_123);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_124);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_125);

-							}

-						} else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {

-							stringBuffer.append(TEXT_126);

-							stringBuffer.append(genFeature.getSafeName());

-							stringBuffer.append(TEXT_127);

-							stringBuffer.append(genFeature.getEDefault());

-							stringBuffer.append(TEXT_128);

-						}

-						if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {

-							if (genClass.isESetFlag(genFeature)) {

-								stringBuffer.append(TEXT_129);

-								stringBuffer.append(genClass.getESetFlagsField(genFeature));

-								stringBuffer.append(TEXT_130);

-								stringBuffer.append(genFeature.getUpperName());

-								stringBuffer.append(TEXT_131);

-							} else {

-								stringBuffer.append(TEXT_132);

-								stringBuffer.append(genFeature.getUncapName());

-								stringBuffer.append(TEXT_133);

-							}

-						}

-						if (!genModel.isSuppressNotification()) {

-							stringBuffer.append(TEXT_134);

-							stringBuffer.append(genModel

-									.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));

-							stringBuffer.append(TEXT_135);

-							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));

-							stringBuffer.append(TEXT_136);

-							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));

-							stringBuffer.append(positiveOffsetCorrection);

-							stringBuffer.append(TEXT_137);

-							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_138);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_139);

-								stringBuffer.append(genFeature.getEDefault());

-							} else {

-								stringBuffer.append(TEXT_140);

-								stringBuffer.append(genFeature.getCapName());

-							}

-							stringBuffer.append(TEXT_141);

-							stringBuffer.append(genFeature.getEDefault());

-							stringBuffer.append(TEXT_142);

-							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {

-								stringBuffer.append(TEXT_143);

-							} else {

-								stringBuffer.append(TEXT_144);

-								stringBuffer.append(genFeature.getCapName());

-								stringBuffer.append(TEXT_145);

-							}

-							stringBuffer.append(TEXT_146);

-						}

-					}

-				}

-			} else if (genFeature.hasDelegateFeature()) {

-				GenFeature delegateFeature = genFeature.getDelegateFeature();

-				if (delegateFeature.isWrappedFeatureMapType()) {

-					stringBuffer.append(TEXT_147);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_148);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_149);

-					stringBuffer.append(delegateFeature.getAccessorName());

-					stringBuffer.append(TEXT_150);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_151);

-				} else {

-					stringBuffer.append(TEXT_152);

-					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));

-					stringBuffer.append(TEXT_153);

-					stringBuffer.append(delegateFeature.getAccessorName());

-					stringBuffer.append(TEXT_154);

-					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_155);

-				}

-			} else if (genClass.getUnsetAccessorOperation(genFeature) != null) {

-				stringBuffer.append(TEXT_156);

-				stringBuffer.append(genClass.getUnsetAccessorOperation(genFeature).getBody(

-						genModel.getIndentation(stringBuffer)));

-			} else {

-				stringBuffer.append(TEXT_157);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					callParameters.put("isJDK50", isJDK50);

-					callParameters.put("isInterface", isInterface);

-					callParameters.put("isImplementation", isImplementation);

-					callParameters.put("isGWT", isGWT);

-					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);

-					callParameters.put("singleWildcard", singleWildcard);

-					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);

-					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);

-					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);

-					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00eXkGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//Class/unsetGenFeature.todo.override.javajetinc

-			}

-			stringBuffer.append(TEXT_158);

-		}

-		stringBuffer.append(TEXT_159);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.Interface;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class InterfaceunsetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized InterfaceunsetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		InterfaceunsetGenFeatureoverride result = new InterfaceunsetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL + "\tvoid unset";
+	protected final String TEXT_6 = "();" + NL;
+	protected final String TEXT_7 = NL + "\tpublic void unset";
+	protected final String TEXT_8 = "_";
+	protected final String TEXT_9 = "()" + NL + "\t{";
+	protected final String TEXT_10 = NL + "\t\teDynamicUnset(";
+	protected final String TEXT_11 = " - ESTATIC_FEATURE_COUNT";
+	protected final String TEXT_12 = ", ";
+	protected final String TEXT_13 = ");";
+	protected final String TEXT_14 = NL + "\t\teUnset(";
+	protected final String TEXT_15 = ");";
+	protected final String TEXT_16 = NL + "\t\t";
+	protected final String TEXT_17 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";
+	protected final String TEXT_18 = NL + "\t\t";
+	protected final String TEXT_19 = " ";
+	protected final String TEXT_20 = " = (";
+	protected final String TEXT_21 = ")eVirtualGet(";
+	protected final String TEXT_22 = ");";
+	protected final String TEXT_23 = NL + "\t\tif (";
+	protected final String TEXT_24 = " != null) ((";
+	protected final String TEXT_25 = ".Unsettable";
+	protected final String TEXT_26 = ")";
+	protected final String TEXT_27 = ").unset();";
+	protected final String TEXT_28 = NL + "\t\t";
+	protected final String TEXT_29 = " ";
+	protected final String TEXT_30 = " = (";
+	protected final String TEXT_31 = ")eVirtualGet(";
+	protected final String TEXT_32 = ");";
+	protected final String TEXT_33 = NL + "\t\tif (";
+	protected final String TEXT_34 = " != null)" + NL + "\t\t{" + NL + "\t\t\t";
+	protected final String TEXT_35 = " msgs = null;";
+	protected final String TEXT_36 = NL + "\t\t\tmsgs = ((";
+	protected final String TEXT_37 = ")";
+	protected final String TEXT_38 = ").eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+	protected final String TEXT_39 = ", null, msgs);";
+	protected final String TEXT_40 = NL + "\t\t\tmsgs = ((";
+	protected final String TEXT_41 = ")";
+	protected final String TEXT_42 = ").eInverseRemove(this, ";
+	protected final String TEXT_43 = ", ";
+	protected final String TEXT_44 = ".class, msgs);";
+	protected final String TEXT_45 = NL + "\t\t\tmsgs = basicUnset";
+	protected final String TEXT_46 = "(msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}" + NL
+			+ "\t\telse" + NL + "\t\t{";
+	protected final String TEXT_47 = NL + "\t\t\tboolean old";
+	protected final String TEXT_48 = "ESet = eVirtualIsSet(";
+	protected final String TEXT_49 = ");";
+	protected final String TEXT_50 = NL + "\t\t\tboolean old";
+	protected final String TEXT_51 = "ESet = (";
+	protected final String TEXT_52 = " & ";
+	protected final String TEXT_53 = "_ESETFLAG) != 0;";
+	protected final String TEXT_54 = NL + "\t\t\t";
+	protected final String TEXT_55 = " &= ~";
+	protected final String TEXT_56 = "_ESETFLAG;";
+	protected final String TEXT_57 = NL + "\t\t\tboolean old";
+	protected final String TEXT_58 = "ESet = ";
+	protected final String TEXT_59 = "ESet;";
+	protected final String TEXT_60 = NL + "\t\t\t";
+	protected final String TEXT_61 = "ESet = false;";
+	protected final String TEXT_62 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";
+	protected final String TEXT_63 = "(this, ";
+	protected final String TEXT_64 = ".UNSET, ";
+	protected final String TEXT_65 = ", null, null, old";
+	protected final String TEXT_66 = "ESet));";
+	protected final String TEXT_67 = NL + "\t\t}";
+	protected final String TEXT_68 = NL + "\t\t";
+	protected final String TEXT_69 = " old";
+	protected final String TEXT_70 = " = (";
+	protected final String TEXT_71 = " & ";
+	protected final String TEXT_72 = "_EFLAG) != 0;";
+	protected final String TEXT_73 = NL + "\t\t";
+	protected final String TEXT_74 = " old";
+	protected final String TEXT_75 = " = ";
+	protected final String TEXT_76 = "_EFLAG_VALUES[(";
+	protected final String TEXT_77 = " & ";
+	protected final String TEXT_78 = "_EFLAG) >>> ";
+	protected final String TEXT_79 = "_EFLAG_OFFSET];";
+	protected final String TEXT_80 = NL + "\t\tObject old";
+	protected final String TEXT_81 = " = eVirtualUnset(";
+	protected final String TEXT_82 = ");";
+	protected final String TEXT_83 = NL + "\t\t";
+	protected final String TEXT_84 = " old";
+	protected final String TEXT_85 = " = ";
+	protected final String TEXT_86 = ";";
+	protected final String TEXT_87 = NL + "\t\tboolean isSetChange = old";
+	protected final String TEXT_88 = " != EVIRTUAL_NO_VALUE;";
+	protected final String TEXT_89 = NL + "\t\tboolean old";
+	protected final String TEXT_90 = "ESet = (";
+	protected final String TEXT_91 = " & ";
+	protected final String TEXT_92 = "_ESETFLAG) != 0;";
+	protected final String TEXT_93 = NL + "\t\tboolean old";
+	protected final String TEXT_94 = "ESet = ";
+	protected final String TEXT_95 = "ESet;";
+	protected final String TEXT_96 = NL + "\t\t";
+	protected final String TEXT_97 = " = null;";
+	protected final String TEXT_98 = NL + "\t\t";
+	protected final String TEXT_99 = " &= ~";
+	protected final String TEXT_100 = "_ESETFLAG;";
+	protected final String TEXT_101 = NL + "\t\t";
+	protected final String TEXT_102 = "ESet = false;";
+	protected final String TEXT_103 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+	protected final String TEXT_104 = "(this, ";
+	protected final String TEXT_105 = ".UNSET, ";
+	protected final String TEXT_106 = ", ";
+	protected final String TEXT_107 = "isSetChange ? old";
+	protected final String TEXT_108 = " : null";
+	protected final String TEXT_109 = "old";
+	protected final String TEXT_110 = ", null, ";
+	protected final String TEXT_111 = "isSetChange";
+	protected final String TEXT_112 = "old";
+	protected final String TEXT_113 = "ESet";
+	protected final String TEXT_114 = "));";
+	protected final String TEXT_115 = NL + "\t\tif (";
+	protected final String TEXT_116 = ") ";
+	protected final String TEXT_117 = " |= ";
+	protected final String TEXT_118 = "_EFLAG; else ";
+	protected final String TEXT_119 = " &= ~";
+	protected final String TEXT_120 = "_EFLAG;";
+	protected final String TEXT_121 = NL + "\t\t";
+	protected final String TEXT_122 = " = ";
+	protected final String TEXT_123 = " & ~";
+	protected final String TEXT_124 = "_EFLAG | ";
+	protected final String TEXT_125 = "_EFLAG_DEFAULT;";
+	protected final String TEXT_126 = NL + "\t\t";
+	protected final String TEXT_127 = " = ";
+	protected final String TEXT_128 = ";";
+	protected final String TEXT_129 = NL + "\t\t";
+	protected final String TEXT_130 = " &= ~";
+	protected final String TEXT_131 = "_ESETFLAG;";
+	protected final String TEXT_132 = NL + "\t\t";
+	protected final String TEXT_133 = "ESet = false;";
+	protected final String TEXT_134 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+	protected final String TEXT_135 = "(this, ";
+	protected final String TEXT_136 = ".UNSET, ";
+	protected final String TEXT_137 = ", ";
+	protected final String TEXT_138 = "isSetChange ? old";
+	protected final String TEXT_139 = " : ";
+	protected final String TEXT_140 = "old";
+	protected final String TEXT_141 = ", ";
+	protected final String TEXT_142 = ", ";
+	protected final String TEXT_143 = "isSetChange";
+	protected final String TEXT_144 = "old";
+	protected final String TEXT_145 = "ESet";
+	protected final String TEXT_146 = "));";
+	protected final String TEXT_147 = NL + "\t\t((";
+	protected final String TEXT_148 = ".Internal)((";
+	protected final String TEXT_149 = ".Internal.Wrapper)get";
+	protected final String TEXT_150 = "()).featureMap()).clear(";
+	protected final String TEXT_151 = ");";
+	protected final String TEXT_152 = NL + "\t\t((";
+	protected final String TEXT_153 = ".Internal)get";
+	protected final String TEXT_154 = "()).clear(";
+	protected final String TEXT_155 = ");";
+	protected final String TEXT_156 = NL + "\t\t";
+	protected final String TEXT_157 = NL;
+	protected final String TEXT_158 = NL + "\t}" + NL;
+	protected final String TEXT_159 = NL;
+	protected final String TEXT_160 = NL;
+	protected final String TEXT_161 = NL;
+
+	public InterfaceunsetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isJDK50List = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isInterfaceList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isImplementationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> isGWTList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> publicStaticFinalFlagList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> negativeOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> positiveOperationOffsetCorrectionList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+						for (Object isJDK50Parameter : isJDK50List) {
+							for (Object isInterfaceParameter : isInterfaceList) {
+								for (Object isImplementationParameter : isImplementationList) {
+									for (Object isGWTParameter : isGWTList) {
+										for (Object publicStaticFinalFlagParameter : publicStaticFinalFlagList) {
+											for (Object singleWildcardParameter : singleWildcardList) {
+												for (Object negativeOffsetCorrectionParameter : negativeOffsetCorrectionList) {
+													for (Object positiveOffsetCorrectionParameter : positiveOffsetCorrectionList) {
+														for (Object negativeOperationOffsetCorrectionParameter : negativeOperationOffsetCorrectionList) {
+															for (Object positiveOperationOffsetCorrectionParameter : positiveOperationOffsetCorrectionList) {
+
+																this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+																this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+																this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+																this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+																this.isJDK50 = (java.lang.Boolean) isJDK50Parameter;
+																this.isInterface = (java.lang.Boolean) isInterfaceParameter;
+																this.isImplementation = (java.lang.Boolean) isImplementationParameter;
+																this.isGWT = (java.lang.Boolean) isGWTParameter;
+																this.publicStaticFinalFlag = (java.lang.String) publicStaticFinalFlagParameter;
+																this.singleWildcard = (java.lang.String) singleWildcardParameter;
+																this.negativeOffsetCorrection = (java.lang.String) negativeOffsetCorrectionParameter;
+																this.positiveOffsetCorrection = (java.lang.String) positiveOffsetCorrectionParameter;
+																this.negativeOperationOffsetCorrection = (java.lang.String) negativeOperationOffsetCorrectionParameter;
+																this.positiveOperationOffsetCorrection = (java.lang.String) positiveOperationOffsetCorrectionParameter;
+
+																if (preCondition(ctx)) {
+																	ctx.setNode(new Node.Container(currentNode,
+																			getClass()));
+																	orchestration(ctx);
+																}
+
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_160);
+		stringBuffer.append(TEXT_161);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("isJDK50", this.isJDK50);
+			parameterValues.put("isInterface", this.isInterface);
+			parameterValues.put("isImplementation", this.isImplementation);
+			parameterValues.put("isGWT", this.isGWT);
+			parameterValues.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+			parameterValues.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+			parameterValues.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+			parameterValues.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.Boolean isJDK50 = null;
+
+	public void set_isJDK50(java.lang.Boolean object) {
+		this.isJDK50 = object;
+	}
+
+	protected java.lang.Boolean isInterface = null;
+
+	public void set_isInterface(java.lang.Boolean object) {
+		this.isInterface = object;
+	}
+
+	protected java.lang.Boolean isImplementation = null;
+
+	public void set_isImplementation(java.lang.Boolean object) {
+		this.isImplementation = object;
+	}
+
+	protected java.lang.Boolean isGWT = null;
+
+	public void set_isGWT(java.lang.Boolean object) {
+		this.isGWT = object;
+	}
+
+	protected java.lang.String publicStaticFinalFlag = null;
+
+	public void set_publicStaticFinalFlag(java.lang.String object) {
+		this.publicStaticFinalFlag = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String negativeOffsetCorrection = null;
+
+	public void set_negativeOffsetCorrection(java.lang.String object) {
+		this.negativeOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOffsetCorrection = null;
+
+	public void set_positiveOffsetCorrection(java.lang.String object) {
+		this.positiveOffsetCorrection = object;
+	}
+
+	protected java.lang.String negativeOperationOffsetCorrection = null;
+
+	public void set_negativeOperationOffsetCorrection(java.lang.String object) {
+		this.negativeOperationOffsetCorrection = object;
+	}
+
+	protected java.lang.String positiveOperationOffsetCorrection = null;
+
+	public void set_positiveOperationOffsetCorrection(java.lang.String object) {
+		this.positiveOperationOffsetCorrection = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("isJDK50", this.isJDK50);
+		parameters.put("isInterface", this.isInterface);
+		parameters.put("isImplementation", this.isImplementation);
+		parameters.put("isGWT", this.isGWT);
+		parameters.put("publicStaticFinalFlag", this.publicStaticFinalFlag);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("negativeOffsetCorrection", this.negativeOffsetCorrection);
+		parameters.put("positiveOffsetCorrection", this.positiveOffsetCorrection);
+		parameters.put("negativeOperationOffsetCorrection", this.negativeOperationOffsetCorrection);
+		parameters.put("positiveOperationOffsetCorrection", this.positiveOperationOffsetCorrection);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (isInterface) {
+			stringBuffer.append(TEXT_2);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.javadoc.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				callParameters.put("isJDK50", isJDK50);
+				callParameters.put("isInterface", isInterface);
+				callParameters.put("isImplementation", isImplementation);
+				callParameters.put("isGWT", isGWT);
+				callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+				callParameters.put("singleWildcard", singleWildcard);
+				callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+				callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+				callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+				callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00BroGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//Class/unsetGenFeature.javadoc.override.javajetinc
+		} else {
+			stringBuffer.append(TEXT_3);
+			if (isJDK50) { //Class/unsetGenFeature.annotations.insert.javajetinc
+				stringBuffer.append(TEXT_4);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00VNoGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+			}
+		}
+		if (!isImplementation) {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genFeature.getAccessorName());
+			stringBuffer.append(TEXT_6);
+		} else {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(genFeature.getAccessorName());
+			if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {
+				stringBuffer.append(TEXT_8);
+			}
+			stringBuffer.append(TEXT_9);
+			if (genModel.isDynamicDelegation()) {
+				stringBuffer.append(TEXT_10);
+				stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+				if (genClass.hasStaticFeatures()) {
+					stringBuffer.append(TEXT_11);
+				}
+				stringBuffer.append(TEXT_12);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_13);
+			} else if (genModel.isReflectiveDelegation()) {
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+				stringBuffer.append(TEXT_15);
+			} else if (genFeature.hasSettingDelegate()) {
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genFeature.getUpperName());
+				stringBuffer.append(TEXT_17);
+			} else if (!genFeature.isVolatile()) {
+				if (genFeature.isListType()) {
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_18);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_19);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_20);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_21);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_22);
+					}
+					stringBuffer.append(TEXT_23);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_24);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
+					stringBuffer.append(TEXT_25);
+					stringBuffer.append(singleWildcard);
+					stringBuffer.append(TEXT_26);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_27);
+				} else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_28);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_29);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_30);
+						stringBuffer.append(genFeature.getImportedType(genClass));
+						stringBuffer.append(TEXT_31);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_32);
+					}
+					stringBuffer.append(TEXT_33);
+					stringBuffer.append(genFeature.getSafeName());
+					stringBuffer.append(TEXT_34);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+					stringBuffer.append(TEXT_35);
+					if (!genFeature.isBidirectional()) {
+						stringBuffer.append(TEXT_36);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_37);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_38);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(negativeOffsetCorrection);
+						stringBuffer.append(TEXT_39);
+					} else {
+						GenFeature reverseFeature = genFeature.getReverse();
+						GenClass targetClass = reverseFeature.getGenClass();
+						String reverseOffsetCorrection = targetClass.hasOffsetCorrection()
+								? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+						stringBuffer.append(TEXT_40);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
+						stringBuffer.append(TEXT_41);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_42);
+						stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+						stringBuffer.append(reverseOffsetCorrection);
+						stringBuffer.append(TEXT_43);
+						stringBuffer.append(targetClass.getRawImportedInterfaceName());
+						stringBuffer.append(TEXT_44);
+					}
+					stringBuffer.append(TEXT_45);
+					stringBuffer.append(genFeature.getAccessorName());
+					stringBuffer.append(TEXT_46);
+					if (genModel.isVirtualDelegation()) {
+						stringBuffer.append(TEXT_47);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_48);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_49);
+					} else if (genClass.isESetFlag(genFeature)) {
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_50);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_51);
+							stringBuffer.append(genClass.getESetFlagsField(genFeature));
+							stringBuffer.append(TEXT_52);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_53);
+						}
+						stringBuffer.append(TEXT_54);
+						stringBuffer.append(genClass.getESetFlagsField(genFeature));
+						stringBuffer.append(TEXT_55);
+						stringBuffer.append(genFeature.getUpperName());
+						stringBuffer.append(TEXT_56);
+					} else {
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_57);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_58);
+							stringBuffer.append(genFeature.getUncapName());
+							stringBuffer.append(TEXT_59);
+						}
+						stringBuffer.append(TEXT_60);
+						stringBuffer.append(genFeature.getUncapName());
+						stringBuffer.append(TEXT_61);
+					}
+					if (!genModel.isSuppressNotification()) {
+						stringBuffer.append(TEXT_62);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+						stringBuffer.append(TEXT_63);
+						stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+						stringBuffer.append(TEXT_64);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_65);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_66);
+					}
+					stringBuffer.append(TEXT_67);
+				} else {
+					if (genClass.isFlag(genFeature)) {
+						if (!genModel.isSuppressNotification()) {
+							if (genFeature.isBooleanType()) {
+								stringBuffer.append(TEXT_68);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_69);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_70);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_71);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_72);
+							} else {
+								stringBuffer.append(TEXT_73);
+								stringBuffer.append(genFeature.getImportedType(genClass));
+								stringBuffer.append(TEXT_74);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_75);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_76);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_77);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_78);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_79);
+							}
+						}
+					} else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+						stringBuffer.append(TEXT_80);
+						stringBuffer.append(genFeature.getCapName());
+						stringBuffer.append(TEXT_81);
+						stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+						stringBuffer.append(positiveOffsetCorrection);
+						stringBuffer.append(TEXT_82);
+					} else {
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_83);
+							stringBuffer.append(genFeature.getImportedType(genClass));
+							stringBuffer.append(TEXT_84);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_85);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_86);
+						}
+					}
+					if (!genModel.isSuppressNotification()) {
+						if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+							stringBuffer.append(TEXT_87);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_88);
+						} else if (genClass.isESetFlag(genFeature)) {
+							stringBuffer.append(TEXT_89);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_90);
+							stringBuffer.append(genClass.getESetFlagsField(genFeature));
+							stringBuffer.append(TEXT_91);
+							stringBuffer.append(genFeature.getUpperName());
+							stringBuffer.append(TEXT_92);
+						} else {
+							stringBuffer.append(TEXT_93);
+							stringBuffer.append(genFeature.getCapName());
+							stringBuffer.append(TEXT_94);
+							stringBuffer.append(genFeature.getUncapName());
+							stringBuffer.append(TEXT_95);
+						}
+					}
+					if (genFeature.isReferenceType()) {
+						stringBuffer.append(TEXT_96);
+						stringBuffer.append(genFeature.getSafeName());
+						stringBuffer.append(TEXT_97);
+						if (!genModel.isVirtualDelegation()) {
+							if (genClass.isESetFlag(genFeature)) {
+								stringBuffer.append(TEXT_98);
+								stringBuffer.append(genClass.getESetFlagsField(genFeature));
+								stringBuffer.append(TEXT_99);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_100);
+							} else {
+								stringBuffer.append(TEXT_101);
+								stringBuffer.append(genFeature.getUncapName());
+								stringBuffer.append(TEXT_102);
+							}
+						}
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_103);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_104);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_105);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_106);
+							if (genModel.isVirtualDelegation()) {
+								stringBuffer.append(TEXT_107);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_108);
+							} else {
+								stringBuffer.append(TEXT_109);
+								stringBuffer.append(genFeature.getCapName());
+							}
+							stringBuffer.append(TEXT_110);
+							if (genModel.isVirtualDelegation()) {
+								stringBuffer.append(TEXT_111);
+							} else {
+								stringBuffer.append(TEXT_112);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_113);
+							}
+							stringBuffer.append(TEXT_114);
+						}
+					} else {
+						if (genClass.isFlag(genFeature)) {
+							if (genFeature.isBooleanType()) {
+								stringBuffer.append(TEXT_115);
+								stringBuffer.append(genFeature.getEDefault());
+								stringBuffer.append(TEXT_116);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_117);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_118);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_119);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_120);
+							} else {
+								stringBuffer.append(TEXT_121);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_122);
+								stringBuffer.append(genClass.getFlagsField(genFeature));
+								stringBuffer.append(TEXT_123);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_124);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_125);
+							}
+						} else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
+							stringBuffer.append(TEXT_126);
+							stringBuffer.append(genFeature.getSafeName());
+							stringBuffer.append(TEXT_127);
+							stringBuffer.append(genFeature.getEDefault());
+							stringBuffer.append(TEXT_128);
+						}
+						if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
+							if (genClass.isESetFlag(genFeature)) {
+								stringBuffer.append(TEXT_129);
+								stringBuffer.append(genClass.getESetFlagsField(genFeature));
+								stringBuffer.append(TEXT_130);
+								stringBuffer.append(genFeature.getUpperName());
+								stringBuffer.append(TEXT_131);
+							} else {
+								stringBuffer.append(TEXT_132);
+								stringBuffer.append(genFeature.getUncapName());
+								stringBuffer.append(TEXT_133);
+							}
+						}
+						if (!genModel.isSuppressNotification()) {
+							stringBuffer.append(TEXT_134);
+							stringBuffer
+									.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+							stringBuffer.append(TEXT_135);
+							stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
+							stringBuffer.append(TEXT_136);
+							stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+							stringBuffer.append(positiveOffsetCorrection);
+							stringBuffer.append(TEXT_137);
+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_138);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_139);
+								stringBuffer.append(genFeature.getEDefault());
+							} else {
+								stringBuffer.append(TEXT_140);
+								stringBuffer.append(genFeature.getCapName());
+							}
+							stringBuffer.append(TEXT_141);
+							stringBuffer.append(genFeature.getEDefault());
+							stringBuffer.append(TEXT_142);
+							if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
+								stringBuffer.append(TEXT_143);
+							} else {
+								stringBuffer.append(TEXT_144);
+								stringBuffer.append(genFeature.getCapName());
+								stringBuffer.append(TEXT_145);
+							}
+							stringBuffer.append(TEXT_146);
+						}
+					}
+				}
+			} else if (genFeature.hasDelegateFeature()) {
+				GenFeature delegateFeature = genFeature.getDelegateFeature();
+				if (delegateFeature.isWrappedFeatureMapType()) {
+					stringBuffer.append(TEXT_147);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_148);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_149);
+					stringBuffer.append(delegateFeature.getAccessorName());
+					stringBuffer.append(TEXT_150);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_151);
+				} else {
+					stringBuffer.append(TEXT_152);
+					stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+					stringBuffer.append(TEXT_153);
+					stringBuffer.append(delegateFeature.getAccessorName());
+					stringBuffer.append(TEXT_154);
+					stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_155);
+				}
+			} else if (genClass.getUnsetAccessorOperation(genFeature) != null) {
+				stringBuffer.append(TEXT_156);
+				stringBuffer.append(
+						genClass.getUnsetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));
+			} else {
+				stringBuffer.append(TEXT_157);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.unsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					callParameters.put("isJDK50", isJDK50);
+					callParameters.put("isInterface", isInterface);
+					callParameters.put("isImplementation", isImplementation);
+					callParameters.put("isGWT", isGWT);
+					callParameters.put("publicStaticFinalFlag", publicStaticFinalFlag);
+					callParameters.put("singleWildcard", singleWildcard);
+					callParameters.put("negativeOffsetCorrection", negativeOffsetCorrection);
+					callParameters.put("positiveOffsetCorrection", positiveOffsetCorrection);
+					callParameters.put("negativeOperationOffsetCorrection", negativeOperationOffsetCorrection);
+					callParameters.put("positiveOperationOffsetCorrection", positiveOperationOffsetCorrection);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_00eXkGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//Class/unsetGenFeature.todo.override.javajetinc
+			}
+			stringBuffer.append(TEXT_158);
+		}
+		stringBuffer.append(TEXT_159);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ResourceFactoryClass/ResourceFactoryClasscreateResourceoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ResourceFactoryClass/ResourceFactoryClasscreateResourceoverride.java
index f6e6c60..c185d0e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ResourceFactoryClass/ResourceFactoryClasscreateResourceoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ResourceFactoryClass/ResourceFactoryClasscreateResourceoverride.java
@@ -1,201 +1,201 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ResourceFactoryClasscreateResourceoverride {

-	protected static String nl;

-

-	public static synchronized ResourceFactoryClasscreateResourceoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		ResourceFactoryClasscreateResourceoverride result = new ResourceFactoryClasscreateResourceoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "\t\t";

-	protected final String TEXT_3 = " result = new ";

-	protected final String TEXT_4 = "(uri);" + NL + "\t\tresult.getDefaultSaveOptions().put(";

-	protected final String TEXT_5 = ".OPTION_EXTENDED_META_DATA, ";

-	protected final String TEXT_6 = "Boolean.TRUE";

-	protected final String TEXT_7 = "extendedMetaData";

-	protected final String TEXT_8 = ");" + NL + "\t\tresult.getDefaultLoadOptions().put(";

-	protected final String TEXT_9 = ".OPTION_EXTENDED_META_DATA, ";

-	protected final String TEXT_10 = "Boolean.TRUE";

-	protected final String TEXT_11 = "extendedMetaData";

-	protected final String TEXT_12 = ");" + NL + "" + NL + "\t\tresult.getDefaultSaveOptions().put(";

-	protected final String TEXT_13 = ".OPTION_SCHEMA_LOCATION, Boolean.TRUE);" + NL + "" + NL

-			+ "\t\tresult.getDefaultLoadOptions().put(";

-	protected final String TEXT_14 = ".OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);" + NL

-			+ "\t\tresult.getDefaultSaveOptions().put(";

-	protected final String TEXT_15 = ".OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);" + NL + "" + NL

-			+ "\t\tresult.getDefaultLoadOptions().put(";

-	protected final String TEXT_16 = ".OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);";

-	protected final String TEXT_17 = NL + "\t\tresult.getDefaultLoadOptions().put(";

-	protected final String TEXT_18 = ".OPTION_USE_DATA_CONVERTER, Boolean.TRUE);";

-	protected final String TEXT_19 = NL + "\t\t";

-	protected final String TEXT_20 = " result = new ";

-	protected final String TEXT_21 = "(uri);" + NL + "\t\tresult.getDefaultSaveOptions().put(";

-	protected final String TEXT_22 = ".OPTION_XML_MAP, xmlMap);" + NL + "\t\tresult.getDefaultLoadOptions().put(";

-	protected final String TEXT_23 = ".OPTION_XML_MAP, xmlMap);";

-	protected final String TEXT_24 = NL + "\t\tResource result = new ";

-	protected final String TEXT_25 = "(uri);";

-	protected final String TEXT_26 = NL + "\t\treturn result;" + NL;

-	protected final String TEXT_27 = NL;

-	protected final String TEXT_28 = NL;

-

-	public ResourceFactoryClasscreateResourceoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genPackageParameter : genPackageList) {

-			for (Object genModelParameter : genModelList) {

-

-				this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-				this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-				if (preCondition(ctx)) {

-					ctx.setNode(new Node.Container(currentNode, getClass()));

-					orchestration(ctx);

-				}

-

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_27);

-		stringBuffer.append(TEXT_28);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genPackage.hasExtendedMetaData()) {

-			stringBuffer.append(TEXT_2);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

-			stringBuffer.append(TEXT_3);

-			stringBuffer.append(genPackage.getResourceClassName());

-			stringBuffer.append(TEXT_4);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

-			stringBuffer.append(TEXT_5);

-			if (genPackage.hasTargetNamespace()) {

-				stringBuffer.append(TEXT_6);

-			} else {

-				stringBuffer.append(TEXT_7);

-			}

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

-			stringBuffer.append(TEXT_9);

-			if (genPackage.hasTargetNamespace()) {

-				stringBuffer.append(TEXT_10);

-			} else {

-				stringBuffer.append(TEXT_11);

-			}

-			stringBuffer.append(TEXT_12);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

-			stringBuffer.append(TEXT_14);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

-			stringBuffer.append(TEXT_16);

-			if (genPackage.isDataTypeConverters() && genPackage.hasDocumentRoot()) {

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(genPackage.getResourceClassName());

-				stringBuffer.append(TEXT_18);

-			}

-		} else if (genPackage.hasXMLMap()) {

-			stringBuffer.append(TEXT_19);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

-			stringBuffer.append(TEXT_20);

-			stringBuffer.append(genPackage.getResourceClassName());

-			stringBuffer.append(TEXT_21);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

-			stringBuffer.append(TEXT_22);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));

-			stringBuffer.append(TEXT_23);

-		} else {

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(genPackage.getResourceClassName());

-			stringBuffer.append(TEXT_25);

-		}

-		stringBuffer.append(TEXT_26);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.ResourceFactoryClass;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ResourceFactoryClasscreateResourceoverride {
+	protected static String nl;
+
+	public static synchronized ResourceFactoryClasscreateResourceoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		ResourceFactoryClasscreateResourceoverride result = new ResourceFactoryClasscreateResourceoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "\t\t";
+	protected final String TEXT_3 = " result = new ";
+	protected final String TEXT_4 = "(uri);" + NL + "\t\tresult.getDefaultSaveOptions().put(";
+	protected final String TEXT_5 = ".OPTION_EXTENDED_META_DATA, ";
+	protected final String TEXT_6 = "Boolean.TRUE";
+	protected final String TEXT_7 = "extendedMetaData";
+	protected final String TEXT_8 = ");" + NL + "\t\tresult.getDefaultLoadOptions().put(";
+	protected final String TEXT_9 = ".OPTION_EXTENDED_META_DATA, ";
+	protected final String TEXT_10 = "Boolean.TRUE";
+	protected final String TEXT_11 = "extendedMetaData";
+	protected final String TEXT_12 = ");" + NL + "" + NL + "\t\tresult.getDefaultSaveOptions().put(";
+	protected final String TEXT_13 = ".OPTION_SCHEMA_LOCATION, Boolean.TRUE);" + NL + "" + NL
+			+ "\t\tresult.getDefaultLoadOptions().put(";
+	protected final String TEXT_14 = ".OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);" + NL
+			+ "\t\tresult.getDefaultSaveOptions().put(";
+	protected final String TEXT_15 = ".OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);" + NL + "" + NL
+			+ "\t\tresult.getDefaultLoadOptions().put(";
+	protected final String TEXT_16 = ".OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);";
+	protected final String TEXT_17 = NL + "\t\tresult.getDefaultLoadOptions().put(";
+	protected final String TEXT_18 = ".OPTION_USE_DATA_CONVERTER, Boolean.TRUE);";
+	protected final String TEXT_19 = NL + "\t\t";
+	protected final String TEXT_20 = " result = new ";
+	protected final String TEXT_21 = "(uri);" + NL + "\t\tresult.getDefaultSaveOptions().put(";
+	protected final String TEXT_22 = ".OPTION_XML_MAP, xmlMap);" + NL + "\t\tresult.getDefaultLoadOptions().put(";
+	protected final String TEXT_23 = ".OPTION_XML_MAP, xmlMap);";
+	protected final String TEXT_24 = NL + "\t\tResource result = new ";
+	protected final String TEXT_25 = "(uri);";
+	protected final String TEXT_26 = NL + "\t\treturn result;" + NL;
+	protected final String TEXT_27 = NL;
+	protected final String TEXT_28 = NL;
+
+	public ResourceFactoryClasscreateResourceoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genPackageParameter : genPackageList) {
+			for (Object genModelParameter : genModelList) {
+
+				this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+				this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+				if (preCondition(ctx)) {
+					ctx.setNode(new Node.Container(currentNode, getClass()));
+					orchestration(ctx);
+				}
+
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_27);
+		stringBuffer.append(TEXT_28);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genPackage.hasExtendedMetaData()) {
+			stringBuffer.append(TEXT_2);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+			stringBuffer.append(TEXT_3);
+			stringBuffer.append(genPackage.getResourceClassName());
+			stringBuffer.append(TEXT_4);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+			stringBuffer.append(TEXT_5);
+			if (genPackage.hasTargetNamespace()) {
+				stringBuffer.append(TEXT_6);
+			} else {
+				stringBuffer.append(TEXT_7);
+			}
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+			stringBuffer.append(TEXT_9);
+			if (genPackage.hasTargetNamespace()) {
+				stringBuffer.append(TEXT_10);
+			} else {
+				stringBuffer.append(TEXT_11);
+			}
+			stringBuffer.append(TEXT_12);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+			stringBuffer.append(TEXT_14);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+			stringBuffer.append(TEXT_16);
+			if (genPackage.isDataTypeConverters() && genPackage.hasDocumentRoot()) {
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(genPackage.getResourceClassName());
+				stringBuffer.append(TEXT_18);
+			}
+		} else if (genPackage.hasXMLMap()) {
+			stringBuffer.append(TEXT_19);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+			stringBuffer.append(TEXT_20);
+			stringBuffer.append(genPackage.getResourceClassName());
+			stringBuffer.append(TEXT_21);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+			stringBuffer.append(TEXT_22);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.XMLResource"));
+			stringBuffer.append(TEXT_23);
+		} else {
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(genPackage.getResourceClassName());
+			stringBuffer.append(TEXT_25);
+		}
+		stringBuffer.append(TEXT_26);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ValidatorClass/ValidatorClassinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ValidatorClass/ValidatorClassinsert.java
index 1857993..a08b39c 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ValidatorClass/ValidatorClassinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/model/call/ValidatorClass/ValidatorClassinsert.java
@@ -1,172 +1,172 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.model.call.ValidatorClass;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ValidatorClassinsert {

-	protected static String nl;

-

-	public static synchronized ValidatorClassinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		ValidatorClassinsert result = new ValidatorClassinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public ValidatorClassinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> singleWildcardList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> _MapList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> objectArgumentList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> countList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genPackageParameter : genPackageList) {

-			for (Object genModelParameter : genModelList) {

-				for (Object singleWildcardParameter : singleWildcardList) {

-					for (Object _MapParameter : _MapList) {

-						for (Object objectArgumentParameter : objectArgumentList) {

-							for (Object countParameter : countList) {

-

-								this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-								this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-								this.singleWildcard = (java.lang.String) singleWildcardParameter;

-								this._Map = (java.lang.String) _MapParameter;

-								this.objectArgument = (java.lang.String) objectArgumentParameter;

-								this.count = (java.lang.Integer) countParameter;

-

-								if (preCondition(ctx)) {

-									ctx.setNode(new Node.Container(currentNode, getClass()));

-									orchestration(ctx);

-								}

-

-							}

-						}

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			parameterValues.put("singleWildcard", this.singleWildcard);

-			parameterValues.put("_Map", this._Map);

-			parameterValues.put("objectArgument", this.objectArgument);

-			parameterValues.put("count", this.count);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	protected java.lang.String singleWildcard = null;

-

-	public void set_singleWildcard(java.lang.String object) {

-		this.singleWildcard = object;

-	}

-

-	protected java.lang.String _Map = null;

-

-	public void set__Map(java.lang.String object) {

-		this._Map = object;

-	}

-

-	protected java.lang.String objectArgument = null;

-

-	public void set_objectArgument(java.lang.String object) {

-		this.objectArgument = object;

-	}

-

-	protected java.lang.Integer count = null;

-

-	public void set_count(java.lang.Integer object) {

-		this.count = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		parameters.put("singleWildcard", this.singleWildcard);

-		parameters.put("_Map", this._Map);

-		parameters.put("objectArgument", this.objectArgument);

-		parameters.put("count", this.count);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.model.call.ValidatorClass;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ValidatorClassinsert {
+	protected static String nl;
+
+	public static synchronized ValidatorClassinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		ValidatorClassinsert result = new ValidatorClassinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public ValidatorClassinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> singleWildcardList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> _MapList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> objectArgumentList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> countList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genPackageParameter : genPackageList) {
+			for (Object genModelParameter : genModelList) {
+				for (Object singleWildcardParameter : singleWildcardList) {
+					for (Object _MapParameter : _MapList) {
+						for (Object objectArgumentParameter : objectArgumentList) {
+							for (Object countParameter : countList) {
+
+								this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+								this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+								this.singleWildcard = (java.lang.String) singleWildcardParameter;
+								this._Map = (java.lang.String) _MapParameter;
+								this.objectArgument = (java.lang.String) objectArgumentParameter;
+								this.count = (java.lang.Integer) countParameter;
+
+								if (preCondition(ctx)) {
+									ctx.setNode(new Node.Container(currentNode, getClass()));
+									orchestration(ctx);
+								}
+
+							}
+						}
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			parameterValues.put("singleWildcard", this.singleWildcard);
+			parameterValues.put("_Map", this._Map);
+			parameterValues.put("objectArgument", this.objectArgument);
+			parameterValues.put("count", this.count);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	protected java.lang.String singleWildcard = null;
+
+	public void set_singleWildcard(java.lang.String object) {
+		this.singleWildcard = object;
+	}
+
+	protected java.lang.String _Map = null;
+
+	public void set__Map(java.lang.String object) {
+		this._Map = object;
+	}
+
+	protected java.lang.String objectArgument = null;
+
+	public void set_objectArgument(java.lang.String object) {
+		this.objectArgument = object;
+	}
+
+	protected java.lang.Integer count = null;
+
+	public void set_count(java.lang.Integer object) {
+		this.count = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		parameters.put("singleWildcard", this.singleWildcard);
+		parameters.put("_Map", this._Map);
+		parameters.put("objectArgument", this.objectArgument);
+		parameters.put("count", this.count);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/BuildProperties.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/BuildProperties.java
index f35ef55..24e6195 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/BuildProperties.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/BuildProperties.java
@@ -1,218 +1,217 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class BuildProperties extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized BuildProperties create(String lineSeparator) {

-		nl = lineSeparator;

-		BuildProperties result = new BuildProperties();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + NL + "bin.includes = ";

-	protected final String TEXT_3 = ",\\";

-	protected final String TEXT_4 = NL + "               META-INF/,\\";

-	protected final String TEXT_5 = NL + "               plugin.xml,\\";

-	protected final String TEXT_6 = NL + "               plugin.properties" + NL + "jars.compile.order = ";

-	protected final String TEXT_7 = NL + "source.";

-	protected final String TEXT_8 = " = ";

-	protected final String TEXT_9 = NL + "output.";

-	protected final String TEXT_10 = " = bin/" + NL;

-	protected final String TEXT_11 = NL;

-	protected final String TEXT_12 = NL;

-

-	public BuildProperties() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(TEXT_12);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getTestsProjectDirectory() + "/build.properties";

-		overwrite = false;

-		encoding = "ISO-8859-1";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,

-				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2005-2008 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getTestsPluginID() + ".jar" : ".";

-		List<String> sourceFolders = genModel.getTestsSourceFolders();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(pluginClassesLocation);

-		stringBuffer.append(TEXT_3);

-		if (genModel.isBundleManifest()) {

-			stringBuffer.append(TEXT_4);

-		} else {

-			stringBuffer.append(TEXT_5);

-		}

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(pluginClassesLocation);

-		boolean first = true;

-		for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) {

-			String sourceFolder = i.next();

-			if (i.hasNext()) {

-				sourceFolder += ",\\";

-			}

-			if (first) {

-				stringBuffer.append(TEXT_7);

-				stringBuffer.append(pluginClassesLocation);

-				stringBuffer.append(TEXT_8);

-				stringBuffer.append(sourceFolder);

-				first = false;

-			} else {

-				stringBuffer.append(sourceFolder);

-			}

-		}

-		stringBuffer.append(TEXT_9);

-		stringBuffer.append(pluginClassesLocation);

-		stringBuffer.append(TEXT_10);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");

-		canGenerate = canGenerate && (!genModel.sameModelTestsProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class BuildProperties extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized BuildProperties create(String lineSeparator) {
+		nl = lineSeparator;
+		BuildProperties result = new BuildProperties();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + NL + "bin.includes = ";
+	protected final String TEXT_3 = ",\\";
+	protected final String TEXT_4 = NL + "               META-INF/,\\";
+	protected final String TEXT_5 = NL + "               plugin.xml,\\";
+	protected final String TEXT_6 = NL + "               plugin.properties" + NL + "jars.compile.order = ";
+	protected final String TEXT_7 = NL + "source.";
+	protected final String TEXT_8 = " = ";
+	protected final String TEXT_9 = NL + "output.";
+	protected final String TEXT_10 = " = bin/" + NL;
+	protected final String TEXT_11 = NL;
+	protected final String TEXT_12 = NL;
+
+	public BuildProperties() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(TEXT_12);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getTestsProjectDirectory() + "/build.properties";
+		overwrite = false;
+		encoding = "ISO-8859-1";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2005-2008 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		String pluginClassesLocation = genModel.isRuntimeJar() ? genModel.getTestsPluginID() + ".jar" : ".";
+		List<String> sourceFolders = genModel.getTestsSourceFolders();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(pluginClassesLocation);
+		stringBuffer.append(TEXT_3);
+		if (genModel.isBundleManifest()) {
+			stringBuffer.append(TEXT_4);
+		} else {
+			stringBuffer.append(TEXT_5);
+		}
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(pluginClassesLocation);
+		boolean first = true;
+		for (Iterator<String> i = sourceFolders.iterator(); i.hasNext();) {
+			String sourceFolder = i.next();
+			if (i.hasNext()) {
+				sourceFolder += ",\\";
+			}
+			if (first) {
+				stringBuffer.append(TEXT_7);
+				stringBuffer.append(pluginClassesLocation);
+				stringBuffer.append(TEXT_8);
+				stringBuffer.append(sourceFolder);
+				first = false;
+			} else {
+				stringBuffer.append(sourceFolder);
+			}
+		}
+		stringBuffer.append(TEXT_9);
+		stringBuffer.append(pluginClassesLocation);
+		stringBuffer.append(TEXT_10);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+		canGenerate = canGenerate && (!genModel.sameModelTestsProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ManifestMF.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ManifestMF.java
index af7f7e4..4b2252b 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ManifestMF.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ManifestMF.java
@@ -1,236 +1,236 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ManifestMF extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized ManifestMF create(String lineSeparator) {

-		nl = lineSeparator;

-		ManifestMF result = new ManifestMF();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "Manifest-Version: 1.0" + NL + "Bundle-ManifestVersion: 2" + NL

-			+ "Bundle-Name: %pluginName" + NL + "Bundle-SymbolicName: ";

-	protected final String TEXT_2 = ";singleton:=true" + NL + "Bundle-Version: 1.0.0.qualifier" + NL

-			+ "Bundle-ClassPath: ";

-	protected final String TEXT_3 = ".jar";

-	protected final String TEXT_4 = ".";

-	protected final String TEXT_5 = NL + "Bundle-Vendor: %providerName" + NL + "Bundle-Localization: plugin";

-	protected final String TEXT_6 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";

-	protected final String TEXT_7 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";

-	protected final String TEXT_8 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";

-	protected final String TEXT_9 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";

-	protected final String TEXT_10 = NL + "Export-Package: ";

-	protected final String TEXT_11 = ",";

-	protected final String TEXT_12 = NL + " ";

-	protected final String TEXT_13 = NL + "Require-Bundle: ";

-	protected final String TEXT_14 = ";visibility:=reexport";

-	protected final String TEXT_15 = ",";

-	protected final String TEXT_16 = NL + " ";

-	protected final String TEXT_17 = ";visibility:=reexport";

-	protected final String TEXT_18 = NL + "Eclipse-LazyStart: true";

-	protected final String TEXT_19 = NL + "Bundle-ActivationPolicy: lazy" + NL;

-	protected final String TEXT_20 = NL;

-	protected final String TEXT_21 = NL;

-

-	public ManifestMF() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_20);

-		stringBuffer.append(TEXT_21);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getTestsProjectDirectory() + "/META-INF/MANIFEST.MF";

-		overwrite = genModel.isUpdateClasspath();

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,

-				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2005 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genModel.getTestsPluginID());

-		stringBuffer.append(TEXT_2);

-		if (genModel.isRuntimeJar()) {

-			stringBuffer.append(genModel.getTestsPluginID());

-			stringBuffer.append(TEXT_3);

-		} else {

-			stringBuffer.append(TEXT_4);

-		}

-		stringBuffer.append(TEXT_5);

-		if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {

-			stringBuffer.append(TEXT_6);

-		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {

-			stringBuffer.append(TEXT_7);

-		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {

-			stringBuffer.append(TEXT_8);

-		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {

-			stringBuffer.append(TEXT_9);

-		}

-		Iterator<String> packagesIterator = genModel.getTestsQualifiedPackageNames().iterator();

-		if (packagesIterator.hasNext()) {

-			String pack = packagesIterator.next();

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(pack);

-			while (packagesIterator.hasNext()) {

-				pack = packagesIterator.next();

-				stringBuffer.append(TEXT_11);

-				stringBuffer.append(TEXT_12);

-				stringBuffer.append(pack);

-			}

-		}

-		Iterator<String> requiredPluginIterator = genModel.getTestsRequiredPlugins().iterator();

-		if (requiredPluginIterator.hasNext()) {

-			String pluginID = requiredPluginIterator.next();

-			stringBuffer.append(TEXT_13);

-			stringBuffer.append(pluginID);

-			if (!pluginID.startsWith("org.eclipse.core.runtime")) {

-				stringBuffer.append(TEXT_14);

-			}

-			while (requiredPluginIterator.hasNext()) {

-				pluginID = requiredPluginIterator.next();

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(pluginID);

-				if (!pluginID.startsWith("org.eclipse.core.runtime") && !pluginID.equals("org.eclipse.xtext.xbase.lib")

-						&& !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {

-					stringBuffer.append(TEXT_17);

-				}

-			}

-		}

-		if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22

-				|| genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {

-			stringBuffer.append(TEXT_18);

-		}

-		stringBuffer.append(TEXT_19);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");

-		canGenerate = canGenerate && (genModel.isBundleManifest()) && (!genModel.sameModelTestsProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ManifestMF extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized ManifestMF create(String lineSeparator) {
+		nl = lineSeparator;
+		ManifestMF result = new ManifestMF();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "Manifest-Version: 1.0" + NL + "Bundle-ManifestVersion: 2" + NL
+			+ "Bundle-Name: %pluginName" + NL + "Bundle-SymbolicName: ";
+	protected final String TEXT_2 = ";singleton:=true" + NL + "Bundle-Version: 1.0.0.qualifier" + NL
+			+ "Bundle-ClassPath: ";
+	protected final String TEXT_3 = ".jar";
+	protected final String TEXT_4 = ".";
+	protected final String TEXT_5 = NL + "Bundle-Vendor: %providerName" + NL + "Bundle-Localization: plugin";
+	protected final String TEXT_6 = NL + "Bundle-RequiredExecutionEnvironment: J2SE-1.5";
+	protected final String TEXT_7 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.6";
+	protected final String TEXT_8 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.7";
+	protected final String TEXT_9 = NL + "Bundle-RequiredExecutionEnvironment: JavaSE-1.8";
+	protected final String TEXT_10 = NL + "Export-Package: ";
+	protected final String TEXT_11 = ",";
+	protected final String TEXT_12 = NL + " ";
+	protected final String TEXT_13 = NL + "Require-Bundle: ";
+	protected final String TEXT_14 = ";visibility:=reexport";
+	protected final String TEXT_15 = ",";
+	protected final String TEXT_16 = NL + " ";
+	protected final String TEXT_17 = ";visibility:=reexport";
+	protected final String TEXT_18 = NL + "Eclipse-LazyStart: true";
+	protected final String TEXT_19 = NL + "Bundle-ActivationPolicy: lazy" + NL;
+	protected final String TEXT_20 = NL;
+	protected final String TEXT_21 = NL;
+
+	public ManifestMF() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_20);
+		stringBuffer.append(TEXT_21);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getTestsProjectDirectory() + "/META-INF/MANIFEST.MF";
+		overwrite = genModel.isUpdateClasspath();
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2005 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genModel.getTestsPluginID());
+		stringBuffer.append(TEXT_2);
+		if (genModel.isRuntimeJar()) {
+			stringBuffer.append(genModel.getTestsPluginID());
+			stringBuffer.append(TEXT_3);
+		} else {
+			stringBuffer.append(TEXT_4);
+		}
+		stringBuffer.append(TEXT_5);
+		if (genModel.getComplianceLevel() == GenJDKLevel.JDK50_LITERAL) {
+			stringBuffer.append(TEXT_6);
+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK60_LITERAL) {
+			stringBuffer.append(TEXT_7);
+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK70_LITERAL) {
+			stringBuffer.append(TEXT_8);
+		} else if (genModel.getComplianceLevel() == GenJDKLevel.JDK80_LITERAL) {
+			stringBuffer.append(TEXT_9);
+		}
+		Iterator<String> packagesIterator = genModel.getTestsQualifiedPackageNames().iterator();
+		if (packagesIterator.hasNext()) {
+			String pack = packagesIterator.next();
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(pack);
+			while (packagesIterator.hasNext()) {
+				pack = packagesIterator.next();
+				stringBuffer.append(TEXT_11);
+				stringBuffer.append(TEXT_12);
+				stringBuffer.append(pack);
+			}
+		}
+		Iterator<String> requiredPluginIterator = genModel.getTestsRequiredPlugins().iterator();
+		if (requiredPluginIterator.hasNext()) {
+			String pluginID = requiredPluginIterator.next();
+			stringBuffer.append(TEXT_13);
+			stringBuffer.append(pluginID);
+			if (!pluginID.startsWith("org.eclipse.core.runtime")) {
+				stringBuffer.append(TEXT_14);
+			}
+			while (requiredPluginIterator.hasNext()) {
+				pluginID = requiredPluginIterator.next();
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(pluginID);
+				if (!pluginID.startsWith("org.eclipse.core.runtime") && !pluginID.equals("org.eclipse.xtext.xbase.lib")
+						&& !pluginID.equals("org.eclipse.emf.ecore.xcore.lib")) {
+					stringBuffer.append(TEXT_17);
+				}
+			}
+		}
+		if (genModel.getRuntimeVersion() == GenRuntimeVersion.EMF22
+				|| genModel.getRuntimeVersion() == GenRuntimeVersion.EMF23) {
+			stringBuffer.append(TEXT_18);
+		}
+		stringBuffer.append(TEXT_19);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+		canGenerate = canGenerate && (genModel.isBundleManifest()) && (!genModel.sameModelTestsProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ModelTestSuite.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ModelTestSuite.java
index bc288d2..056e831 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ModelTestSuite.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/ModelTestSuite.java
@@ -1,253 +1,252 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class ModelTestSuite extends org.eclipse.egf.emf.pattern.base.GenModelJava {

-	protected static String nl;

-

-	public static synchronized ModelTestSuite create(String lineSeparator) {

-		nl = lineSeparator;

-		ModelTestSuite result = new ModelTestSuite();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * A test suite for the '<em><b>";

-	protected final String TEXT_5 = "</b></em>' model." + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL

-			+ " */" + NL + "public class ";

-	protected final String TEXT_6 = " extends ";

-	protected final String TEXT_7 = NL + "{";

-	protected final String TEXT_8 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_9 = " copyright = ";

-	protected final String TEXT_10 = ";";

-	protected final String TEXT_11 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static void main(String[] args)" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_12 = ".run(suite());" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static ";

-	protected final String TEXT_13 = " suite()" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_14 = " suite = new ";

-	protected final String TEXT_15 = "(\"";

-	protected final String TEXT_16 = " Tests\");";

-	protected final String TEXT_17 = NL + "\t\tsuite.addTest(";

-	protected final String TEXT_18 = ".suite());";

-	protected final String TEXT_19 = NL + "\t\treturn suite;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_20 = "(String name)" + NL + "\t{" + NL + "\t\tsuper(name);" + NL + "\t}" + NL + "" + NL

-			+ "} //";

-	protected final String TEXT_21 = NL;

-	protected final String TEXT_22 = NL;

-	protected final String TEXT_23 = NL;

-

-	public ModelTestSuite() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_22);

-		stringBuffer.append(TEXT_23);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPath = genModel.getTestsDirectory();

-		packageName = genModel.getTestSuitePackageName();

-		className = genModel.getTestSuiteClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,

-				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2005 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getTestSuitePackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genModel.getModelName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genModel.getTestSuiteClassName());

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));

-		stringBuffer.append(TEXT_7);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genModel.getNonNLS());

-		}

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(genModel.getImportedName("junit.textui.TestRunner"));

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(genModel.getImportedName("junit.framework.Test"));

-		stringBuffer.append(TEXT_13);

-		stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));

-		stringBuffer.append(TEXT_14);

-		stringBuffer.append(genModel.getTestSuiteClassName());

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(genModel.getModelName());

-		stringBuffer.append(TEXT_16);

-		stringBuffer.append(genModel.getNonNLS());

-		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {

-			if (genPackage.hasTests()) {

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(genModel.getImportedName(genPackage.getImportedTestSuiteClassName()));

-				stringBuffer.append(TEXT_18);

-			}

-		}

-		stringBuffer.append(TEXT_19);

-		stringBuffer.append(genModel.getTestSuiteClassName());

-		stringBuffer.append(TEXT_20);

-		stringBuffer.append(genModel.getTestSuiteClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_21);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");

-		canGenerate = canGenerate && (genModel.hasTestSuiteClass());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class ModelTestSuite extends org.eclipse.egf.emf.pattern.base.GenModelJava {
+	protected static String nl;
+
+	public static synchronized ModelTestSuite create(String lineSeparator) {
+		nl = lineSeparator;
+		ModelTestSuite result = new ModelTestSuite();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * A test suite for the '<em><b>";
+	protected final String TEXT_5 = "</b></em>' model." + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL
+			+ " */" + NL + "public class ";
+	protected final String TEXT_6 = " extends ";
+	protected final String TEXT_7 = NL + "{";
+	protected final String TEXT_8 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_9 = " copyright = ";
+	protected final String TEXT_10 = ";";
+	protected final String TEXT_11 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static void main(String[] args)" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_12 = ".run(suite());" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static ";
+	protected final String TEXT_13 = " suite()" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_14 = " suite = new ";
+	protected final String TEXT_15 = "(\"";
+	protected final String TEXT_16 = " Tests\");";
+	protected final String TEXT_17 = NL + "\t\tsuite.addTest(";
+	protected final String TEXT_18 = ".suite());";
+	protected final String TEXT_19 = NL + "\t\treturn suite;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic ";
+	protected final String TEXT_20 = "(String name)" + NL + "\t{" + NL + "\t\tsuper(name);" + NL + "\t}" + NL + "" + NL
+			+ "} //";
+	protected final String TEXT_21 = NL;
+	protected final String TEXT_22 = NL;
+	protected final String TEXT_23 = NL;
+
+	public ModelTestSuite() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_22);
+		stringBuffer.append(TEXT_23);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPath = genModel.getTestsDirectory();
+		packageName = genModel.getTestSuitePackageName();
+		className = genModel.getTestSuiteClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2005 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getTestSuitePackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genModel.getModelName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genModel.getTestSuiteClassName());
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));
+		stringBuffer.append(TEXT_7);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genModel.getNonNLS());
+		}
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(genModel.getImportedName("junit.textui.TestRunner"));
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(genModel.getImportedName("junit.framework.Test"));
+		stringBuffer.append(TEXT_13);
+		stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));
+		stringBuffer.append(TEXT_14);
+		stringBuffer.append(genModel.getTestSuiteClassName());
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(genModel.getModelName());
+		stringBuffer.append(TEXT_16);
+		stringBuffer.append(genModel.getNonNLS());
+		for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {
+			if (genPackage.hasTests()) {
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(genModel.getImportedName(genPackage.getImportedTestSuiteClassName()));
+				stringBuffer.append(TEXT_18);
+			}
+		}
+		stringBuffer.append(TEXT_19);
+		stringBuffer.append(genModel.getTestSuiteClassName());
+		stringBuffer.append(TEXT_20);
+		stringBuffer.append(genModel.getTestSuiteClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_21);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+		canGenerate = canGenerate && (genModel.hasTestSuiteClass());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageExample.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageExample.java
index 679266a..7ab3fd1 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageExample.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageExample.java
@@ -1,517 +1,513 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class PackageExample extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized PackageExample create(String lineSeparator) {

-		nl = lineSeparator;

-		PackageExample result = new PackageExample();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * A sample utility for the '<em><b>";

-	protected final String TEXT_5 = "</b></em>' package." + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL

-			+ " */" + NL + "public class ";

-	protected final String TEXT_6 = NL + "{";

-	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_8 = " copyright = ";

-	protected final String TEXT_9 = ";";

-	protected final String TEXT_10 = NL + "\t";

-	protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * Load all the argument file paths or URIs as instances of the model." + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @param args the file paths or URIs." + NL + "\t * @generated"

-			+ NL + "\t */" + NL + "\tpublic static void main(String[] args)" + NL + "\t{" + NL

-			+ "\t\t// Create a resource set to hold the resources." + NL + "\t\t//" + NL + "\t\t";

-	protected final String TEXT_12 = " resourceSet = new ";

-	protected final String TEXT_13 = "();" + NL + "\t\t";

-	protected final String TEXT_14 = NL

-			+ "\t\t// Register the appropriate resource factory to handle the content type." + NL + "\t\t//" + NL

-			+ "\t\tresourceSet.getResourceFactoryRegistry().getContentTypeToFactoryMap().put" + NL + "\t\t\t(";

-	protected final String TEXT_15 = ".eCONTENT_TYPE," + NL + "\t\t\t new ";

-	protected final String TEXT_16 = "());"

-			+ NL

-			+ "\t\t"

-			+ NL

-			+ "\t\t// Register the appropriate content handler for all file extensions and any element from the package's namespace."

-			+ NL + "\t\t//" + NL + "\t\tresourceSet.getURIConverter().getContentHandlers().add" + NL + "\t\t\t(new ";

-	protected final String TEXT_17 = "(";

-	protected final String TEXT_18 = ".eCONTENT_TYPE, null, null, ";

-	protected final String TEXT_19 = ".eNS_URI";

-	protected final String TEXT_20 = "(";

-	protected final String TEXT_21 = ")null";

-	protected final String TEXT_22 = ", null));";

-	protected final String TEXT_23 = NL

-			+ "\t\t// Register the appropriate resource factory to handle all file extensions." + NL + "\t\t//" + NL

-			+ "\t\tresourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put" + NL

-			+ "\t\t\t(Resource.Factory.Registry.DEFAULT_EXTENSION, " + NL + "\t\t\t new ";

-	protected final String TEXT_24 = "());";

-	protected final String TEXT_25 = NL + NL + "\t\t// Register the package to ensure it is available during loading."

-			+ NL + "\t\t//" + NL + "\t\tresourceSet.getPackageRegistry().put" + NL + "\t\t\t(";

-	protected final String TEXT_26 = ".eNS_URI, " + NL + "\t\t\t ";

-	protected final String TEXT_27 = ".eINSTANCE);" + NL + "        " + NL

-			+ "\t\t// If there are no arguments, emit an appropriate usage message." + NL + "\t\t//" + NL

-			+ "\t\tif (args.length == 0)" + NL + "\t\t{";

-	protected final String TEXT_28 = NL

-			+ "\t\t\tSystem.out.println(\"Enter a list of file paths or URIs that have content like this:\");";

-	protected final String TEXT_29 = NL + "\t\t\ttry" + NL + "\t\t\t{";

-	protected final String TEXT_30 = NL + "\t\t\t\t";

-	protected final String TEXT_31 = " resource = resourceSet.createResource(";

-	protected final String TEXT_32 = ".createURI(\"http:///My.";

-	protected final String TEXT_33 = "\"), ";

-	protected final String TEXT_34 = ".eCONTENT_TYPE);";

-	protected final String TEXT_35 = NL + "\t\t\t\t";

-	protected final String TEXT_36 = " resource = resourceSet.createResource(";

-	protected final String TEXT_37 = ".createURI(\"http:///My.";

-	protected final String TEXT_38 = "\"));";

-	protected final String TEXT_39 = NL + "\t\t\t\t";

-	protected final String TEXT_40 = " documentRoot = ";

-	protected final String TEXT_41 = ".create";

-	protected final String TEXT_42 = "();" + NL + "\t\t\t\t";

-	protected final String TEXT_43 = " root = ";

-	protected final String TEXT_44 = ".create";

-	protected final String TEXT_45 = "();";

-	protected final String TEXT_46 = NL + "\t\t\t\tdocumentRoot.eSet(";

-	protected final String TEXT_47 = ", root);";

-	protected final String TEXT_48 = NL + "\t\t\t\tdocumentRoot.set";

-	protected final String TEXT_49 = "(root);";

-	protected final String TEXT_50 = NL + "\t\t\t\tresource.getContents().add(";

-	protected final String TEXT_51 = "(";

-	protected final String TEXT_52 = ")";

-	protected final String TEXT_53 = "documentRoot);";

-	protected final String TEXT_54 = NL + "\t\t\t\t";

-	protected final String TEXT_55 = " root = ";

-	protected final String TEXT_56 = ".create";

-	protected final String TEXT_57 = "();" + NL + "\t\t\t\tresource.getContents().add(";

-	protected final String TEXT_58 = "(";

-	protected final String TEXT_59 = ")";

-	protected final String TEXT_60 = "root);";

-	protected final String TEXT_61 = NL + "\t\t\t\tresource.save(";

-	protected final String TEXT_62 = ".out, null);" + NL + "\t\t\t}" + NL + "\t\t\tcatch (";

-	protected final String TEXT_63 = " exception) " + NL + "\t\t\t{" + NL + "\t\t\t\texception.printStackTrace();" + NL

-			+ "\t\t\t}";

-	protected final String TEXT_64 = NL + "\t\t\tSystem.out.println(\"Enter a list of file paths or URIs\");";

-	protected final String TEXT_65 = NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{" + NL

-			+ "\t\t\t// Iterate over all the arguments." + NL + "\t\t\t//" + NL

-			+ "\t\t\tfor (int i = 0; i < args.length; ++i)" + NL + "\t\t\t{" + NL

-			+ "\t\t\t\t// Construct the URI for the instance file." + NL

-			+ "\t\t\t\t// The argument is treated as a file path only if it denotes an existing file." + NL

-			+ "\t\t\t\t// Otherwise, it's directly treated as a URL." + NL + "\t\t\t\t//" + NL + "\t\t\t\t";

-	protected final String TEXT_66 = " file = new ";

-	protected final String TEXT_67 = "(args[i]);" + NL + "\t\t\t\t";

-	protected final String TEXT_68 = " uri = file.isFile() ? ";

-	protected final String TEXT_69 = ".createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);" + NL + "" + NL

-			+ "\t\t\t\ttry" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t// Demand load resource for this file." + NL

-			+ "\t\t\t\t\t//" + NL + "\t\t\t\t\t";

-	protected final String TEXT_70 = " resource = resourceSet.getResource(uri, true);" + NL

-			+ "\t\t\t\t\tSystem.out.println(\"Loaded \" + uri);";

-	protected final String TEXT_71 = NL + NL + "\t\t\t\t\t// Validate the contents of the loaded resource." + NL

-			+ "\t\t\t\t\t//";

-	protected final String TEXT_72 = NL + "\t\t\t\t\tfor (";

-	protected final String TEXT_73 = " eObject : resource.getContents())";

-	protected final String TEXT_74 = NL + "\t\t\t\t\tfor (";

-	protected final String TEXT_75 = " j = resource.getContents().iterator(); j.hasNext(); )";

-	protected final String TEXT_76 = NL + "\t\t\t\t\t{";

-	protected final String TEXT_77 = NL + "\t\t\t\t\t\t";

-	protected final String TEXT_78 = " eObject = (";

-	protected final String TEXT_79 = ")j.next();";

-	protected final String TEXT_80 = NL + "\t\t\t\t\t\t";

-	protected final String TEXT_81 = " diagnostic = ";

-	protected final String TEXT_82 = ".INSTANCE.validate(eObject);" + NL

-			+ "\t\t\t\t\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t\t\t\t{" + NL

-			+ "\t\t\t\t\t\t\tprintDiagnostic(diagnostic, \"\");";

-	protected final String TEXT_83 = NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL

-			+ "\t\t\t\tcatch (";

-	protected final String TEXT_84 = " exception) " + NL + "\t\t\t\t{" + NL

-			+ "\t\t\t\t\tSystem.out.println(\"Problem loading \" + uri);";

-	protected final String TEXT_85 = NL + "\t\t\t\t\texception.printStackTrace();" + NL + "\t\t\t\t}" + NL + "\t\t\t}"

-			+ NL + "\t\t}" + NL + "\t}" + NL + "\t" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * Prints diagnostics with indentation." + NL + "\t * <!-- end-user-doc -->" + NL

-			+ "\t * @param diagnostic the diagnostic to print." + NL

-			+ "\t * @param indent the indentation for printing." + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected static void printDiagnostic(Diagnostic diagnostic, String indent)" + NL + "\t{" + NL

-			+ "\t\tSystem.out.print(indent);" + NL + "\t\tSystem.out.println(diagnostic.getMessage());";

-	protected final String TEXT_86 = NL + "\t\tfor (Diagnostic child : diagnostic.getChildren())" + NL + "\t\t{" + NL

-			+ "\t\t\tprintDiagnostic(child, indent + \"  \");";

-	protected final String TEXT_87 = NL + "\t\t}";

-	protected final String TEXT_88 = NL + "\t\tfor (Iterator i = diagnostic.getChildren().iterator(); i.hasNext(); )"

-			+ NL + "\t\t{" + NL + "\t\t\tprintDiagnostic((Diagnostic)i.next(), indent + \"  \");";

-	protected final String TEXT_89 = NL + "\t\t}";

-	protected final String TEXT_90 = NL + "\t}" + NL + "" + NL + "} //";

-	protected final String TEXT_91 = NL;

-	protected final String TEXT_92 = NL;

-	protected final String TEXT_93 = NL;

-

-	public PackageExample() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_92);

-		stringBuffer.append(TEXT_93);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getTestsDirectory();

-		packageName = genPackage.getTestsPackageName();

-		className = genPackage.getExampleClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,

-				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2005-2007 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) argument;

-		GenModel genModel = genPackage.getGenModel();

-

-		String _System = genModel.getImportedName("java.lang.System");

-		String _String = genModel.getImportedName("java.lang.String");

-		String _RuntimeException = genModel.getImportedName("java.lang.RuntimeException");

-		String _File = genModel.getImportedName("java.io.File");

-		String _Iterator = null;

-		if (!genModel.useGenerics()) {

-			_Iterator = genModel.getImportedName("java.util.Iterator");

-		}

-		String _Diagnostic = genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic");

-		String _URI = genModel.getImportedName("org.eclipse.emf.common.util.URI");

-		String _EObject = genModel.getImportedName("org.eclipse.emf.ecore.EObject");

-		String _Diagnostician = genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician");

-		String _Resource = genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource");

-		String _ResourceSet = genModel.getImportedName("org.eclipse.emf.ecore.resource.ResourceSet");

-		String _ResourceSetImpl = genModel.getImportedName("org.eclipse.emf.ecore.resource.impl.ResourceSetImpl");

-

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getTestsPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genPackage.getPackageName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genPackage.getExampleClassName());

-		stringBuffer.append(TEXT_6);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_7);

-			stringBuffer.append(_String);

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_10);

-		}

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(_ResourceSet);

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(_ResourceSetImpl);

-		stringBuffer.append(TEXT_13);

-		if (genPackage.isContentType()) {

-			stringBuffer.append(TEXT_14);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_15);

-			stringBuffer.append(genModel.getImportedName(genPackage.getQualifiedEffectiveResourceFactoryClassName()));

-			stringBuffer.append(TEXT_16);

-			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl"));

-			stringBuffer.append(TEXT_17);

-			stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-			stringBuffer.append(TEXT_18);

-			if (genPackage.hasTargetNamespace()) {

-				stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-				stringBuffer.append(TEXT_19);

-			} else {

-				stringBuffer.append(TEXT_20);

-				stringBuffer.append(_String);

-				stringBuffer.append(TEXT_21);

-			}

-			stringBuffer.append(TEXT_22);

-		} else {

-			stringBuffer.append(TEXT_23);

-			stringBuffer.append(genModel.getImportedName(genPackage.getQualifiedEffectiveResourceFactoryClassName()));

-			stringBuffer.append(TEXT_24);

-		}

-		stringBuffer.append(TEXT_25);

-		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-		stringBuffer.append(TEXT_26);

-		stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-		stringBuffer.append(TEXT_27);

-		if (genPackage.getRootClass() != null) {

-			GenClass rootClass = genPackage.getRootClass();

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_29);

-			if (genPackage.isContentType()) {

-				stringBuffer.append(TEXT_30);

-				stringBuffer.append(_Resource);

-				stringBuffer.append(TEXT_31);

-				stringBuffer.append(_URI);

-				stringBuffer.append(TEXT_32);

-				stringBuffer.append(genPackage.getFileExtension());

-				stringBuffer.append(TEXT_33);

-				stringBuffer.append(genPackage.getImportedPackageInterfaceName());

-				stringBuffer.append(TEXT_34);

-				stringBuffer.append(genModel.getNonNLS());

-			} else {

-				stringBuffer.append(TEXT_35);

-				stringBuffer.append(_Resource);

-				stringBuffer.append(TEXT_36);

-				stringBuffer.append(_URI);

-				stringBuffer.append(TEXT_37);

-				stringBuffer.append(genPackage.getFileExtension());

-				stringBuffer.append(TEXT_38);

-				stringBuffer.append(genModel.getNonNLS());

-			}

-			if (genPackage.getRootFeature() != null) {

-				GenFeature rootFeature = genPackage.getRootFeature();

-				GenClass documentRoot = rootFeature.getGenClass();

-				stringBuffer.append(TEXT_39);

-				stringBuffer.append(documentRoot.getImportedInterfaceName());

-				stringBuffer.append(TEXT_40);

-				stringBuffer.append(genPackage.getQualifiedEFactoryInternalInstanceAccessor());

-				stringBuffer.append(TEXT_41);

-				stringBuffer.append(documentRoot.getName());

-				stringBuffer.append(TEXT_42);

-				stringBuffer.append(rootClass.getImportedInterfaceName());

-				stringBuffer.append(TEXT_43);

-				stringBuffer.append(rootClass.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

-				stringBuffer.append(TEXT_44);

-				stringBuffer.append(rootClass.getName());

-				stringBuffer.append(TEXT_45);

-				if (documentRoot.isDynamic()) {

-					stringBuffer.append(TEXT_46);

-					stringBuffer.append(rootFeature.getQualifiedFeatureAccessor());

-					stringBuffer.append(TEXT_47);

-				} else {

-					stringBuffer.append(TEXT_48);

-					stringBuffer.append(rootFeature.getCapName());

-					stringBuffer.append(TEXT_49);

-				}

-				stringBuffer.append(TEXT_50);

-				if (!documentRoot.isEObjectExtension()) {

-					stringBuffer.append(TEXT_51);

-					stringBuffer.append(_EObject);

-					stringBuffer.append(TEXT_52);

-				}

-				stringBuffer.append(TEXT_53);

-			} else {

-				stringBuffer.append(TEXT_54);

-				stringBuffer.append(rootClass.getImportedInterfaceName());

-				stringBuffer.append(rootClass.getInterfaceWildTypeArguments());

-				stringBuffer.append(TEXT_55);

-				stringBuffer.append(rootClass.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());

-				stringBuffer.append(TEXT_56);

-				stringBuffer.append(rootClass.getName());

-				stringBuffer.append(TEXT_57);

-				if (!rootClass.isEObjectExtension()) {

-					stringBuffer.append(TEXT_58);

-					stringBuffer.append(_EObject);

-					stringBuffer.append(TEXT_59);

-				}

-				stringBuffer.append(TEXT_60);

-			}

-			stringBuffer.append(TEXT_61);

-			stringBuffer.append(_System);

-			stringBuffer.append(TEXT_62);

-			stringBuffer.append(genModel.getImportedName("java.io.IOException"));

-			stringBuffer.append(TEXT_63);

-		} else {

-			stringBuffer.append(TEXT_64);

-		}

-		stringBuffer.append(TEXT_65);

-		stringBuffer.append(_File);

-		stringBuffer.append(TEXT_66);

-		stringBuffer.append(_File);

-		stringBuffer.append(TEXT_67);

-		stringBuffer.append(_URI);

-		stringBuffer.append(TEXT_68);

-		stringBuffer.append(_URI);

-		stringBuffer.append(TEXT_69);

-		stringBuffer.append(_Resource);

-		stringBuffer.append(TEXT_70);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_71);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_72);

-			stringBuffer.append(_EObject);

-			stringBuffer.append(TEXT_73);

-		} else {

-			stringBuffer.append(TEXT_74);

-			stringBuffer.append(_Iterator);

-			stringBuffer.append(TEXT_75);

-		}

-		stringBuffer.append(TEXT_76);

-		if (!genModel.useGenerics()) {

-			stringBuffer.append(TEXT_77);

-			stringBuffer.append(_EObject);

-			stringBuffer.append(TEXT_78);

-			stringBuffer.append(_EObject);

-			stringBuffer.append(TEXT_79);

-		}

-		stringBuffer.append(TEXT_80);

-		stringBuffer.append(_Diagnostic);

-		stringBuffer.append(TEXT_81);

-		stringBuffer.append(_Diagnostician);

-		stringBuffer.append(TEXT_82);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_83);

-		stringBuffer.append(_RuntimeException);

-		stringBuffer.append(TEXT_84);

-		stringBuffer.append(genModel.getNonNLS());

-		stringBuffer.append(TEXT_85);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_86);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_87);

-		} else {

-			stringBuffer.append(TEXT_88);

-			stringBuffer.append(genModel.getNonNLS());

-			stringBuffer.append(TEXT_89);

-		}

-		stringBuffer.append(TEXT_90);

-		stringBuffer.append(genPackage.getExampleClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_91);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");

-		canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.isGenerateExampleClass());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PackageExample extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized PackageExample create(String lineSeparator) {
+		nl = lineSeparator;
+		PackageExample result = new PackageExample();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * A sample utility for the '<em><b>";
+	protected final String TEXT_5 = "</b></em>' package." + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL
+			+ " */" + NL + "public class ";
+	protected final String TEXT_6 = NL + "{";
+	protected final String TEXT_7 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_8 = " copyright = ";
+	protected final String TEXT_9 = ";";
+	protected final String TEXT_10 = NL + "\t";
+	protected final String TEXT_11 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * Load all the argument file paths or URIs as instances of the model." + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @param args the file paths or URIs." + NL + "\t * @generated"
+			+ NL + "\t */" + NL + "\tpublic static void main(String[] args)" + NL + "\t{" + NL
+			+ "\t\t// Create a resource set to hold the resources." + NL + "\t\t//" + NL + "\t\t";
+	protected final String TEXT_12 = " resourceSet = new ";
+	protected final String TEXT_13 = "();" + NL + "\t\t";
+	protected final String TEXT_14 = NL + "\t\t// Register the appropriate resource factory to handle the content type."
+			+ NL + "\t\t//" + NL + "\t\tresourceSet.getResourceFactoryRegistry().getContentTypeToFactoryMap().put" + NL
+			+ "\t\t\t(";
+	protected final String TEXT_15 = ".eCONTENT_TYPE," + NL + "\t\t\t new ";
+	protected final String TEXT_16 = "());" + NL + "\t\t" + NL
+			+ "\t\t// Register the appropriate content handler for all file extensions and any element from the package's namespace."
+			+ NL + "\t\t//" + NL + "\t\tresourceSet.getURIConverter().getContentHandlers().add" + NL + "\t\t\t(new ";
+	protected final String TEXT_17 = "(";
+	protected final String TEXT_18 = ".eCONTENT_TYPE, null, null, ";
+	protected final String TEXT_19 = ".eNS_URI";
+	protected final String TEXT_20 = "(";
+	protected final String TEXT_21 = ")null";
+	protected final String TEXT_22 = ", null));";
+	protected final String TEXT_23 = NL
+			+ "\t\t// Register the appropriate resource factory to handle all file extensions." + NL + "\t\t//" + NL
+			+ "\t\tresourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put" + NL
+			+ "\t\t\t(Resource.Factory.Registry.DEFAULT_EXTENSION, " + NL + "\t\t\t new ";
+	protected final String TEXT_24 = "());";
+	protected final String TEXT_25 = NL + NL + "\t\t// Register the package to ensure it is available during loading."
+			+ NL + "\t\t//" + NL + "\t\tresourceSet.getPackageRegistry().put" + NL + "\t\t\t(";
+	protected final String TEXT_26 = ".eNS_URI, " + NL + "\t\t\t ";
+	protected final String TEXT_27 = ".eINSTANCE);" + NL + "        " + NL
+			+ "\t\t// If there are no arguments, emit an appropriate usage message." + NL + "\t\t//" + NL
+			+ "\t\tif (args.length == 0)" + NL + "\t\t{";
+	protected final String TEXT_28 = NL
+			+ "\t\t\tSystem.out.println(\"Enter a list of file paths or URIs that have content like this:\");";
+	protected final String TEXT_29 = NL + "\t\t\ttry" + NL + "\t\t\t{";
+	protected final String TEXT_30 = NL + "\t\t\t\t";
+	protected final String TEXT_31 = " resource = resourceSet.createResource(";
+	protected final String TEXT_32 = ".createURI(\"http:///My.";
+	protected final String TEXT_33 = "\"), ";
+	protected final String TEXT_34 = ".eCONTENT_TYPE);";
+	protected final String TEXT_35 = NL + "\t\t\t\t";
+	protected final String TEXT_36 = " resource = resourceSet.createResource(";
+	protected final String TEXT_37 = ".createURI(\"http:///My.";
+	protected final String TEXT_38 = "\"));";
+	protected final String TEXT_39 = NL + "\t\t\t\t";
+	protected final String TEXT_40 = " documentRoot = ";
+	protected final String TEXT_41 = ".create";
+	protected final String TEXT_42 = "();" + NL + "\t\t\t\t";
+	protected final String TEXT_43 = " root = ";
+	protected final String TEXT_44 = ".create";
+	protected final String TEXT_45 = "();";
+	protected final String TEXT_46 = NL + "\t\t\t\tdocumentRoot.eSet(";
+	protected final String TEXT_47 = ", root);";
+	protected final String TEXT_48 = NL + "\t\t\t\tdocumentRoot.set";
+	protected final String TEXT_49 = "(root);";
+	protected final String TEXT_50 = NL + "\t\t\t\tresource.getContents().add(";
+	protected final String TEXT_51 = "(";
+	protected final String TEXT_52 = ")";
+	protected final String TEXT_53 = "documentRoot);";
+	protected final String TEXT_54 = NL + "\t\t\t\t";
+	protected final String TEXT_55 = " root = ";
+	protected final String TEXT_56 = ".create";
+	protected final String TEXT_57 = "();" + NL + "\t\t\t\tresource.getContents().add(";
+	protected final String TEXT_58 = "(";
+	protected final String TEXT_59 = ")";
+	protected final String TEXT_60 = "root);";
+	protected final String TEXT_61 = NL + "\t\t\t\tresource.save(";
+	protected final String TEXT_62 = ".out, null);" + NL + "\t\t\t}" + NL + "\t\t\tcatch (";
+	protected final String TEXT_63 = " exception) " + NL + "\t\t\t{" + NL + "\t\t\t\texception.printStackTrace();" + NL
+			+ "\t\t\t}";
+	protected final String TEXT_64 = NL + "\t\t\tSystem.out.println(\"Enter a list of file paths or URIs\");";
+	protected final String TEXT_65 = NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{" + NL
+			+ "\t\t\t// Iterate over all the arguments." + NL + "\t\t\t//" + NL
+			+ "\t\t\tfor (int i = 0; i < args.length; ++i)" + NL + "\t\t\t{" + NL
+			+ "\t\t\t\t// Construct the URI for the instance file." + NL
+			+ "\t\t\t\t// The argument is treated as a file path only if it denotes an existing file." + NL
+			+ "\t\t\t\t// Otherwise, it's directly treated as a URL." + NL + "\t\t\t\t//" + NL + "\t\t\t\t";
+	protected final String TEXT_66 = " file = new ";
+	protected final String TEXT_67 = "(args[i]);" + NL + "\t\t\t\t";
+	protected final String TEXT_68 = " uri = file.isFile() ? ";
+	protected final String TEXT_69 = ".createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);" + NL + "" + NL
+			+ "\t\t\t\ttry" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\t// Demand load resource for this file." + NL
+			+ "\t\t\t\t\t//" + NL + "\t\t\t\t\t";
+	protected final String TEXT_70 = " resource = resourceSet.getResource(uri, true);" + NL
+			+ "\t\t\t\t\tSystem.out.println(\"Loaded \" + uri);";
+	protected final String TEXT_71 = NL + NL + "\t\t\t\t\t// Validate the contents of the loaded resource." + NL
+			+ "\t\t\t\t\t//";
+	protected final String TEXT_72 = NL + "\t\t\t\t\tfor (";
+	protected final String TEXT_73 = " eObject : resource.getContents())";
+	protected final String TEXT_74 = NL + "\t\t\t\t\tfor (";
+	protected final String TEXT_75 = " j = resource.getContents().iterator(); j.hasNext(); )";
+	protected final String TEXT_76 = NL + "\t\t\t\t\t{";
+	protected final String TEXT_77 = NL + "\t\t\t\t\t\t";
+	protected final String TEXT_78 = " eObject = (";
+	protected final String TEXT_79 = ")j.next();";
+	protected final String TEXT_80 = NL + "\t\t\t\t\t\t";
+	protected final String TEXT_81 = " diagnostic = ";
+	protected final String TEXT_82 = ".INSTANCE.validate(eObject);" + NL
+			+ "\t\t\t\t\t\tif (diagnostic.getSeverity() != Diagnostic.OK)" + NL + "\t\t\t\t\t\t{" + NL
+			+ "\t\t\t\t\t\t\tprintDiagnostic(diagnostic, \"\");";
+	protected final String TEXT_83 = NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL
+			+ "\t\t\t\tcatch (";
+	protected final String TEXT_84 = " exception) " + NL + "\t\t\t\t{" + NL
+			+ "\t\t\t\t\tSystem.out.println(\"Problem loading \" + uri);";
+	protected final String TEXT_85 = NL + "\t\t\t\t\texception.printStackTrace();" + NL + "\t\t\t\t}" + NL + "\t\t\t}"
+			+ NL + "\t\t}" + NL + "\t}" + NL + "\t" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * Prints diagnostics with indentation." + NL + "\t * <!-- end-user-doc -->" + NL
+			+ "\t * @param diagnostic the diagnostic to print." + NL
+			+ "\t * @param indent the indentation for printing." + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected static void printDiagnostic(Diagnostic diagnostic, String indent)" + NL + "\t{" + NL
+			+ "\t\tSystem.out.print(indent);" + NL + "\t\tSystem.out.println(diagnostic.getMessage());";
+	protected final String TEXT_86 = NL + "\t\tfor (Diagnostic child : diagnostic.getChildren())" + NL + "\t\t{" + NL
+			+ "\t\t\tprintDiagnostic(child, indent + \"  \");";
+	protected final String TEXT_87 = NL + "\t\t}";
+	protected final String TEXT_88 = NL + "\t\tfor (Iterator i = diagnostic.getChildren().iterator(); i.hasNext(); )"
+			+ NL + "\t\t{" + NL + "\t\t\tprintDiagnostic((Diagnostic)i.next(), indent + \"  \");";
+	protected final String TEXT_89 = NL + "\t\t}";
+	protected final String TEXT_90 = NL + "\t}" + NL + "" + NL + "} //";
+	protected final String TEXT_91 = NL;
+	protected final String TEXT_92 = NL;
+	protected final String TEXT_93 = NL;
+
+	public PackageExample() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_92);
+		stringBuffer.append(TEXT_93);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getTestsDirectory();
+		packageName = genPackage.getTestsPackageName();
+		className = genPackage.getExampleClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2005-2007 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) argument;
+		GenModel genModel = genPackage.getGenModel();
+
+		String _System = genModel.getImportedName("java.lang.System");
+		String _String = genModel.getImportedName("java.lang.String");
+		String _RuntimeException = genModel.getImportedName("java.lang.RuntimeException");
+		String _File = genModel.getImportedName("java.io.File");
+		String _Iterator = null;
+		if (!genModel.useGenerics()) {
+			_Iterator = genModel.getImportedName("java.util.Iterator");
+		}
+		String _Diagnostic = genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic");
+		String _URI = genModel.getImportedName("org.eclipse.emf.common.util.URI");
+		String _EObject = genModel.getImportedName("org.eclipse.emf.ecore.EObject");
+		String _Diagnostician = genModel.getImportedName("org.eclipse.emf.ecore.util.Diagnostician");
+		String _Resource = genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource");
+		String _ResourceSet = genModel.getImportedName("org.eclipse.emf.ecore.resource.ResourceSet");
+		String _ResourceSetImpl = genModel.getImportedName("org.eclipse.emf.ecore.resource.impl.ResourceSetImpl");
+
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getTestsPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genPackage.getPackageName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genPackage.getExampleClassName());
+		stringBuffer.append(TEXT_6);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_7);
+			stringBuffer.append(_String);
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_10);
+		}
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(_ResourceSet);
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(_ResourceSetImpl);
+		stringBuffer.append(TEXT_13);
+		if (genPackage.isContentType()) {
+			stringBuffer.append(TEXT_14);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_15);
+			stringBuffer.append(genModel.getImportedName(genPackage.getQualifiedEffectiveResourceFactoryClassName()));
+			stringBuffer.append(TEXT_16);
+			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl"));
+			stringBuffer.append(TEXT_17);
+			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+			stringBuffer.append(TEXT_18);
+			if (genPackage.hasTargetNamespace()) {
+				stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+				stringBuffer.append(TEXT_19);
+			} else {
+				stringBuffer.append(TEXT_20);
+				stringBuffer.append(_String);
+				stringBuffer.append(TEXT_21);
+			}
+			stringBuffer.append(TEXT_22);
+		} else {
+			stringBuffer.append(TEXT_23);
+			stringBuffer.append(genModel.getImportedName(genPackage.getQualifiedEffectiveResourceFactoryClassName()));
+			stringBuffer.append(TEXT_24);
+		}
+		stringBuffer.append(TEXT_25);
+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+		stringBuffer.append(TEXT_26);
+		stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+		stringBuffer.append(TEXT_27);
+		if (genPackage.getRootClass() != null) {
+			GenClass rootClass = genPackage.getRootClass();
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_29);
+			if (genPackage.isContentType()) {
+				stringBuffer.append(TEXT_30);
+				stringBuffer.append(_Resource);
+				stringBuffer.append(TEXT_31);
+				stringBuffer.append(_URI);
+				stringBuffer.append(TEXT_32);
+				stringBuffer.append(genPackage.getFileExtension());
+				stringBuffer.append(TEXT_33);
+				stringBuffer.append(genPackage.getImportedPackageInterfaceName());
+				stringBuffer.append(TEXT_34);
+				stringBuffer.append(genModel.getNonNLS());
+			} else {
+				stringBuffer.append(TEXT_35);
+				stringBuffer.append(_Resource);
+				stringBuffer.append(TEXT_36);
+				stringBuffer.append(_URI);
+				stringBuffer.append(TEXT_37);
+				stringBuffer.append(genPackage.getFileExtension());
+				stringBuffer.append(TEXT_38);
+				stringBuffer.append(genModel.getNonNLS());
+			}
+			if (genPackage.getRootFeature() != null) {
+				GenFeature rootFeature = genPackage.getRootFeature();
+				GenClass documentRoot = rootFeature.getGenClass();
+				stringBuffer.append(TEXT_39);
+				stringBuffer.append(documentRoot.getImportedInterfaceName());
+				stringBuffer.append(TEXT_40);
+				stringBuffer.append(genPackage.getQualifiedEFactoryInternalInstanceAccessor());
+				stringBuffer.append(TEXT_41);
+				stringBuffer.append(documentRoot.getName());
+				stringBuffer.append(TEXT_42);
+				stringBuffer.append(rootClass.getImportedInterfaceName());
+				stringBuffer.append(TEXT_43);
+				stringBuffer.append(rootClass.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+				stringBuffer.append(TEXT_44);
+				stringBuffer.append(rootClass.getName());
+				stringBuffer.append(TEXT_45);
+				if (documentRoot.isDynamic()) {
+					stringBuffer.append(TEXT_46);
+					stringBuffer.append(rootFeature.getQualifiedFeatureAccessor());
+					stringBuffer.append(TEXT_47);
+				} else {
+					stringBuffer.append(TEXT_48);
+					stringBuffer.append(rootFeature.getCapName());
+					stringBuffer.append(TEXT_49);
+				}
+				stringBuffer.append(TEXT_50);
+				if (!documentRoot.isEObjectExtension()) {
+					stringBuffer.append(TEXT_51);
+					stringBuffer.append(_EObject);
+					stringBuffer.append(TEXT_52);
+				}
+				stringBuffer.append(TEXT_53);
+			} else {
+				stringBuffer.append(TEXT_54);
+				stringBuffer.append(rootClass.getImportedInterfaceName());
+				stringBuffer.append(rootClass.getInterfaceWildTypeArguments());
+				stringBuffer.append(TEXT_55);
+				stringBuffer.append(rootClass.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor());
+				stringBuffer.append(TEXT_56);
+				stringBuffer.append(rootClass.getName());
+				stringBuffer.append(TEXT_57);
+				if (!rootClass.isEObjectExtension()) {
+					stringBuffer.append(TEXT_58);
+					stringBuffer.append(_EObject);
+					stringBuffer.append(TEXT_59);
+				}
+				stringBuffer.append(TEXT_60);
+			}
+			stringBuffer.append(TEXT_61);
+			stringBuffer.append(_System);
+			stringBuffer.append(TEXT_62);
+			stringBuffer.append(genModel.getImportedName("java.io.IOException"));
+			stringBuffer.append(TEXT_63);
+		} else {
+			stringBuffer.append(TEXT_64);
+		}
+		stringBuffer.append(TEXT_65);
+		stringBuffer.append(_File);
+		stringBuffer.append(TEXT_66);
+		stringBuffer.append(_File);
+		stringBuffer.append(TEXT_67);
+		stringBuffer.append(_URI);
+		stringBuffer.append(TEXT_68);
+		stringBuffer.append(_URI);
+		stringBuffer.append(TEXT_69);
+		stringBuffer.append(_Resource);
+		stringBuffer.append(TEXT_70);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_71);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_72);
+			stringBuffer.append(_EObject);
+			stringBuffer.append(TEXT_73);
+		} else {
+			stringBuffer.append(TEXT_74);
+			stringBuffer.append(_Iterator);
+			stringBuffer.append(TEXT_75);
+		}
+		stringBuffer.append(TEXT_76);
+		if (!genModel.useGenerics()) {
+			stringBuffer.append(TEXT_77);
+			stringBuffer.append(_EObject);
+			stringBuffer.append(TEXT_78);
+			stringBuffer.append(_EObject);
+			stringBuffer.append(TEXT_79);
+		}
+		stringBuffer.append(TEXT_80);
+		stringBuffer.append(_Diagnostic);
+		stringBuffer.append(TEXT_81);
+		stringBuffer.append(_Diagnostician);
+		stringBuffer.append(TEXT_82);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_83);
+		stringBuffer.append(_RuntimeException);
+		stringBuffer.append(TEXT_84);
+		stringBuffer.append(genModel.getNonNLS());
+		stringBuffer.append(TEXT_85);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_86);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_87);
+		} else {
+			stringBuffer.append(TEXT_88);
+			stringBuffer.append(genModel.getNonNLS());
+			stringBuffer.append(TEXT_89);
+		}
+		stringBuffer.append(TEXT_90);
+		stringBuffer.append(genPackage.getExampleClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_91);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+		canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.isGenerateExampleClass());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageTestSuite.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageTestSuite.java
index 53610fb..cbe4803 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageTestSuite.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PackageTestSuite.java
@@ -1,254 +1,253 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class PackageTestSuite extends org.eclipse.egf.emf.pattern.base.GenPackageJava {

-	protected static String nl;

-

-	public static synchronized PackageTestSuite create(String lineSeparator) {

-		nl = lineSeparator;

-		PackageTestSuite result = new PackageTestSuite();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * A test suite for the '<em><b>";

-	protected final String TEXT_5 = "</b></em>' package." + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL

-			+ " */" + NL + "public class ";

-	protected final String TEXT_6 = " extends ";

-	protected final String TEXT_7 = NL + "{";

-	protected final String TEXT_8 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_9 = " copyright = ";

-	protected final String TEXT_10 = ";";

-	protected final String TEXT_11 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static void main(String[] args)" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_12 = ".run(suite());" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic static ";

-	protected final String TEXT_13 = " suite()" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_14 = " suite = new ";

-	protected final String TEXT_15 = "(\"";

-	protected final String TEXT_16 = " Tests\");";

-	protected final String TEXT_17 = NL + "\t\tsuite.addTestSuite(";

-	protected final String TEXT_18 = ".class);";

-	protected final String TEXT_19 = NL + "\t\treturn suite;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL

-			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL

-			+ "\t */" + NL + "\tpublic ";

-	protected final String TEXT_20 = "(String name)" + NL + "\t{" + NL + "\t\tsuper(name);" + NL + "\t}" + NL + "" + NL

-			+ "} //";

-	protected final String TEXT_21 = NL;

-	protected final String TEXT_22 = NL;

-	protected final String TEXT_23 = NL;

-

-	public PackageTestSuite() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_22);

-		stringBuffer.append(TEXT_23);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenPackage genPackage = parameter;

-		targetPath = genPackage.getGenModel().getTestsDirectory();

-		packageName = genPackage.getTestsPackageName();

-		className = genPackage.getTestSuiteClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenPackage genPackage = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,

-				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2005 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenPackage genPackage = (GenPackage) argument;

-		GenModel genModel = genPackage.getGenModel(); /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getTestsPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genPackage.getPackageName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genPackage.getTestSuiteClassName());

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));

-		stringBuffer.append(TEXT_7);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_8);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_9);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_10);

-			stringBuffer.append(genModel.getNonNLS());

-		}

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(genModel.getImportedName("junit.textui.TestRunner"));

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(genModel.getImportedName("junit.framework.Test"));

-		stringBuffer.append(TEXT_13);

-		stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));

-		stringBuffer.append(TEXT_14);

-		stringBuffer.append(genPackage.getTestSuiteClassName());

-		stringBuffer.append(TEXT_15);

-		stringBuffer.append(genPackage.getPackageName());

-		stringBuffer.append(TEXT_16);

-		stringBuffer.append(genModel.getNonNLS());

-		for (GenClass genClass : genPackage.getGenClasses()) {

-			if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests()) {

-				stringBuffer.append(TEXT_17);

-				stringBuffer.append(genClass.getImportedTestCaseClassName());

-				stringBuffer.append(TEXT_18);

-			}

-		}

-		stringBuffer.append(TEXT_19);

-		stringBuffer.append(genPackage.getTestSuiteClassName());

-		stringBuffer.append(TEXT_20);

-		stringBuffer.append(genPackage.getTestSuiteClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_21);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenPackage genPackage = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");

-		canGenerate = canGenerate && (genPackage.hasClassifiers());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PackageTestSuite extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
+	protected static String nl;
+
+	public static synchronized PackageTestSuite create(String lineSeparator) {
+		nl = lineSeparator;
+		PackageTestSuite result = new PackageTestSuite();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * A test suite for the '<em><b>";
+	protected final String TEXT_5 = "</b></em>' package." + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL
+			+ " */" + NL + "public class ";
+	protected final String TEXT_6 = " extends ";
+	protected final String TEXT_7 = NL + "{";
+	protected final String TEXT_8 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_9 = " copyright = ";
+	protected final String TEXT_10 = ";";
+	protected final String TEXT_11 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static void main(String[] args)" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_12 = ".run(suite());" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic static ";
+	protected final String TEXT_13 = " suite()" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_14 = " suite = new ";
+	protected final String TEXT_15 = "(\"";
+	protected final String TEXT_16 = " Tests\");";
+	protected final String TEXT_17 = NL + "\t\tsuite.addTestSuite(";
+	protected final String TEXT_18 = ".class);";
+	protected final String TEXT_19 = NL + "\t\treturn suite;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
+			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"
+			+ NL + "\tpublic ";
+	protected final String TEXT_20 = "(String name)" + NL + "\t{" + NL + "\t\tsuper(name);" + NL + "\t}" + NL + "" + NL
+			+ "} //";
+	protected final String TEXT_21 = NL;
+	protected final String TEXT_22 = NL;
+	protected final String TEXT_23 = NL;
+
+	public PackageTestSuite() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_22);
+		stringBuffer.append(TEXT_23);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenPackage genPackage = parameter;
+		targetPath = genPackage.getGenModel().getTestsDirectory();
+		packageName = genPackage.getTestsPackageName();
+		className = genPackage.getTestSuiteClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenPackage genPackage = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2005 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenPackage genPackage = (GenPackage) argument;
+		GenModel genModel = genPackage.getGenModel();
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getTestsPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genPackage.getPackageName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genPackage.getTestSuiteClassName());
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));
+		stringBuffer.append(TEXT_7);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_8);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_9);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_10);
+			stringBuffer.append(genModel.getNonNLS());
+		}
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(genModel.getImportedName("junit.textui.TestRunner"));
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(genModel.getImportedName("junit.framework.Test"));
+		stringBuffer.append(TEXT_13);
+		stringBuffer.append(genModel.getImportedName("junit.framework.TestSuite"));
+		stringBuffer.append(TEXT_14);
+		stringBuffer.append(genPackage.getTestSuiteClassName());
+		stringBuffer.append(TEXT_15);
+		stringBuffer.append(genPackage.getPackageName());
+		stringBuffer.append(TEXT_16);
+		stringBuffer.append(genModel.getNonNLS());
+		for (GenClass genClass : genPackage.getGenClasses()) {
+			if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests()) {
+				stringBuffer.append(TEXT_17);
+				stringBuffer.append(genClass.getImportedTestCaseClassName());
+				stringBuffer.append(TEXT_18);
+			}
+		}
+		stringBuffer.append(TEXT_19);
+		stringBuffer.append(genPackage.getTestSuiteClassName());
+		stringBuffer.append(TEXT_20);
+		stringBuffer.append(genPackage.getTestSuiteClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_21);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenPackage genPackage = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+		canGenerate = canGenerate && (genPackage.hasClassifiers());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginProperties.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginProperties.java
index 7f845f5..2b69c58 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginProperties.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginProperties.java
@@ -1,181 +1,180 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class PluginProperties extends org.eclipse.egf.emf.pattern.base.GenModelProperties {

-	protected static String nl;

-

-	public static synchronized PluginProperties create(String lineSeparator) {

-		nl = lineSeparator;

-		PluginProperties result = new PluginProperties();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + NL + "pluginName = ";

-	protected final String TEXT_3 = " Tests" + NL + "providerName = www.example.org" + NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-

-	public PluginProperties() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(TEXT_5);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getTestsProjectDirectory() + "/plugin.properties";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,

-				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2005 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument;

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genModel.getModelName());

-		stringBuffer.append(TEXT_3);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");

-		canGenerate = canGenerate && (!genModel.sameModelTestsProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginProperties extends org.eclipse.egf.emf.pattern.base.GenModelProperties {
+	protected static String nl;
+
+	public static synchronized PluginProperties create(String lineSeparator) {
+		nl = lineSeparator;
+		PluginProperties result = new PluginProperties();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + NL + "pluginName = ";
+	protected final String TEXT_3 = " Tests" + NL + "providerName = www.example.org" + NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+
+	public PluginProperties() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(TEXT_5);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getTestsProjectDirectory() + "/plugin.properties";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2005 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderProperties" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_FEoPwCwuEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genModel.getModelName());
+		stringBuffer.append(TEXT_3);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+		canGenerate = canGenerate && (!genModel.sameModelTestsProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginXML.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginXML.java
index d81ceec..ca89ec5 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginXML.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/PluginXML.java
@@ -1,226 +1,225 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class PluginXML extends org.eclipse.egf.emf.pattern.base.GenModelText {

-	protected static String nl;

-

-	public static synchronized PluginXML create(String lineSeparator) {

-		nl = lineSeparator;

-		PluginXML result = new PluginXML();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<?eclipse version=\"3.0\"?>"

-			+ NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL;

-	protected final String TEXT_4 = NL + "<plugin>";

-	protected final String TEXT_5 = NL + "<plugin" + NL + "      name=\"%pluginName\"" + NL + "      id=\"";

-	protected final String TEXT_6 = "\"" + NL + "      version=\"1.0.0\"" + NL

-			+ "      provider-name=\"%providerName\">" + NL + "" + NL + "   <requires>";

-	protected final String TEXT_7 = NL + "      <import plugin=\"";

-	protected final String TEXT_8 = "\"";

-	protected final String TEXT_9 = " export=\"true\"";

-	protected final String TEXT_10 = "/>";

-	protected final String TEXT_11 = NL + "   </requires>" + NL + "" + NL + "   <runtime>";

-	protected final String TEXT_12 = NL + "      <library name=\"";

-	protected final String TEXT_13 = ".jar\">";

-	protected final String TEXT_14 = NL + "      <library name=\".\">";

-	protected final String TEXT_15 = NL + "         <export name=\"*\"/>" + NL + "      </library>" + NL

-			+ "   </runtime>" + NL;

-	protected final String TEXT_16 = NL + "</plugin>" + NL;

-	protected final String TEXT_17 = NL;

-	protected final String TEXT_18 = NL;

-

-	public PluginXML() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_17);

-		stringBuffer.append(TEXT_18);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenModel genModel = parameter;

-		targetPathName = genModel.getTestsProjectDirectory() + "/plugin.xml";

-		overwrite = true;

-		encoding = "UTF-8";

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenModel genModel = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,

-				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2005 IBM Corporation 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: 

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenModel genModel = (GenModel) argument; /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_3);

-		if (genModel.isBundleManifest()) {

-			stringBuffer.append(TEXT_4);

-		} else {

-			stringBuffer.append(TEXT_5);

-			stringBuffer.append(genModel.getTestsPluginID());

-			stringBuffer.append(TEXT_6);

-			for (String pluginID : genModel.getTestsRequiredPlugins()) {

-				stringBuffer.append(TEXT_7);

-				stringBuffer.append(pluginID);

-				stringBuffer.append(TEXT_8);

-				if (!pluginID.startsWith("org.eclipse.core.runtime")) {

-					stringBuffer.append(TEXT_9);

-				}

-				stringBuffer.append(TEXT_10);

-			}

-			stringBuffer.append(TEXT_11);

-			if (genModel.isRuntimeJar()) {

-				stringBuffer.append(TEXT_12);

-				stringBuffer.append(genModel.getTestsPluginID());

-				stringBuffer.append(TEXT_13);

-			} else {

-				stringBuffer.append(TEXT_14);

-			}

-			stringBuffer.append(TEXT_15);

-		}

-		stringBuffer.append(TEXT_16);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenModel genModel = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");

-		canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT)

-				&& (!(genModel.isBundleManifest())) && (!genModel.sameModelTestsProject());

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class PluginXML extends org.eclipse.egf.emf.pattern.base.GenModelText {
+	protected static String nl;
+
+	public static synchronized PluginXML create(String lineSeparator) {
+		nl = lineSeparator;
+		PluginXML result = new PluginXML();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<?eclipse version=\"3.0\"?>"
+			+ NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL;
+	protected final String TEXT_4 = NL + "<plugin>";
+	protected final String TEXT_5 = NL + "<plugin" + NL + "      name=\"%pluginName\"" + NL + "      id=\"";
+	protected final String TEXT_6 = "\"" + NL + "      version=\"1.0.0\"" + NL
+			+ "      provider-name=\"%providerName\">" + NL + "" + NL + "   <requires>";
+	protected final String TEXT_7 = NL + "      <import plugin=\"";
+	protected final String TEXT_8 = "\"";
+	protected final String TEXT_9 = " export=\"true\"";
+	protected final String TEXT_10 = "/>";
+	protected final String TEXT_11 = NL + "   </requires>" + NL + "" + NL + "   <runtime>";
+	protected final String TEXT_12 = NL + "      <library name=\"";
+	protected final String TEXT_13 = ".jar\">";
+	protected final String TEXT_14 = NL + "      <library name=\".\">";
+	protected final String TEXT_15 = NL + "         <export name=\"*\"/>" + NL + "      </library>" + NL
+			+ "   </runtime>" + NL;
+	protected final String TEXT_16 = NL + "</plugin>" + NL;
+	protected final String TEXT_17 = NL;
+	protected final String TEXT_18 = NL;
+
+	public PluginXML() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_17);
+		stringBuffer.append(TEXT_18);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenModel genModel = parameter;
+		targetPathName = genModel.getTestsProjectDirectory() + "/plugin.xml";
+		overwrite = true;
+		encoding = "UTF-8";
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenModel genModel = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2005 IBM Corporation 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: 
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenModel genModel = (GenModel) argument;
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderXml" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#__h1VkCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_3);
+		if (genModel.isBundleManifest()) {
+			stringBuffer.append(TEXT_4);
+		} else {
+			stringBuffer.append(TEXT_5);
+			stringBuffer.append(genModel.getTestsPluginID());
+			stringBuffer.append(TEXT_6);
+			for (String pluginID : genModel.getTestsRequiredPlugins()) {
+				stringBuffer.append(TEXT_7);
+				stringBuffer.append(pluginID);
+				stringBuffer.append(TEXT_8);
+				if (!pluginID.startsWith("org.eclipse.core.runtime")) {
+					stringBuffer.append(TEXT_9);
+				}
+				stringBuffer.append(TEXT_10);
+			}
+			stringBuffer.append(TEXT_11);
+			if (genModel.isRuntimeJar()) {
+				stringBuffer.append(TEXT_12);
+				stringBuffer.append(genModel.getTestsPluginID());
+				stringBuffer.append(TEXT_13);
+			} else {
+				stringBuffer.append(TEXT_14);
+			}
+			stringBuffer.append(TEXT_15);
+		}
+		stringBuffer.append(TEXT_16);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenModel genModel = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+		canGenerate = canGenerate && (genModel.getRuntimePlatform() != GenRuntimePlatform.GWT)
+				&& (!(genModel.isBundleManifest())) && (!genModel.sameModelTestsProject());
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/TestCase.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/TestCase.java
index 27d7113..d22e51c 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/TestCase.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/TestCase.java
@@ -1,494 +1,493 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCase extends org.eclipse.egf.emf.pattern.base.GenClassJava {

-	protected static String nl;

-

-	public static synchronized TestCase create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCase result = new TestCase();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL + "package ";

-	protected final String TEXT_3 = ";" + NL;

-	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL

-			+ " * A test case for the model object '<em><b>";

-	protected final String TEXT_5 = "</b></em>'." + NL + " * <!-- end-user-doc -->";

-	protected final String TEXT_6 = NL + " * <p>" + NL + " * The following features are tested:" + NL + " * <ul>";

-	protected final String TEXT_7 = NL + " *   <li>{@link ";

-	protected final String TEXT_8 = "#";

-	protected final String TEXT_9 = "() <em>";

-	protected final String TEXT_10 = "</em>}</li>";

-	protected final String TEXT_11 = NL + " * </ul>" + NL + " * </p>";

-	protected final String TEXT_12 = NL + " * <p>" + NL + " * The following operations are tested:" + NL + " * <ul>";

-	protected final String TEXT_13 = NL + " *   <li>{@link ";

-	protected final String TEXT_14 = "#";

-	protected final String TEXT_15 = "(";

-	protected final String TEXT_16 = ") <em>";

-	protected final String TEXT_17 = "</em>}</li>";

-	protected final String TEXT_18 = NL + " * </ul>" + NL + " * </p>";

-	protected final String TEXT_19 = NL + " * @generated" + NL + " */" + NL + "public";

-	protected final String TEXT_20 = " abstract";

-	protected final String TEXT_21 = " class ";

-	protected final String TEXT_22 = " extends ";

-	protected final String TEXT_23 = NL + "{";

-	protected final String TEXT_24 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_25 = " copyright = ";

-	protected final String TEXT_26 = ";";

-	protected final String TEXT_27 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";

-	protected final String TEXT_28 = " mofDriverNumber = \"";

-	protected final String TEXT_29 = "\";";

-	protected final String TEXT_30 = NL + NL + "\t/**" + NL + "\t * The fixture for this ";

-	protected final String TEXT_31 = " test case." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";

-	protected final String TEXT_32 = " fixture = null;";

-	protected final String TEXT_33 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tpublic static void main(String[] args)" + NL + "\t{" + NL + "\t\t";

-	protected final String TEXT_34 = ".run(";

-	protected final String TEXT_35 = ".class);" + NL + "\t}";

-	protected final String TEXT_36 = NL + NL + "\t/**" + NL + "\t * Constructs a new ";

-	protected final String TEXT_37 = " test case with the given name." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";

-	protected final String TEXT_38 = "(String name)" + NL + "\t{" + NL + "\t\tsuper(name);" + NL + "\t}";

-	protected final String TEXT_39 = NL + NL + "\t/**" + NL + "\t * Sets the fixture for this ";

-	protected final String TEXT_40 = " test case." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL

-			+ "\tprotected void setFixture(";

-	protected final String TEXT_41 = " fixture)" + NL + "\t{" + NL + "\t\tthis.fixture = fixture;" + NL + "\t}";

-	protected final String TEXT_42 = NL + NL + "\t/**" + NL + "\t * Returns the fixture for this ";

-	protected final String TEXT_43 = " test case." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_44 = NL + "\t@Override";

-	protected final String TEXT_45 = NL + "\t";

-	protected final String TEXT_46 = "protected";

-	protected final String TEXT_47 = "private";

-	protected final String TEXT_48 = " ";

-	protected final String TEXT_49 = " getFixture()" + NL + "\t{";

-	protected final String TEXT_50 = NL + "\t\treturn fixture;";

-	protected final String TEXT_51 = NL + "\t\treturn (";

-	protected final String TEXT_52 = ")fixture;";

-	protected final String TEXT_53 = NL + "\t}";

-	protected final String TEXT_54 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see junit.framework.TestCase#setUp()" + NL + "\t * @generated"

-			+ NL + "\t */";

-	protected final String TEXT_55 = NL + "\t@Override";

-	protected final String TEXT_56 = NL + "\t@SuppressWarnings(\"unchecked\")";

-	protected final String TEXT_57 = NL + "\tprotected void setUp() throws Exception" + NL + "\t{";

-	protected final String TEXT_58 = NL + "\t\tsetFixture((";

-	protected final String TEXT_59 = ")";

-	protected final String TEXT_60 = ".create(";

-	protected final String TEXT_61 = "));";

-	protected final String TEXT_62 = NL + "\t\tsetFixture(";

-	protected final String TEXT_63 = ".create";

-	protected final String TEXT_64 = "());";

-	protected final String TEXT_65 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see junit.framework.TestCase#tearDown()" + NL

-			+ "\t * @generated" + NL + "\t */";

-	protected final String TEXT_66 = NL + "\t@Override";

-	protected final String TEXT_67 = NL + "\tprotected void tearDown() throws Exception" + NL + "\t{" + NL

-			+ "\t\tsetFixture(null);" + NL + "\t}";

-	protected final String TEXT_68 = NL;

-	protected final String TEXT_69 = NL;

-	protected final String TEXT_70 = NL;

-	protected final String TEXT_71 = NL;

-	protected final String TEXT_72 = NL + "} //";

-	protected final String TEXT_73 = NL;

-	protected final String TEXT_74 = NL;

-	protected final String TEXT_75 = NL;

-

-	public TestCase() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> parameterList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object parameterParameter : parameterList) {

-

-			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;

-

-			if (preCondition(ctx)) {

-				ctx.setNode(new Node.Container(currentNode, getClass()));

-				orchestration(ctx);

-			}

-

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_74);

-		stringBuffer.append(TEXT_75);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		super.orchestration(new SuperOrchestrationContext(ictx));

-

-		method_preGenerate(new StringBuffer(), ictx);

-

-		method_doGenerate(new StringBuffer(), ictx);

-		{

-			final Map<String, Object> parameters = getParameters();

-			CallbackContext ctx_callback = new CallbackContext(ictx);

-			CallHelper.callBack(ctx_callback, parameters);

-		}

-

-		method_postGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("parameter", this.parameter);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("parameter", this.parameter);

-		return parameters;

-	}

-

-	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		GenClass genClass = parameter;

-		targetPath = genClass.getGenModel().getTestsDirectory();

-		packageName = genClass.getGenPackage().getTestsPackageName();

-		className = genClass.getTestCaseClassName();

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());

-	}

-

-	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		GenClass genClass = parameter;

-		argument = parameter;

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());

-	}

-

-	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)

-			throws Exception {

-

-		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,

-				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		/**

-		 * Copyright (c) 2005, 2007 IBM Corporation 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:

-		 *   IBM - Initial API and implementation

-		 */

-

-		GenClass genClass = (GenClass) argument;

-		GenPackage genPackage = genClass.getGenPackage();

-		GenModel genModel = genPackage.getGenModel(); /* Trick to import java.util.* without warnings */

-		Iterator.class.getName();

-		stringBuffer.append(TEXT_1);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("argument", parameter);

-			CallHelper

-					.executeWithParameterInjection(

-							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",

-							new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genPackage.getTestsPackageName());

-		stringBuffer.append(TEXT_3);

-		genModel.markImportLocation(stringBuffer);

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genClass.getFormattedName());

-		stringBuffer.append(TEXT_5);

-		if (!genClass.getImplementedGenFeatures().isEmpty()) {

-			boolean first = true;

-			for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {

-				if (genFeature.isTested() && !genFeature.isSuppressedGetVisibility()) {

-					if (first) {

-						first = false;

-						stringBuffer.append(TEXT_6);

-					}

-					stringBuffer.append(TEXT_7);

-					stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());

-					stringBuffer.append(TEXT_8);

-					stringBuffer.append(genFeature.getGetAccessor());

-					stringBuffer.append(TEXT_9);

-					stringBuffer.append(genFeature.getFormattedName());

-					stringBuffer.append(TEXT_10);

-				}

-			}

-			if (!first) {

-				stringBuffer.append(TEXT_11);

-			}

-		}

-		if (!genClass.getImplementedGenOperations().isEmpty()) {

-			boolean first = true;

-			for (GenOperation genOperation : genClass.getImplementedGenOperations()) {

-				if (first) {

-					first = false;

-					stringBuffer.append(TEXT_12);

-				}

-				stringBuffer.append(TEXT_13);

-				stringBuffer.append(genOperation.getGenClass().getQualifiedInterfaceName());

-				stringBuffer.append(TEXT_14);

-				stringBuffer.append(genOperation.getName());

-				stringBuffer.append(TEXT_15);

-				stringBuffer.append(genOperation.getParameterTypes(", "));

-				stringBuffer.append(TEXT_16);

-				stringBuffer.append(genOperation.getFormattedName());

-				stringBuffer.append(TEXT_17);

-			}

-			if (!first) {

-				stringBuffer.append(TEXT_18);

-			}

-		}

-		stringBuffer.append(TEXT_19);

-		if (genClass.isAbstract()) {

-			stringBuffer.append(TEXT_20);

-		}

-		stringBuffer.append(TEXT_21);

-		stringBuffer.append(genClass.getTestCaseClassName());

-		stringBuffer.append(TEXT_22);

-		stringBuffer.append(genClass.isModelRoot() ? genModel.getImportedName("junit.framework.TestCase") : genClass

-				.getClassExtendsGenClass().getImportedTestCaseClassName());

-		stringBuffer.append(TEXT_23);

-		if (genModel.hasCopyrightField()) {

-			stringBuffer.append(TEXT_24);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_25);

-			stringBuffer.append(genModel.getCopyrightFieldLiteral());

-			stringBuffer.append(TEXT_26);

-			stringBuffer.append(genModel.getNonNLS());

-		}

-		if (genModel.getDriverNumber() != null) {

-			stringBuffer.append(TEXT_27);

-			stringBuffer.append(genModel.getImportedName("java.lang.String"));

-			stringBuffer.append(TEXT_28);

-			stringBuffer.append(genModel.getDriverNumber());

-			stringBuffer.append(TEXT_29);

-			stringBuffer.append(genModel.getNonNLS());

-		}

-		if (genClass.isModelRoot()) {

-			stringBuffer.append(TEXT_30);

-			stringBuffer.append(genClass.getFormattedName());

-			stringBuffer.append(TEXT_31);

-			stringBuffer.append(genClass.getImportedInterfaceName());

-			stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-			stringBuffer.append(TEXT_32);

-		}

-		if (!genClass.isAbstract()) {

-			stringBuffer.append(TEXT_33);

-			stringBuffer.append(genModel.getImportedName("junit.textui.TestRunner"));

-			stringBuffer.append(TEXT_34);

-			stringBuffer.append(genClass.getTestCaseClassName());

-			stringBuffer.append(TEXT_35);

-		}

-		stringBuffer.append(TEXT_36);

-		stringBuffer.append(genClass.getFormattedName());

-		stringBuffer.append(TEXT_37);

-		stringBuffer.append(genClass.getTestCaseClassName());

-		stringBuffer.append(TEXT_38);

-		if (genClass.isModelRoot()) {

-			stringBuffer.append(TEXT_39);

-			stringBuffer.append(genClass.getFormattedName());

-			stringBuffer.append(TEXT_40);

-			stringBuffer.append(genClass.getImportedInterfaceName());

-			stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-			stringBuffer.append(TEXT_41);

-		}

-		stringBuffer.append(TEXT_42);

-		stringBuffer.append(genClass.getFormattedName());

-		stringBuffer.append(TEXT_43);

-		if (!genClass.isModelRoot() && genModel.useClassOverrideAnnotation()) {

-			stringBuffer.append(TEXT_44);

-		}

-		stringBuffer.append(TEXT_45);

-		if (genModel.useGenerics()) {

-			stringBuffer.append(TEXT_46);

-		} else {

-			stringBuffer.append(TEXT_47);

-		}

-		stringBuffer.append(TEXT_48);

-		stringBuffer.append(genClass.getImportedInterfaceName());

-		stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-		stringBuffer.append(TEXT_49);

-		if (genClass.isModelRoot()) {

-			stringBuffer.append(TEXT_50);

-		} else {

-			stringBuffer.append(TEXT_51);

-			stringBuffer.append(genClass.getImportedInterfaceName());

-			stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-			stringBuffer.append(TEXT_52);

-		}

-		stringBuffer.append(TEXT_53);

-		if (!genClass.isAbstract()) {

-			stringBuffer.append(TEXT_54);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_55);

-			}

-			if (genModel.useGenerics() && genClass.isMapEntry()) {

-				stringBuffer.append(TEXT_56);

-			}

-			stringBuffer.append(TEXT_57);

-			if (genClass.isMapEntry()) {

-				stringBuffer.append(TEXT_58);

-				stringBuffer.append(genClass.getImportedInterfaceName());

-				stringBuffer.append(genClass.getInterfaceWildTypeArguments());

-				stringBuffer.append(TEXT_59);

-				stringBuffer.append(genPackage.getQualifiedEFactoryInternalInstanceAccessor());

-				stringBuffer.append(TEXT_60);

-				stringBuffer.append(genClass.getQualifiedClassifierAccessor());

-				stringBuffer.append(TEXT_61);

-			} else {

-				stringBuffer.append(TEXT_62);

-				stringBuffer.append(genPackage.getQualifiedEFactoryInternalInstanceAccessor());

-				stringBuffer.append(TEXT_63);

-				stringBuffer.append(genClass.getName());

-				stringBuffer.append(TEXT_64);

-			}

-			stringBuffer.append(TEXT_65);

-			if (genModel.useClassOverrideAnnotation()) {

-				stringBuffer.append(TEXT_66);

-			}

-			stringBuffer.append(TEXT_67);

-		}

-		for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {

-			stringBuffer.append(TEXT_68);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_09kCIWJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//TestCase/implementedGenFeature.override.javajetinc

-		}

-		for (GenOperation genOperation : genClass.getImplementedGenOperations()) {

-			stringBuffer.append(TEXT_69);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genOperation", genOperation);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1Cx5UGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-			//TestCase/implementedGenOperation.override.javajetinc

-		}

-		stringBuffer.append(TEXT_70);

-		stringBuffer.append(TEXT_71);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1DYWQGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_72);

-		stringBuffer.append(genClass.getTestCaseClassName());

-		genModel.emitSortedImports();

-		stringBuffer.append(TEXT_73);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		GenClass genClass = parameter;

-		genModel = parameter.getGenModel();

-		boolean canGenerate = new CodegenGeneratorAdapter(parameter)

-				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");

-		canGenerate = canGenerate && true;

-		return canGenerate;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCase extends org.eclipse.egf.emf.pattern.base.GenClassJava {
+	protected static String nl;
+
+	public static synchronized TestCase create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCase result = new TestCase();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL + "package ";
+	protected final String TEXT_3 = ";" + NL;
+	protected final String TEXT_4 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+			+ " * A test case for the model object '<em><b>";
+	protected final String TEXT_5 = "</b></em>'." + NL + " * <!-- end-user-doc -->";
+	protected final String TEXT_6 = NL + " * <p>" + NL + " * The following features are tested:" + NL + " * <ul>";
+	protected final String TEXT_7 = NL + " *   <li>{@link ";
+	protected final String TEXT_8 = "#";
+	protected final String TEXT_9 = "() <em>";
+	protected final String TEXT_10 = "</em>}</li>";
+	protected final String TEXT_11 = NL + " * </ul>" + NL + " * </p>";
+	protected final String TEXT_12 = NL + " * <p>" + NL + " * The following operations are tested:" + NL + " * <ul>";
+	protected final String TEXT_13 = NL + " *   <li>{@link ";
+	protected final String TEXT_14 = "#";
+	protected final String TEXT_15 = "(";
+	protected final String TEXT_16 = ") <em>";
+	protected final String TEXT_17 = "</em>}</li>";
+	protected final String TEXT_18 = NL + " * </ul>" + NL + " * </p>";
+	protected final String TEXT_19 = NL + " * @generated" + NL + " */" + NL + "public";
+	protected final String TEXT_20 = " abstract";
+	protected final String TEXT_21 = " class ";
+	protected final String TEXT_22 = " extends ";
+	protected final String TEXT_23 = NL + "{";
+	protected final String TEXT_24 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_25 = " copyright = ";
+	protected final String TEXT_26 = ";";
+	protected final String TEXT_27 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
+	protected final String TEXT_28 = " mofDriverNumber = \"";
+	protected final String TEXT_29 = "\";";
+	protected final String TEXT_30 = NL + NL + "\t/**" + NL + "\t * The fixture for this ";
+	protected final String TEXT_31 = " test case." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
+	protected final String TEXT_32 = " fixture = null;";
+	protected final String TEXT_33 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tpublic static void main(String[] args)" + NL + "\t{" + NL + "\t\t";
+	protected final String TEXT_34 = ".run(";
+	protected final String TEXT_35 = ".class);" + NL + "\t}";
+	protected final String TEXT_36 = NL + NL + "\t/**" + NL + "\t * Constructs a new ";
+	protected final String TEXT_37 = " test case with the given name." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
+	protected final String TEXT_38 = "(String name)" + NL + "\t{" + NL + "\t\tsuper(name);" + NL + "\t}";
+	protected final String TEXT_39 = NL + NL + "\t/**" + NL + "\t * Sets the fixture for this ";
+	protected final String TEXT_40 = " test case." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
+			+ "\tprotected void setFixture(";
+	protected final String TEXT_41 = " fixture)" + NL + "\t{" + NL + "\t\tthis.fixture = fixture;" + NL + "\t}";
+	protected final String TEXT_42 = NL + NL + "\t/**" + NL + "\t * Returns the fixture for this ";
+	protected final String TEXT_43 = " test case." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_44 = NL + "\t@Override";
+	protected final String TEXT_45 = NL + "\t";
+	protected final String TEXT_46 = "protected";
+	protected final String TEXT_47 = "private";
+	protected final String TEXT_48 = " ";
+	protected final String TEXT_49 = " getFixture()" + NL + "\t{";
+	protected final String TEXT_50 = NL + "\t\treturn fixture;";
+	protected final String TEXT_51 = NL + "\t\treturn (";
+	protected final String TEXT_52 = ")fixture;";
+	protected final String TEXT_53 = NL + "\t}";
+	protected final String TEXT_54 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see junit.framework.TestCase#setUp()" + NL + "\t * @generated"
+			+ NL + "\t */";
+	protected final String TEXT_55 = NL + "\t@Override";
+	protected final String TEXT_56 = NL + "\t@SuppressWarnings(\"unchecked\")";
+	protected final String TEXT_57 = NL + "\tprotected void setUp() throws Exception" + NL + "\t{";
+	protected final String TEXT_58 = NL + "\t\tsetFixture((";
+	protected final String TEXT_59 = ")";
+	protected final String TEXT_60 = ".create(";
+	protected final String TEXT_61 = "));";
+	protected final String TEXT_62 = NL + "\t\tsetFixture(";
+	protected final String TEXT_63 = ".create";
+	protected final String TEXT_64 = "());";
+	protected final String TEXT_65 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see junit.framework.TestCase#tearDown()" + NL
+			+ "\t * @generated" + NL + "\t */";
+	protected final String TEXT_66 = NL + "\t@Override";
+	protected final String TEXT_67 = NL + "\tprotected void tearDown() throws Exception" + NL + "\t{" + NL
+			+ "\t\tsetFixture(null);" + NL + "\t}";
+	protected final String TEXT_68 = NL;
+	protected final String TEXT_69 = NL;
+	protected final String TEXT_70 = NL;
+	protected final String TEXT_71 = NL;
+	protected final String TEXT_72 = NL + "} //";
+	protected final String TEXT_73 = NL;
+	protected final String TEXT_74 = NL;
+	protected final String TEXT_75 = NL;
+
+	public TestCase() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> parameterList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object parameterParameter : parameterList) {
+
+			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) parameterParameter;
+
+			if (preCondition(ctx)) {
+				ctx.setNode(new Node.Container(currentNode, getClass()));
+				orchestration(ctx);
+			}
+
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_74);
+		stringBuffer.append(TEXT_75);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		super.orchestration(new SuperOrchestrationContext(ictx));
+
+		method_preGenerate(new StringBuffer(), ictx);
+
+		method_doGenerate(new StringBuffer(), ictx);
+		{
+			final Map<String, Object> parameters = getParameters();
+			CallbackContext ctx_callback = new CallbackContext(ictx);
+			CallHelper.callBack(ctx_callback, parameters);
+		}
+
+		method_postGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("parameter", this.parameter);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("parameter", this.parameter);
+		return parameters;
+	}
+
+	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		GenClass genClass = parameter;
+		targetPath = genClass.getGenModel().getTestsDirectory();
+		packageName = genClass.getGenPackage().getTestsPackageName();
+		className = genClass.getTestCaseClassName();
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
+	}
+
+	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		GenClass genClass = parameter;
+		argument = parameter;
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
+	}
+
+	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
+			throws Exception {
+
+		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getTestsDirectory(), genModel,
+				GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		/**
+		 * Copyright (c) 2005, 2007 IBM Corporation 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:
+		 *   IBM - Initial API and implementation
+		 */
+
+		GenClass genClass = (GenClass) argument;
+		GenPackage genPackage = genClass.getGenPackage();
+		GenModel genModel = genPackage.getGenModel();
+		/* Trick to import java.util.* without warnings */Iterator.class.getName();
+		stringBuffer.append(TEXT_1);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("argument", parameter);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genPackage.getTestsPackageName());
+		stringBuffer.append(TEXT_3);
+		genModel.markImportLocation(stringBuffer);
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genClass.getFormattedName());
+		stringBuffer.append(TEXT_5);
+		if (!genClass.getImplementedGenFeatures().isEmpty()) {
+			boolean first = true;
+			for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {
+				if (genFeature.isTested() && !genFeature.isSuppressedGetVisibility()) {
+					if (first) {
+						first = false;
+						stringBuffer.append(TEXT_6);
+					}
+					stringBuffer.append(TEXT_7);
+					stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());
+					stringBuffer.append(TEXT_8);
+					stringBuffer.append(genFeature.getGetAccessor());
+					stringBuffer.append(TEXT_9);
+					stringBuffer.append(genFeature.getFormattedName());
+					stringBuffer.append(TEXT_10);
+				}
+			}
+			if (!first) {
+				stringBuffer.append(TEXT_11);
+			}
+		}
+		if (!genClass.getImplementedGenOperations().isEmpty()) {
+			boolean first = true;
+			for (GenOperation genOperation : genClass.getImplementedGenOperations()) {
+				if (first) {
+					first = false;
+					stringBuffer.append(TEXT_12);
+				}
+				stringBuffer.append(TEXT_13);
+				stringBuffer.append(genOperation.getGenClass().getQualifiedInterfaceName());
+				stringBuffer.append(TEXT_14);
+				stringBuffer.append(genOperation.getName());
+				stringBuffer.append(TEXT_15);
+				stringBuffer.append(genOperation.getParameterTypes(", "));
+				stringBuffer.append(TEXT_16);
+				stringBuffer.append(genOperation.getFormattedName());
+				stringBuffer.append(TEXT_17);
+			}
+			if (!first) {
+				stringBuffer.append(TEXT_18);
+			}
+		}
+		stringBuffer.append(TEXT_19);
+		if (genClass.isAbstract()) {
+			stringBuffer.append(TEXT_20);
+		}
+		stringBuffer.append(TEXT_21);
+		stringBuffer.append(genClass.getTestCaseClassName());
+		stringBuffer.append(TEXT_22);
+		stringBuffer.append(genClass.isModelRoot() ? genModel.getImportedName("junit.framework.TestCase")
+				: genClass.getClassExtendsGenClass().getImportedTestCaseClassName());
+		stringBuffer.append(TEXT_23);
+		if (genModel.hasCopyrightField()) {
+			stringBuffer.append(TEXT_24);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_25);
+			stringBuffer.append(genModel.getCopyrightFieldLiteral());
+			stringBuffer.append(TEXT_26);
+			stringBuffer.append(genModel.getNonNLS());
+		}
+		if (genModel.getDriverNumber() != null) {
+			stringBuffer.append(TEXT_27);
+			stringBuffer.append(genModel.getImportedName("java.lang.String"));
+			stringBuffer.append(TEXT_28);
+			stringBuffer.append(genModel.getDriverNumber());
+			stringBuffer.append(TEXT_29);
+			stringBuffer.append(genModel.getNonNLS());
+		}
+		if (genClass.isModelRoot()) {
+			stringBuffer.append(TEXT_30);
+			stringBuffer.append(genClass.getFormattedName());
+			stringBuffer.append(TEXT_31);
+			stringBuffer.append(genClass.getImportedInterfaceName());
+			stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+			stringBuffer.append(TEXT_32);
+		}
+		if (!genClass.isAbstract()) {
+			stringBuffer.append(TEXT_33);
+			stringBuffer.append(genModel.getImportedName("junit.textui.TestRunner"));
+			stringBuffer.append(TEXT_34);
+			stringBuffer.append(genClass.getTestCaseClassName());
+			stringBuffer.append(TEXT_35);
+		}
+		stringBuffer.append(TEXT_36);
+		stringBuffer.append(genClass.getFormattedName());
+		stringBuffer.append(TEXT_37);
+		stringBuffer.append(genClass.getTestCaseClassName());
+		stringBuffer.append(TEXT_38);
+		if (genClass.isModelRoot()) {
+			stringBuffer.append(TEXT_39);
+			stringBuffer.append(genClass.getFormattedName());
+			stringBuffer.append(TEXT_40);
+			stringBuffer.append(genClass.getImportedInterfaceName());
+			stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+			stringBuffer.append(TEXT_41);
+		}
+		stringBuffer.append(TEXT_42);
+		stringBuffer.append(genClass.getFormattedName());
+		stringBuffer.append(TEXT_43);
+		if (!genClass.isModelRoot() && genModel.useClassOverrideAnnotation()) {
+			stringBuffer.append(TEXT_44);
+		}
+		stringBuffer.append(TEXT_45);
+		if (genModel.useGenerics()) {
+			stringBuffer.append(TEXT_46);
+		} else {
+			stringBuffer.append(TEXT_47);
+		}
+		stringBuffer.append(TEXT_48);
+		stringBuffer.append(genClass.getImportedInterfaceName());
+		stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+		stringBuffer.append(TEXT_49);
+		if (genClass.isModelRoot()) {
+			stringBuffer.append(TEXT_50);
+		} else {
+			stringBuffer.append(TEXT_51);
+			stringBuffer.append(genClass.getImportedInterfaceName());
+			stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+			stringBuffer.append(TEXT_52);
+		}
+		stringBuffer.append(TEXT_53);
+		if (!genClass.isAbstract()) {
+			stringBuffer.append(TEXT_54);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_55);
+			}
+			if (genModel.useGenerics() && genClass.isMapEntry()) {
+				stringBuffer.append(TEXT_56);
+			}
+			stringBuffer.append(TEXT_57);
+			if (genClass.isMapEntry()) {
+				stringBuffer.append(TEXT_58);
+				stringBuffer.append(genClass.getImportedInterfaceName());
+				stringBuffer.append(genClass.getInterfaceWildTypeArguments());
+				stringBuffer.append(TEXT_59);
+				stringBuffer.append(genPackage.getQualifiedEFactoryInternalInstanceAccessor());
+				stringBuffer.append(TEXT_60);
+				stringBuffer.append(genClass.getQualifiedClassifierAccessor());
+				stringBuffer.append(TEXT_61);
+			} else {
+				stringBuffer.append(TEXT_62);
+				stringBuffer.append(genPackage.getQualifiedEFactoryInternalInstanceAccessor());
+				stringBuffer.append(TEXT_63);
+				stringBuffer.append(genClass.getName());
+				stringBuffer.append(TEXT_64);
+			}
+			stringBuffer.append(TEXT_65);
+			if (genModel.useClassOverrideAnnotation()) {
+				stringBuffer.append(TEXT_66);
+			}
+			stringBuffer.append(TEXT_67);
+		}
+		for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {
+			stringBuffer.append(TEXT_68);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_09kCIWJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//TestCase/implementedGenFeature.override.javajetinc
+		}
+		for (GenOperation genOperation : genClass.getImplementedGenOperations()) {
+			stringBuffer.append(TEXT_69);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genOperation", genOperation);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1Cx5UGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+			//TestCase/implementedGenOperation.override.javajetinc
+		}
+		stringBuffer.append(TEXT_70);
+		stringBuffer.append(TEXT_71);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1DYWQGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_72);
+		stringBuffer.append(genClass.getTestCaseClassName());
+		genModel.emitSortedImports();
+		stringBuffer.append(TEXT_73);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		GenClass genClass = parameter;
+		genModel = parameter.getGenModel();
+		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
+				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
+		canGenerate = canGenerate && true;
+		return canGenerate;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegenOperationannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegenOperationannotationsinsert.java
index addea36..3af1fb0 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegenOperationannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegenOperationannotationsinsert.java
@@ -1,146 +1,146 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCasegenOperationannotationsinsert {

-	protected static String nl;

-

-	public static synchronized TestCasegenOperationannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCasegenOperationannotationsinsert result = new TestCasegenOperationannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public TestCasegenOperationannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasegenOperationannotationsinsert {
+	protected static String nl;
+
+	public static synchronized TestCasegenOperationannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCasegenOperationannotationsinsert result = new TestCasegenOperationannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public TestCasegenOperationannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureTODOoverride.java
index 892e3da..0b1f25c 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureTODOoverride.java
@@ -1,149 +1,149 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCasegetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized TestCasegetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCasegetGenFeatureTODOoverride result = new TestCasegetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this feature getter test method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL;

-

-	public TestCasegetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(TEXT_3);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasegetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized TestCasegetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCasegetGenFeatureTODOoverride result = new TestCasegetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this feature getter test method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL;
+
+	public TestCasegetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(TEXT_3);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureannotationsinsert.java
index 4ff0f3d..f687c22 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureannotationsinsert.java
@@ -1,146 +1,146 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCasegetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized TestCasegetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCasegetGenFeatureannotationsinsert result = new TestCasegetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public TestCasegetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasegetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized TestCasegetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCasegetGenFeatureannotationsinsert result = new TestCasegetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public TestCasegetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureoverride.java
index 1409127..952f2dc 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasegetGenFeatureoverride.java
@@ -1,214 +1,214 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCasegetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized TestCasegetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCasegetGenFeatureoverride result = new TestCasegetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";

-	protected final String TEXT_2 = "#";

-	protected final String TEXT_3 = "() <em>";

-	protected final String TEXT_4 = "</em>}' feature getter." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

-	protected final String TEXT_5 = "#";

-	protected final String TEXT_6 = "()" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_7 = NL;

-	protected final String TEXT_8 = NL + "\tpublic void test";

-	protected final String TEXT_9 = "()" + NL + "\t{";

-	protected final String TEXT_10 = NL;

-	protected final String TEXT_11 = NL + "\t}" + NL;

-	protected final String TEXT_12 = NL;

-	protected final String TEXT_13 = NL;

-

-	public TestCasegetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(TEXT_13);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genFeature.getGetAccessor());

-		stringBuffer.append(TEXT_6);

-		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/getGenFeature.annotations.insert.javajetinc

-			stringBuffer.append(TEXT_7);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-KfEGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-		}

-		stringBuffer.append(TEXT_8);

-		stringBuffer.append(genModel.capName(genFeature.getGetAccessor()));

-		stringBuffer.append(TEXT_9);

-		stringBuffer.append(TEXT_10);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-UQEGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		//TestCase/getGenFeature.todo.override.javajetinc

-		stringBuffer.append(TEXT_11);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasegetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized TestCasegetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCasegetGenFeatureoverride result = new TestCasegetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";
+	protected final String TEXT_2 = "#";
+	protected final String TEXT_3 = "() <em>";
+	protected final String TEXT_4 = "</em>}' feature getter." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+	protected final String TEXT_5 = "#";
+	protected final String TEXT_6 = "()" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_7 = NL;
+	protected final String TEXT_8 = NL + "\tpublic void test";
+	protected final String TEXT_9 = "()" + NL + "\t{";
+	protected final String TEXT_10 = NL;
+	protected final String TEXT_11 = NL + "\t}" + NL;
+	protected final String TEXT_12 = NL;
+	protected final String TEXT_13 = NL;
+
+	public TestCasegetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(TEXT_13);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genFeature.getGetAccessor());
+		stringBuffer.append(TEXT_6);
+		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/getGenFeature.annotations.insert.javajetinc
+			stringBuffer.append(TEXT_7);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-KfEGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+		}
+		stringBuffer.append(TEXT_8);
+		stringBuffer.append(genModel.capName(genFeature.getGetAccessor()));
+		stringBuffer.append(TEXT_9);
+		stringBuffer.append(TEXT_10);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-UQEGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		//TestCase/getGenFeature.todo.override.javajetinc
+		stringBuffer.append(TEXT_11);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureinsert.java
index 7f7cddc..e05fc6e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureinsert.java
@@ -1,146 +1,146 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCaseimplementedGenFeatureinsert {

-	protected static String nl;

-

-	public static synchronized TestCaseimplementedGenFeatureinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCaseimplementedGenFeatureinsert result = new TestCaseimplementedGenFeatureinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public TestCaseimplementedGenFeatureinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseimplementedGenFeatureinsert {
+	protected static String nl;
+
+	public static synchronized TestCaseimplementedGenFeatureinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCaseimplementedGenFeatureinsert result = new TestCaseimplementedGenFeatureinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public TestCaseimplementedGenFeatureinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureoverride.java
index db8052b..dca64e8 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenFeatureoverride.java
@@ -1,268 +1,264 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCaseimplementedGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized TestCaseimplementedGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCaseimplementedGenFeatureoverride result = new TestCaseimplementedGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL;

-	protected final String TEXT_4 = NL;

-	protected final String TEXT_5 = NL;

-	protected final String TEXT_6 = NL;

-	protected final String TEXT_7 = NL;

-	protected final String TEXT_8 = NL;

-	protected final String TEXT_9 = NL;

-

-	public TestCaseimplementedGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_8);

-		stringBuffer.append(TEXT_9);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		if (genFeature.isTested()) {

-			if (genFeature.isGet() && !genFeature.isSuppressedGetVisibility()) {

-				stringBuffer.append(TEXT_2);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_093kIGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//TestCase/getGenFeature.override.javajetinc

-			}

-			if (genFeature.isSet() && !genFeature.isSuppressedSetVisibility()) {

-				stringBuffer.append(TEXT_3);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-daAGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//TestCase/setGenFeature.override.javajetinc

-			}

-			if (genFeature.isUnset() && !genFeature.isSuppressedUnsetVisibility()) {

-				stringBuffer.append(TEXT_4);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0_NA4GJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//TestCase/unsetGenFeature.override.javajetinc

-			}

-			if (genFeature.isIsSet() && !genFeature.isSuppressedIsSetVisibility()) {

-				stringBuffer.append(TEXT_5);

-				{

-					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-					InternalPatternContext ictx = (InternalPatternContext) ctx;

-					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-					stringBuffer.setLength(0);

-

-					final Map<String, Object> callParameters = new HashMap<String, Object>();

-					callParameters.put("genFeature", genFeature);

-					callParameters.put("genClass", genClass);

-					callParameters.put("genPackage", genPackage);

-					callParameters.put("genModel", genModel);

-					CallHelper

-							.executeWithParameterInjection(

-									"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1BvXgGJ-Ed-FqczH3ESmRw",

-									new ExecutionContext((InternalPatternContext) ctx), callParameters);

-					stringBuffer.setLength(0);

-				}

-

-				//TestCase/isSetGenFeature.override.javajetinc

-			}

-		}

-		stringBuffer.append(TEXT_6);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1CovYGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_7);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseimplementedGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized TestCaseimplementedGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCaseimplementedGenFeatureoverride result = new TestCaseimplementedGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL;
+	protected final String TEXT_4 = NL;
+	protected final String TEXT_5 = NL;
+	protected final String TEXT_6 = NL;
+	protected final String TEXT_7 = NL;
+	protected final String TEXT_8 = NL;
+	protected final String TEXT_9 = NL;
+
+	public TestCaseimplementedGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_8);
+		stringBuffer.append(TEXT_9);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		if (genFeature.isTested()) {
+			if (genFeature.isGet() && !genFeature.isSuppressedGetVisibility()) {
+				stringBuffer.append(TEXT_2);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.getGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_093kIGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//TestCase/getGenFeature.override.javajetinc
+			}
+			if (genFeature.isSet() && !genFeature.isSuppressedSetVisibility()) {
+				stringBuffer.append(TEXT_3);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-daAGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//TestCase/setGenFeature.override.javajetinc
+			}
+			if (genFeature.isUnset() && !genFeature.isSuppressedUnsetVisibility()) {
+				stringBuffer.append(TEXT_4);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0_NA4GJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//TestCase/unsetGenFeature.override.javajetinc
+			}
+			if (genFeature.isIsSet() && !genFeature.isSuppressedIsSetVisibility()) {
+				stringBuffer.append(TEXT_5);
+				{
+					//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+					InternalPatternContext ictx = (InternalPatternContext) ctx;
+					new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+					stringBuffer.setLength(0);
+
+					final Map<String, Object> callParameters = new HashMap<String, Object>();
+					callParameters.put("genFeature", genFeature);
+					callParameters.put("genClass", genClass);
+					callParameters.put("genPackage", genPackage);
+					callParameters.put("genModel", genModel);
+					CallHelper.executeWithParameterInjection(
+							"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1BvXgGJ-Ed-FqczH3ESmRw",
+							new ExecutionContext((InternalPatternContext) ctx), callParameters);
+					stringBuffer.setLength(0);
+				}
+
+				//TestCase/isSetGenFeature.override.javajetinc
+			}
+		}
+		stringBuffer.append(TEXT_6);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenFeature.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1CovYGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_7);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationTODOoverride.java
index 9d46200..6106ec6 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationTODOoverride.java
@@ -1,149 +1,149 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCaseimplementedGenOperationTODOoverride {

-	protected static String nl;

-

-	public static synchronized TestCaseimplementedGenOperationTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCaseimplementedGenOperationTODOoverride result = new TestCaseimplementedGenOperationTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this operation test method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL;

-

-	public TestCaseimplementedGenOperationTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(TEXT_3);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseimplementedGenOperationTODOoverride {
+	protected static String nl;
+
+	public static synchronized TestCaseimplementedGenOperationTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCaseimplementedGenOperationTODOoverride result = new TestCaseimplementedGenOperationTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this operation test method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL;
+
+	public TestCaseimplementedGenOperationTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(TEXT_3);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationinsert.java
index 8d1a944..16f6efe 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationinsert.java
@@ -1,146 +1,146 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCaseimplementedGenOperationinsert {

-	protected static String nl;

-

-	public static synchronized TestCaseimplementedGenOperationinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCaseimplementedGenOperationinsert result = new TestCaseimplementedGenOperationinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public TestCaseimplementedGenOperationinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseimplementedGenOperationinsert {
+	protected static String nl;
+
+	public static synchronized TestCaseimplementedGenOperationinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCaseimplementedGenOperationinsert result = new TestCaseimplementedGenOperationinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public TestCaseimplementedGenOperationinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationoverride.java
index 428fa4d..e276151 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseimplementedGenOperationoverride.java
@@ -1,242 +1,242 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCaseimplementedGenOperationoverride {

-	protected static String nl;

-

-	public static synchronized TestCaseimplementedGenOperationoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCaseimplementedGenOperationoverride result = new TestCaseimplementedGenOperationoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";

-	protected final String TEXT_2 = "#";

-	protected final String TEXT_3 = "(";

-	protected final String TEXT_4 = ") <em>";

-	protected final String TEXT_5 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

-	protected final String TEXT_6 = "#";

-	protected final String TEXT_7 = "(";

-	protected final String TEXT_8 = ")" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_9 = NL;

-	protected final String TEXT_10 = NL + "\tpublic void test";

-	protected final String TEXT_11 = "()" + NL + "\t{";

-	protected final String TEXT_12 = NL;

-	protected final String TEXT_13 = NL + "\t}";

-	protected final String TEXT_14 = NL;

-	protected final String TEXT_15 = NL;

-	protected final String TEXT_16 = NL;

-	protected final String TEXT_17 = NL;

-

-	public TestCaseimplementedGenOperationoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genOperationList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genOperationParameter : genOperationList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_16);

-		stringBuffer.append(TEXT_17);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genOperation", this.genOperation);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;

-

-	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {

-		this.genOperation = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genOperation", this.genOperation);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genOperation.getGenClass().getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genOperation.getName());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genOperation.getParameterTypes(", "));

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genOperation.getFormattedName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genOperation.getGenClass().getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(genOperation.getName());

-		stringBuffer.append(TEXT_7);

-		stringBuffer.append(genOperation.getParameterTypes(", "));

-		stringBuffer.append(TEXT_8);

-		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/genOperation.annotations.insert.javajetinc

-			stringBuffer.append(TEXT_9);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genOperation", genOperation);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1C7qUGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-		}

-		stringBuffer.append(TEXT_10);

-		stringBuffer.append(genClass.getUniqueName(genOperation));

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(TEXT_12);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genOperation", genOperation);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1DFbUGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		//TestCase/implementedGenOperation.todo.override.javajetinc

-		stringBuffer.append(TEXT_13);

-		stringBuffer.append(TEXT_14);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genOperation", genOperation);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1DOlQGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		stringBuffer.append(TEXT_15);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseimplementedGenOperationoverride {
+	protected static String nl;
+
+	public static synchronized TestCaseimplementedGenOperationoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCaseimplementedGenOperationoverride result = new TestCaseimplementedGenOperationoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";
+	protected final String TEXT_2 = "#";
+	protected final String TEXT_3 = "(";
+	protected final String TEXT_4 = ") <em>";
+	protected final String TEXT_5 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+	protected final String TEXT_6 = "#";
+	protected final String TEXT_7 = "(";
+	protected final String TEXT_8 = ")" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_9 = NL;
+	protected final String TEXT_10 = NL + "\tpublic void test";
+	protected final String TEXT_11 = "()" + NL + "\t{";
+	protected final String TEXT_12 = NL;
+	protected final String TEXT_13 = NL + "\t}";
+	protected final String TEXT_14 = NL;
+	protected final String TEXT_15 = NL;
+	protected final String TEXT_16 = NL;
+	protected final String TEXT_17 = NL;
+
+	public TestCaseimplementedGenOperationoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genOperationList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genOperationParameter : genOperationList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genOperation = (org.eclipse.emf.codegen.ecore.genmodel.GenOperation) genOperationParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_16);
+		stringBuffer.append(TEXT_17);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genOperation", this.genOperation);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenOperation genOperation = null;
+
+	public void set_genOperation(org.eclipse.emf.codegen.ecore.genmodel.GenOperation object) {
+		this.genOperation = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genOperation", this.genOperation);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genOperation.getGenClass().getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genOperation.getName());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genOperation.getParameterTypes(", "));
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genOperation.getFormattedName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genOperation.getGenClass().getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(genOperation.getName());
+		stringBuffer.append(TEXT_7);
+		stringBuffer.append(genOperation.getParameterTypes(", "));
+		stringBuffer.append(TEXT_8);
+		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/genOperation.annotations.insert.javajetinc
+			stringBuffer.append(TEXT_9);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.genOperation.annotations.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genOperation", genOperation);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1C7qUGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+		}
+		stringBuffer.append(TEXT_10);
+		stringBuffer.append(genClass.getUniqueName(genOperation));
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(TEXT_12);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.TODO.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genOperation", genOperation);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1DFbUGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		//TestCase/implementedGenOperation.todo.override.javajetinc
+		stringBuffer.append(TEXT_13);
+		stringBuffer.append(TEXT_14);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.implementedGenOperation.insert" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genOperation", genOperation);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1DOlQGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		stringBuffer.append(TEXT_15);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseinsert.java
index 7a73cf5..383ab54 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseinsert.java
@@ -1,133 +1,133 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCaseinsert {

-	protected static String nl;

-

-	public static synchronized TestCaseinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCaseinsert result = new TestCaseinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public TestCaseinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genClassParameter : genClassList) {

-			for (Object genPackageParameter : genPackageList) {

-				for (Object genModelParameter : genModelList) {

-

-					this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-					this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-					this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-					if (preCondition(ctx)) {

-						ctx.setNode(new Node.Container(currentNode, getClass()));

-						orchestration(ctx);

-					}

-

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseinsert {
+	protected static String nl;
+
+	public static synchronized TestCaseinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCaseinsert result = new TestCaseinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public TestCaseinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genClassParameter : genClassList) {
+			for (Object genPackageParameter : genPackageList) {
+				for (Object genModelParameter : genModelList) {
+
+					this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+					this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+					this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+					if (preCondition(ctx)) {
+						ctx.setNode(new Node.Container(currentNode, getClass()));
+						orchestration(ctx);
+					}
+
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureTODOoverride.java
index b187f94..e6db55e 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureTODOoverride.java
@@ -1,149 +1,149 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCaseisSetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized TestCaseisSetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCaseisSetGenFeatureTODOoverride result = new TestCaseisSetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this test method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL;

-

-	public TestCaseisSetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(TEXT_3);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseisSetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized TestCaseisSetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCaseisSetGenFeatureTODOoverride result = new TestCaseisSetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this test method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL;
+
+	public TestCaseisSetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(TEXT_3);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureannotationsinsert.java
index 8757b21..d33fbf3 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureannotationsinsert.java
@@ -1,146 +1,146 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCaseisSetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized TestCaseisSetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCaseisSetGenFeatureannotationsinsert result = new TestCaseisSetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public TestCaseisSetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseisSetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized TestCaseisSetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCaseisSetGenFeatureannotationsinsert result = new TestCaseisSetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public TestCaseisSetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureoverride.java
index ba3033b..66e599b 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseisSetGenFeatureoverride.java
@@ -1,214 +1,214 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCaseisSetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized TestCaseisSetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCaseisSetGenFeatureoverride result = new TestCaseisSetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";

-	protected final String TEXT_2 = "#isSet";

-	protected final String TEXT_3 = "() <em>isSet";

-	protected final String TEXT_4 = "()</em>}' method." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

-	protected final String TEXT_5 = "#isSet";

-	protected final String TEXT_6 = "()" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_7 = NL;

-	protected final String TEXT_8 = NL + "\tpublic void testIsSet";

-	protected final String TEXT_9 = "()" + NL + "\t{";

-	protected final String TEXT_10 = NL;

-	protected final String TEXT_11 = NL + "\t}" + NL;

-	protected final String TEXT_12 = NL;

-	protected final String TEXT_13 = NL;

-

-	public TestCaseisSetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(TEXT_13);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_6);

-		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/isSetGenFeature.annotations.insert.javajetinc

-			stringBuffer.append(TEXT_7);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1CMDcGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-		}

-		stringBuffer.append(TEXT_8);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_9);

-		stringBuffer.append(TEXT_10);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1Ce-YGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		//TestCase/isSetGenFeature.todo.override.javajetinc

-		stringBuffer.append(TEXT_11);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseisSetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized TestCaseisSetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCaseisSetGenFeatureoverride result = new TestCaseisSetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";
+	protected final String TEXT_2 = "#isSet";
+	protected final String TEXT_3 = "() <em>isSet";
+	protected final String TEXT_4 = "()</em>}' method." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+	protected final String TEXT_5 = "#isSet";
+	protected final String TEXT_6 = "()" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_7 = NL;
+	protected final String TEXT_8 = NL + "\tpublic void testIsSet";
+	protected final String TEXT_9 = "()" + NL + "\t{";
+	protected final String TEXT_10 = NL;
+	protected final String TEXT_11 = NL + "\t}" + NL;
+	protected final String TEXT_12 = NL;
+	protected final String TEXT_13 = NL;
+
+	public TestCaseisSetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(TEXT_13);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_6);
+		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/isSetGenFeature.annotations.insert.javajetinc
+			stringBuffer.append(TEXT_7);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1CMDcGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+		}
+		stringBuffer.append(TEXT_8);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_9);
+		stringBuffer.append(TEXT_10);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.isSetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1Ce-YGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		//TestCase/isSetGenFeature.todo.override.javajetinc
+		stringBuffer.append(TEXT_11);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureTODOoverride.java
index 5d137a4..bdb3164 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureTODOoverride.java
@@ -1,149 +1,149 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCasesetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized TestCasesetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCasesetGenFeatureTODOoverride result = new TestCasesetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this feature setter test method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL;

-

-	public TestCasesetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(TEXT_3);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasesetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized TestCasesetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCasesetGenFeatureTODOoverride result = new TestCasesetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this feature setter test method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL;
+
+	public TestCasesetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(TEXT_3);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureannotationsinsert.java
index 5ed753c..08a3f1f 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureannotationsinsert.java
@@ -1,146 +1,146 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCasesetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized TestCasesetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCasesetGenFeatureannotationsinsert result = new TestCasesetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public TestCasesetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasesetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized TestCasesetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCasesetGenFeatureannotationsinsert result = new TestCasesetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public TestCasesetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureoverride.java
index 3dd8c7c..ee5c35c 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCasesetGenFeatureoverride.java
@@ -1,220 +1,220 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCasesetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized TestCasesetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCasesetGenFeatureoverride result = new TestCasesetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";

-	protected final String TEXT_2 = "#set";

-	protected final String TEXT_3 = "(";

-	protected final String TEXT_4 = ") <em>";

-	protected final String TEXT_5 = "</em>}' feature setter." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

-	protected final String TEXT_6 = "#set";

-	protected final String TEXT_7 = "(";

-	protected final String TEXT_8 = ")" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_9 = NL;

-	protected final String TEXT_10 = NL + "\tpublic void testSet";

-	protected final String TEXT_11 = "()" + NL + "\t{";

-	protected final String TEXT_12 = NL;

-	protected final String TEXT_13 = NL + "\t}" + NL;

-	protected final String TEXT_14 = NL;

-	protected final String TEXT_15 = NL;

-

-	public TestCasesetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_14);

-		stringBuffer.append(TEXT_15);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getRawBoundType());

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getFormattedName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_6);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_7);

-		stringBuffer.append(genFeature.getRawBoundType());

-		stringBuffer.append(TEXT_8);

-		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/setGenFeature.annotations.insert.javajetinc

-			stringBuffer.append(TEXT_9);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-wU8GJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-		}

-		stringBuffer.append(TEXT_10);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_11);

-		stringBuffer.append(TEXT_12);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-6F8GJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		//TestCase/setGenFeature.todo.override.javajetinc

-		stringBuffer.append(TEXT_13);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCasesetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized TestCasesetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCasesetGenFeatureoverride result = new TestCasesetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";
+	protected final String TEXT_2 = "#set";
+	protected final String TEXT_3 = "(";
+	protected final String TEXT_4 = ") <em>";
+	protected final String TEXT_5 = "</em>}' feature setter." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+	protected final String TEXT_6 = "#set";
+	protected final String TEXT_7 = "(";
+	protected final String TEXT_8 = ")" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_9 = NL;
+	protected final String TEXT_10 = NL + "\tpublic void testSet";
+	protected final String TEXT_11 = "()" + NL + "\t{";
+	protected final String TEXT_12 = NL;
+	protected final String TEXT_13 = NL + "\t}" + NL;
+	protected final String TEXT_14 = NL;
+	protected final String TEXT_15 = NL;
+
+	public TestCasesetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_14);
+		stringBuffer.append(TEXT_15);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getRawBoundType());
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getFormattedName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_6);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_7);
+		stringBuffer.append(genFeature.getRawBoundType());
+		stringBuffer.append(TEXT_8);
+		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/setGenFeature.annotations.insert.javajetinc
+			stringBuffer.append(TEXT_9);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-wU8GJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+		}
+		stringBuffer.append(TEXT_10);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_11);
+		stringBuffer.append(TEXT_12);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.setGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_0-6F8GJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		//TestCase/setGenFeature.todo.override.javajetinc
+		stringBuffer.append(TEXT_13);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureTODOoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureTODOoverride.java
index c047c1f..417f61d 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureTODOoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureTODOoverride.java
@@ -1,149 +1,149 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCaseunsetGenFeatureTODOoverride {

-	protected static String nl;

-

-	public static synchronized TestCaseunsetGenFeatureTODOoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCaseunsetGenFeatureTODOoverride result = new TestCaseunsetGenFeatureTODOoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + "\t\t// TODO: implement this test method" + NL

-			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;

-	protected final String TEXT_2 = NL;

-	protected final String TEXT_3 = NL;

-

-	public TestCaseunsetGenFeatureTODOoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(TEXT_3);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseunsetGenFeatureTODOoverride {
+	protected static String nl;
+
+	public static synchronized TestCaseunsetGenFeatureTODOoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCaseunsetGenFeatureTODOoverride result = new TestCaseunsetGenFeatureTODOoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + "\t\t// TODO: implement this test method" + NL
+			+ "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tfail();" + NL;
+	protected final String TEXT_2 = NL;
+	protected final String TEXT_3 = NL;
+
+	public TestCaseunsetGenFeatureTODOoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(TEXT_3);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureannotationsinsert.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureannotationsinsert.java
index 7f17939..f6a5651 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureannotationsinsert.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureannotationsinsert.java
@@ -1,146 +1,146 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCaseunsetGenFeatureannotationsinsert {

-	protected static String nl;

-

-	public static synchronized TestCaseunsetGenFeatureannotationsinsert create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCaseunsetGenFeatureannotationsinsert result = new TestCaseunsetGenFeatureannotationsinsert();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = "";

-	protected final String TEXT_2 = NL;

-

-	public TestCaseunsetGenFeatureannotationsinsert() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(TEXT_2);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseunsetGenFeatureannotationsinsert {
+	protected static String nl;
+
+	public static synchronized TestCaseunsetGenFeatureannotationsinsert create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCaseunsetGenFeatureannotationsinsert result = new TestCaseunsetGenFeatureannotationsinsert();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = "";
+	protected final String TEXT_2 = NL;
+
+	public TestCaseunsetGenFeatureannotationsinsert() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(TEXT_2);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureoverride.java b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureoverride.java
index 09c87f8..17bf799 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureoverride.java
+++ b/portfolio/org.eclipse.egf.emf.pattern/generated/org/eclipse/egf/emf/pattern/tests/call/TestCase/TestCaseunsetGenFeatureoverride.java
@@ -1,214 +1,214 @@
-//Generated with EGF 1.2.0.qualifier

-package org.eclipse.egf.emf.pattern.tests.call.TestCase;

-

-import org.eclipse.egf.emf.pattern.base.*;

-import org.eclipse.emf.codegen.ecore.genmodel.*;

-import org.eclipse.emf.codegen.ecore.genmodel.impl.*;

-import org.eclipse.emf.codegen.ecore.genmodel.generator.*;

-import org.eclipse.emf.codegen.util.*;

-import org.eclipse.emf.ecore.util.*;

-import org.eclipse.emf.common.util.*;

-import org.eclipse.egf.common.helper.*;

-import java.util.*;

-import org.eclipse.emf.ecore.*;

-import org.eclipse.egf.model.pattern.*;

-import org.eclipse.egf.pattern.execution.*;

-import org.eclipse.egf.pattern.query.*;

-

-public class TestCaseunsetGenFeatureoverride {

-	protected static String nl;

-

-	public static synchronized TestCaseunsetGenFeatureoverride create(String lineSeparator) {

-		nl = lineSeparator;

-		TestCaseunsetGenFeatureoverride result = new TestCaseunsetGenFeatureoverride();

-		nl = null;

-		return result;

-	}

-

-	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;

-	protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";

-	protected final String TEXT_2 = "#unset";

-	protected final String TEXT_3 = "() <em>unset";

-	protected final String TEXT_4 = "()</em>}' method." + NL + "\t * <!-- begin-user-doc -->" + NL

-			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";

-	protected final String TEXT_5 = "#unset";

-	protected final String TEXT_6 = "()" + NL + "\t * @generated" + NL + "\t */";

-	protected final String TEXT_7 = NL;

-	protected final String TEXT_8 = NL + "\tpublic void testUnset";

-	protected final String TEXT_9 = "()" + NL + "\t{";

-	protected final String TEXT_10 = NL;

-	protected final String TEXT_11 = NL + "\t}" + NL;

-	protected final String TEXT_12 = NL;

-	protected final String TEXT_13 = NL;

-

-	public TestCaseunsetGenFeatureoverride() {

-		//Here is the constructor

-		StringBuffer stringBuffer = new StringBuffer();

-

-		// add initialisation of the pattern variables (declaration has been already done).

-

-	}

-

-	public String generate(Object argument) throws Exception {

-		final StringBuffer stringBuffer = new StringBuffer();

-

-		InternalPatternContext ctx = (InternalPatternContext) argument;

-		Map<String, String> queryCtx = null;

-		IQuery.ParameterDescription paramDesc = null;

-		Node.Container currentNode = ctx.getNode();

-

-		List<Object> genFeatureList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genClassList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genPackageList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-		List<Object> genModelList = null;

-		//this pattern can only be called by another (i.e. it's not an entry point in execution)

-

-		for (Object genFeatureParameter : genFeatureList) {

-			for (Object genClassParameter : genClassList) {

-				for (Object genPackageParameter : genPackageList) {

-					for (Object genModelParameter : genModelList) {

-

-						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;

-						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;

-						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;

-						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;

-

-						if (preCondition(ctx)) {

-							ctx.setNode(new Node.Container(currentNode, getClass()));

-							orchestration(ctx);

-						}

-

-					}

-				}

-			}

-		}

-		ctx.setNode(currentNode);

-		if (ctx.useReporter()) {

-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

-		}

-

-		stringBuffer.append(TEXT_12);

-		stringBuffer.append(TEXT_13);

-		return stringBuffer.toString();

-	}

-

-	public String orchestration(PatternContext ctx) throws Exception {

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-

-		method_doGenerate(new StringBuffer(), ictx);

-

-		if (ictx.useReporter()) {

-			Map<String, Object> parameterValues = new HashMap<String, Object>();

-			parameterValues.put("genFeature", this.genFeature);

-			parameterValues.put("genClass", this.genClass);

-			parameterValues.put("genPackage", this.genPackage);

-			parameterValues.put("genModel", this.genModel);

-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

-		}

-		return null;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;

-

-	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {

-		this.genFeature = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;

-

-	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {

-		this.genClass = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;

-

-	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {

-		this.genPackage = object;

-	}

-

-	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;

-

-	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {

-		this.genModel = object;

-	}

-

-	public Map<String, Object> getParameters() {

-		final Map<String, Object> parameters = new HashMap<String, Object>();

-		parameters.put("genFeature", this.genFeature);

-		parameters.put("genClass", this.genClass);

-		parameters.put("genPackage", this.genPackage);

-		parameters.put("genModel", this.genModel);

-		return parameters;

-	}

-

-	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

-

-		stringBuffer.append(TEXT_1);

-		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_2);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_3);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_4);

-		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());

-		stringBuffer.append(TEXT_5);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_6);

-		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/unsetGenFeature.annotations.insert.javajetinc

-			stringBuffer.append(TEXT_7);

-			{

-				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-				InternalPatternContext ictx = (InternalPatternContext) ctx;

-				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-				stringBuffer.setLength(0);

-

-				final Map<String, Object> callParameters = new HashMap<String, Object>();

-				callParameters.put("genFeature", genFeature);

-				callParameters.put("genClass", genClass);

-				callParameters.put("genPackage", genPackage);

-				callParameters.put("genModel", genModel);

-				CallHelper.executeWithParameterInjection(

-						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1BcckGJ-Ed-FqczH3ESmRw",

-						new ExecutionContext((InternalPatternContext) ctx), callParameters);

-				stringBuffer.setLength(0);

-			}

-

-		}

-		stringBuffer.append(TEXT_8);

-		stringBuffer.append(genFeature.getAccessorName());

-		stringBuffer.append(TEXT_9);

-		stringBuffer.append(TEXT_10);

-		{

-			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>

-

-			InternalPatternContext ictx = (InternalPatternContext) ctx;

-			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());

-			stringBuffer.setLength(0);

-

-			final Map<String, Object> callParameters = new HashMap<String, Object>();

-			callParameters.put("genFeature", genFeature);

-			callParameters.put("genClass", genClass);

-			callParameters.put("genPackage", genPackage);

-			callParameters.put("genModel", genModel);

-			CallHelper.executeWithParameterInjection(

-					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1BlmgGJ-Ed-FqczH3ESmRw",

-					new ExecutionContext((InternalPatternContext) ctx), callParameters);

-			stringBuffer.setLength(0);

-		}

-

-		//TestCase/unsetGenFeature.todo.override.javajetinc

-		stringBuffer.append(TEXT_11);

-		InternalPatternContext ictx = (InternalPatternContext) ctx;

-		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());

-	}

-

-	public boolean preCondition(PatternContext ctx) throws Exception {

-		return true;

-	}

+//Generated with EGF 1.3.0.qualifier
+package org.eclipse.egf.emf.pattern.tests.call.TestCase;
+
+import org.eclipse.egf.emf.pattern.base.*;
+import org.eclipse.emf.codegen.ecore.genmodel.*;
+import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
+import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
+import org.eclipse.emf.codegen.util.*;
+import org.eclipse.emf.ecore.util.*;
+import org.eclipse.emf.common.util.*;
+import org.eclipse.egf.common.helper.*;
+import java.util.*;
+import org.eclipse.emf.ecore.*;
+import org.eclipse.egf.model.pattern.*;
+import org.eclipse.egf.pattern.execution.*;
+import org.eclipse.egf.pattern.query.*;
+
+public class TestCaseunsetGenFeatureoverride {
+	protected static String nl;
+
+	public static synchronized TestCaseunsetGenFeatureoverride create(String lineSeparator) {
+		nl = lineSeparator;
+		TestCaseunsetGenFeatureoverride result = new TestCaseunsetGenFeatureoverride();
+		nl = null;
+		return result;
+	}
+
+	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+	protected final String TEXT_1 = NL + NL + "\t/**" + NL + "\t * Tests the '{@link ";
+	protected final String TEXT_2 = "#unset";
+	protected final String TEXT_3 = "() <em>unset";
+	protected final String TEXT_4 = "()</em>}' method." + NL + "\t * <!-- begin-user-doc -->" + NL
+			+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
+	protected final String TEXT_5 = "#unset";
+	protected final String TEXT_6 = "()" + NL + "\t * @generated" + NL + "\t */";
+	protected final String TEXT_7 = NL;
+	protected final String TEXT_8 = NL + "\tpublic void testUnset";
+	protected final String TEXT_9 = "()" + NL + "\t{";
+	protected final String TEXT_10 = NL;
+	protected final String TEXT_11 = NL + "\t}" + NL;
+	protected final String TEXT_12 = NL;
+	protected final String TEXT_13 = NL;
+
+	public TestCaseunsetGenFeatureoverride() {
+		//Here is the constructor
+		StringBuffer stringBuffer = new StringBuffer();
+
+		// add initialisation of the pattern variables (declaration has been already done).
+
+	}
+
+	public String generate(Object argument) throws Exception {
+		final StringBuffer stringBuffer = new StringBuffer();
+
+		InternalPatternContext ctx = (InternalPatternContext) argument;
+		Map<String, String> queryCtx = null;
+		IQuery.ParameterDescription paramDesc = null;
+		Node.Container currentNode = ctx.getNode();
+
+		List<Object> genFeatureList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genClassList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genPackageList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+		List<Object> genModelList = null;
+		//this pattern can only be called by another (i.e. it's not an entry point in execution)
+
+		for (Object genFeatureParameter : genFeatureList) {
+			for (Object genClassParameter : genClassList) {
+				for (Object genPackageParameter : genPackageList) {
+					for (Object genModelParameter : genModelList) {
+
+						this.genFeature = (org.eclipse.emf.codegen.ecore.genmodel.GenFeature) genFeatureParameter;
+						this.genClass = (org.eclipse.emf.codegen.ecore.genmodel.GenClass) genClassParameter;
+						this.genPackage = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) genPackageParameter;
+						this.genModel = (org.eclipse.emf.codegen.ecore.genmodel.GenModel) genModelParameter;
+
+						if (preCondition(ctx)) {
+							ctx.setNode(new Node.Container(currentNode, getClass()));
+							orchestration(ctx);
+						}
+
+					}
+				}
+			}
+		}
+		ctx.setNode(currentNode);
+		if (ctx.useReporter()) {
+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
+		}
+
+		stringBuffer.append(TEXT_12);
+		stringBuffer.append(TEXT_13);
+		return stringBuffer.toString();
+	}
+
+	public String orchestration(PatternContext ctx) throws Exception {
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+
+		method_doGenerate(new StringBuffer(), ictx);
+
+		if (ictx.useReporter()) {
+			Map<String, Object> parameterValues = new HashMap<String, Object>();
+			parameterValues.put("genFeature", this.genFeature);
+			parameterValues.put("genClass", this.genClass);
+			parameterValues.put("genPackage", this.genPackage);
+			parameterValues.put("genModel", this.genModel);
+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
+		}
+		return null;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenFeature genFeature = null;
+
+	public void set_genFeature(org.eclipse.emf.codegen.ecore.genmodel.GenFeature object) {
+		this.genFeature = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenClass genClass = null;
+
+	public void set_genClass(org.eclipse.emf.codegen.ecore.genmodel.GenClass object) {
+		this.genClass = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenPackage genPackage = null;
+
+	public void set_genPackage(org.eclipse.emf.codegen.ecore.genmodel.GenPackage object) {
+		this.genPackage = object;
+	}
+
+	protected org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel = null;
+
+	public void set_genModel(org.eclipse.emf.codegen.ecore.genmodel.GenModel object) {
+		this.genModel = object;
+	}
+
+	public Map<String, Object> getParameters() {
+		final Map<String, Object> parameters = new HashMap<String, Object>();
+		parameters.put("genFeature", this.genFeature);
+		parameters.put("genClass", this.genClass);
+		parameters.put("genPackage", this.genPackage);
+		parameters.put("genModel", this.genModel);
+		return parameters;
+	}
+
+	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {
+
+		stringBuffer.append(TEXT_1);
+		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_2);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_3);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_4);
+		stringBuffer.append(genFeature.getGenClass().getQualifiedInterfaceName());
+		stringBuffer.append(TEXT_5);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_6);
+		if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) { //TestCase/unsetGenFeature.annotations.insert.javajetinc
+			stringBuffer.append(TEXT_7);
+			{
+				//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.annotations.insert" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+				InternalPatternContext ictx = (InternalPatternContext) ctx;
+				new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+				stringBuffer.setLength(0);
+
+				final Map<String, Object> callParameters = new HashMap<String, Object>();
+				callParameters.put("genFeature", genFeature);
+				callParameters.put("genClass", genClass);
+				callParameters.put("genPackage", genPackage);
+				callParameters.put("genModel", genModel);
+				CallHelper.executeWithParameterInjection(
+						"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1BcckGJ-Ed-FqczH3ESmRw",
+						new ExecutionContext((InternalPatternContext) ctx), callParameters);
+				stringBuffer.setLength(0);
+			}
+
+		}
+		stringBuffer.append(TEXT_8);
+		stringBuffer.append(genFeature.getAccessorName());
+		stringBuffer.append(TEXT_9);
+		stringBuffer.append(TEXT_10);
+		{
+			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.tests.call.TestCase.TestCase.unsetGenFeature.TODO.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel"%>
+
+			InternalPatternContext ictx = (InternalPatternContext) ctx;
+			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
+			stringBuffer.setLength(0);
+
+			final Map<String, Object> callParameters = new HashMap<String, Object>();
+			callParameters.put("genFeature", genFeature);
+			callParameters.put("genClass", genClass);
+			callParameters.put("genPackage", genPackage);
+			callParameters.put("genModel", genModel);
+			CallHelper.executeWithParameterInjection(
+					"platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_1BlmgGJ-Ed-FqczH3ESmRw",
+					new ExecutionContext((InternalPatternContext) ctx), callParameters);
+			stringBuffer.setLength(0);
+		}
+
+		//TestCase/unsetGenFeature.todo.override.javajetinc
+		stringBuffer.append(TEXT_11);
+		InternalPatternContext ictx = (InternalPatternContext) ctx;
+		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
+	}
+
+	public boolean preCondition(PatternContext ctx) throws Exception {
+		return true;
+	}
 }
\ No newline at end of file
diff --git a/portfolio/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt b/portfolio/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt
index 53c61d6..1cf2f69 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt
+++ b/portfolio/org.eclipse.egf.emf.pattern/templates/pattern._Pe_jUDG0Ed-kc8dEZsdm2w/method._Pe_jWTG0Ed-kc8dEZsdm2w.pt
@@ -193,7 +193,7 @@
 	 */
 	<%if (genModel.isPublicConstructors()) {%>public<%} else {%>protected<%}%> <%=genClass.getClassName()%>()
 	{
-<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.egfCustom.constructor.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		super();
   <%for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {%>
 		<%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG<%if (!genFeature.isBooleanType()) {%>_DEFAULT<%}%>;
   <%}%>
@@ -683,8 +683,8 @@
 	{
 		switch (operationID<%=negativeOperationOffsetCorrection%>)
 		{
-<%for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) { List<GenParameter> genParameters = genOperation.getGenParameters(); int size = genParameters.size();  boolean hasCheckedException = genOperation.hasCheckedException(); String indent = hasCheckedException ? "\t" : "";%>
-			case <%=genClass.getQualifiedOperationID(genOperation)%>:
+<%for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) { List<GenParameter> genParameters = genOperation.getGenParameters(); int size = genParameters.size();  boolean hasCheckedException = genOperation.hasCheckedException(); String indent = hasCheckedException ? "\t" : ""; GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+			case <%=genClass.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation)%>:
   <%if (hasCheckedException) {%>
 				try
 				{
diff --git a/portfolio/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt b/portfolio/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt
index 61f26e2..6294ab2 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt
+++ b/portfolio/org.eclipse.egf.emf.pattern/templates/pattern._Pg8EEDG0Ed-kc8dEZsdm2w/method._Pg8EGTG0Ed-kc8dEZsdm2w.pt
@@ -193,7 +193,7 @@
 	 */
 	<%if (genModel.isPublicConstructors()) {%>public<%} else {%>protected<%}%> <%=genClass.getClassName()%>()
 	{
-<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Interface.Interface.egfCustom.constructor.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isJDK50:isJDK50,isInterface:isInterface,isImplementation:isImplementation,isGWT:isGWT,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection,negativeOperationOffsetCorrection:negativeOperationOffsetCorrection,positiveOperationOffsetCorrection:positiveOperationOffsetCorrection"%>
+		super();
   <%for (GenFeature genFeature : genClass.getFlagGenFeaturesWithDefault()) {%>
 		<%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG<%if (!genFeature.isBooleanType()) {%>_DEFAULT<%}%>;
   <%}%>
@@ -683,8 +683,8 @@
 	{
 		switch (operationID<%=negativeOperationOffsetCorrection%>)
 		{
-<%for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) { List<GenParameter> genParameters = genOperation.getGenParameters(); int size = genParameters.size();  boolean hasCheckedException = genOperation.hasCheckedException(); String indent = hasCheckedException ? "\t" : "";%>
-			case <%=genClass.getQualifiedOperationID(genOperation)%>:
+<%for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) { List<GenParameter> genParameters = genOperation.getGenParameters(); int size = genParameters.size();  boolean hasCheckedException = genOperation.hasCheckedException(); String indent = hasCheckedException ? "\t" : ""; GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);%>
+			case <%=genClass.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation)%>:
   <%if (hasCheckedException) {%>
 				try
 				{
diff --git a/portfolio/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt b/portfolio/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt
index 74d1840..80a687d 100644
--- a/portfolio/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt
+++ b/portfolio/org.eclipse.egf.emf.pattern/templates/pattern._Pmc2MDG0Ed-kc8dEZsdm2w/method._PmmAJzG0Ed-kc8dEZsdm2w.pt
@@ -663,7 +663,7 @@
 										{
 											if ((delta.getFlags() & IResourceDelta.MARKERS) != 0)
 											{
-												<%=_DiagnosticDecorator%>.DiagnosticAdapter.update(resource, markerHelper.getMarkerDiagnostics(resource, (IFile)delta.getResource()));
+												<%=_DiagnosticDecorator%>.DiagnosticAdapter.update(resource, markerHelper.getMarkerDiagnostics(resource, (IFile)delta.getResource()<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF211_VALUE) {%>, false<%}%>));
 											}
 											if ((delta.getFlags() & IResourceDelta.CONTENT) != 0)
 											{
@@ -1251,7 +1251,9 @@
 	 */
 	public void createModel()
 	{
-<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {%>
+<%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF211_VALUE) {%>
+		URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter());
+<%} else if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF23_VALUE) {%>
 		URI resourceURI = EditUIUtil.getURI(getEditorInput());
 <%} else if (genModel.isRichClientPlatform()) {%>
 		URI resourceURI = URI.createURI(getEditorInput().getName());
@@ -1292,11 +1294,12 @@
 	 */
 	public Diagnostic analyzeResourceProblems(Resource resource, Exception exception)
 	{
-		if (!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty())
+		boolean hasErrors = !resource.getErrors().isEmpty();
+		if (hasErrors || !resource.getWarnings().isEmpty())
 		{
 			BasicDiagnostic basicDiagnostic =
 				new BasicDiagnostic
-					(Diagnostic.ERROR,
+					(hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING,
 					 "<%=genPackage.getGenModel().getEditorPluginID()%>",<%=genModel.getNonNLS()%>
 					 0,
 					 getString("_UI_CreateModelError_message", resource.getURI()),<%=genModel.getNonNLS()%>